@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Hammersmith+One&family=Lexend+Deca:wght@100..900&family=Noto+Sans+JP:wght@100..900&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

html {
	scroll-behavior: smooth;
}

body {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 500;
	background-color: #FFFFFF;
	font-size: 16px;
	line-height: 1.6;
	color: #666;
}

body.drawer-open {
	overflow: initial !important;
}

img {
	width: 100%;
	display: block;
}

a {
	color: #666;
	transition: all .7s;
}

a:hover {
	opacity: .7;
}

.swiper {
	transition: all .6s;
}

.swiper.swiper-initialized,
.swiper.swiper-container-initialized {
	display: block;
}

.inner {
	max-width: 1600px;
	width: calc(100% - 80px);
	margin: 0 auto;
	position: relative;
}

.sp {
	display: none;
}

.abs {
	position: absolute;
}

.flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.reverse {
	flex-direction: row-reverse;
}

.noto {
	font-family: "Noto Sans JP", sans-serif;
}

.lex {
	font-family: "Lexend Deca", sans-serif;
}

.hama {
	font-family: "Hammersmith One", sans-serif;
	font-weight: 400;
	font-style: normal;
}

.mont {
	font-family: "Montserrat", sans-serif;
}

.wrapper {
	overflow: hidden;
}

.op-active {
	opacity: 1 !important;
	filter: blur(0) !important;
}

.js-fade {
	transform: translateZ(0);
	filter: blur(7px);
	opacity: 0;
	transition: all 1.3s cubic-bezier(.165, .84, .44, 1);
	transition-property: opacity, filter;
	transition-timing-function: cubic-bezier(.165, .84, .44, 1);
	will-change: auto;
}

.scroll {
	opacity: 1;
	filter: blur(0);
}

.deactive {
	opacity: 0;
	transition: all 0.6s ease;
}

.active {
	opacity: 1;
}

header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 10;
	background: #fff;
	transition: all .7s;
}

.header-inner {
	padding-block: 20px;
	width: 100%;
	width: calc(100% - 120px);
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.header-inner {
	position: relative;
	z-index: 3;
}

.header-logo {
	width: 300px;
}

.header-menu {
	max-width: 620px;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.contact-btn {
	width: 125px;
}

.contact-btn a {
	display: flex;
	align-items: center;
	width: 100%;
}

.contact-btn a img {
	width: 15px;
	margin-right: 7.5px;
}

.contact-btn a p {
	font-size: 15px;
	font-weight: 600;
	color: #000000;
}

.header-menu nav {
	width: calc(100% - 150px);
	border-right: 1px solid #DCDCDC;
	padding-right: 30px;
}

.header-menu nav ul {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
}

.header-menu nav ul li a {
	display: block;
}

.header-menu nav ul li:nth-child(1) a {
	padding-left: 0;
}

.header-menu nav ul li:last-child a {
	padding-right: 0;
}

.header-menu nav ul li a p {
	font-size: 15px;
	font-weight: 600;
	display: block;
	color: #000;
}

.header-menu nav ul li a span {
	font-size: 11px;
	color: #0B54CE;
	letter-spacing: .11em;
	display: block;
	font-weight: 600;
}

.mv {
	background-image: url(../img/top/bg_parts.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	height: 100vh;
	overflow: hidden;
	position: relative;
}

.mv-flex {
	width: calc(100% - 200px);
	margin: 0 auto;
	align-items: initial;
	position: relative;
	z-index: 1;
	padding-left: 5%;
}

.mv-flex-left {
	width: calc(50% - 50px);
	position: relative;
	height: 100vh;
}

.mv-flex-right {
	width: calc(45% - 50px);
}

.mv-flex-right-images ul {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 40px 30px;
}

.mv-flex-right-images ul li.two img:nth-child(1) {
	margin-bottom: 15px;
}

.mv-flex-right-imag-vel {
	position: relative;
	height: 100vh;
	overflow: hidden;
}

.marquee-inner {
	display: flex;
	flex-direction: column;
	animation: vertical-loop 20s linear infinite;
}

.marquee-inner img {
	width: 100%;
	height: auto;
	margin-bottom: 20px;
}

/* 複製をループ用に上下連結 */
@keyframes vertical-loop {
	0% {
		transform: translateY(0%);
	}

	100% {
		transform: translateY(-50%);
	}
}

.mv-flex-left-title {
	top: 45%;
	left: 0%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	position: absolute;
}

.mv-flex-left-title h2 {
	font-size: 81px;
	font-weight: 700;
	padding-bottom: 45px;
	background: linear-gradient(135deg, #F82D6B, #2CCBFF);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: transparent;
	line-height: 1.2;
}

.mv-flex-left-title p {
	font-size: 24px;
	font-weight: 500;
}

.news-box {
	position: absolute;
	width: 100%;
	bottom: 0;
	left: 0;
	background: #fff;
	display: flex;
	padding: 45px 50px 20px;
	justify-content: space-between;
	border-top-left-radius: 25px;
	border-top-right-radius: 25px;
}

.news-box-title {
	width: 100px;
}

.news-box-title p {
	font-size: 32px;
	font-weight: 700;
}

.news-box-title h2 {
	font-size: 14px;
	font-weight: 500;
}

.news-box-list {
	width: calc(100% - 150px);
}

.news-box-list ul li a {
	display: flex;
	align-items: center;
	padding-bottom: 12.5px;
	margin-bottom: 25px;
	border-bottom: 1px solid #7A7A7A;
	position: relative;
	padding-right: 30px;
}

.news-box-list ul li:last-child a {
	margin-bottom: 0;
}

.news-box-list ul li a p {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.01rem;
	margin-right: 30px;
}

.news-box-list ul li a h3 {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.01rem;
}

.news-box-list ul li a img {
	width: 30px;
	top: 47.5%;
	right: 0;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transition: all .7s;
	position: absolute;
}

.news-box-list ul li a:hover img {
	right: -10px;
}

.bg-parts {
	animation: floatUpDown 3s ease-in-out infinite;
}

.mv-parts01 {
	width: 285px;
	top: -20px;
	left: 40%;
}

.mv-parts02 {
	width: 330px;
	left: -120px;
	bottom: -10px;
}

@keyframes floatUpDown {
	0% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-15px);
	}

	100% {
		transform: translateY(0);
	}
}

.message {
	padding: 120px 0;
	margin-top: 120px;
	position: relative;
}

.cmn-title {
	margin-bottom: 60px;
	text-align: center;
	position: relative;
	z-index: 1;
}

.cmn-title-bar {
	width: 100px;
	height: 6px;
	margin: 0 auto 25px;
	background: linear-gradient(90deg, #E65C00, #F9D423);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.5s ease-out;
}

.cmn-title-bar.active {
	transform: scaleX(1);
}

.cmn-title h2 span {
	font-size: 64px;
	font-weight: 700;
	display: block;
	padding-bottom: 15px;
	color: #373737;
	line-height: 1.3;
}

.cmn-title h2 p {
	font-size: 18px;
	font-weight: 700;
}

.messa-box {
	margin: -150px auto 0;
	max-width: 900px;
	width: 100%;
	position: relative;
	z-index: 1;
	padding: 180px 15px 120px;
	text-align: center;
}

.messa-box::before {
	content: "";
	position: absolute;
	inset: 0;
	padding: 6px;
	/* ボーダーの太さ */
	background: linear-gradient(180deg, #E65C00, #F9D423);
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
}

.message .cmn-title {
	position: relative;
	z-index: 2;
}

.message .cmn-title h2 {
	display: inline-block;
	padding: 0 20px;
	background: #fff;
}

.messa-box p {
	font-size: 16px;
	line-height: 2;
	padding-bottom: 80px;
}

.messa-box p:last-child {
	padding-bottom: 0;
}

.messa-parts01 {
	width: 75px;
	top: -90px;
	left: -150px;
}

.messa-parts02 {
	width: 750px;
	right: -200px;
	top: 0;
}

.messa-parts03 {
	width: 410px;
	bottom: -40px;
	left: 40px;
}

.guitter-parts01 {
	width: 145px;
	right: 40px;
	bottom: -80px;
}

.interview {
	background-image: url(../img/top/interview_bg.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 120px 0 160px;
	position: relative;
}

.interview .cmn-title-bar {
	background: linear-gradient(90deg, #FFE339, #55DBAE);
}

.inter-parts01 {
	width: 600px;
	top: -80px;
	right: 40px;
}

.inter-parts02 {
	width: 350px;
	left: 60px;
	bottom: -40px;
}

.interview-conts .swiper-container {
	overflow: visible;
}

.interview-conts ul li a {
	position: relative;
	background: #fff;
	position: relative;
	border: 4px solid transparent;
	border-image: linear-gradient(180deg, #FFE339, #55DBAE);
	border-image-slice: 1;
	display: block;
}

/* .interview-conts ul li a::before {
	content: "";
	position: absolute;
	inset: 0;
	padding: 4px;
	background: linear-gradient(180deg, #FFE339, #55DBAE);
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
	z-index: 1;
} */
.interview-conts ul li a:hover {
	opacity: 1;
}

.interview-cont-img {
	overflow: hidden;
}

.interview-cont-img img {
	transition: all .7s;
}

.interview-conts ul li a:hover .interview-cont-img img {
	transform: scale(1.1);
}

.interview-cont-txt {
	background: #fff;
}

.interview-cont-txt-inner {
	padding: 30px;
}

.interview-cont-txt-name {
	margin-bottom: 17.5px;
}

.interview-cont-txt-name p {
	font-size: 14px;
	font-weight: 700;
}

.interview-cont-txt-name p.lex {
	font-size: 32px;
	font-weight: 100;
	padding-bottom: 10px;
	line-height: 1;
}

.interview-cont-txt-txt {
	margin-bottom: 15px;
	line-height: 1.5;
	height: 3em;
}

.interview-cont-txt-txt p {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.6;
}

.cmn-btn {
	position: relative;
	max-width: 260px;
	display: block;
	width: 100%;
}

.cmn-btn p {
	text-align: center;
	padding: 23.5px 0;
	font-size: 13px;
	letter-spacing: 0;
	font-weight: 700;
	line-height: 1;
	border: 2px solid #666;
	border-radius: 30px;
	display: block;
	width: 100%;
	position: relative;
	transition: all .7s;
	z-index: 2;
	background: #fff;
}

.cmn-btn::before {
	content: "";
	transition: all .7s;
	background: #55DBAE;
	width: 100%;
	border-radius: 30px;
	height: 100%;
	position: absolute;
	right: -4.5px;
	bottom: -4.5px;
	z-index: 1;
	transition: all .7s;
}

.interview .cmn-btn {
	max-width: 160px;
}

.interview .cmn-btn p {
	padding: 13.5px 0;
}

/* Pagination */
.swiper-pagination {
	position: relative;
	margin-top: 30px;
	text-align: center;
}

.swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	background: #ccc;
	opacity: 1;
	border-radius: 50%;
	display: inline-block;
	margin: 0 5px;
	transition: background 0.3s;
}

.swiper-pagination-bullet-active {
	background: #333;
}

.swiper-button-next,
.swiper-button-prev {
	color: #fff;
	width: 40px;
	height: 40px;
	background: linear-gradient(45deg, #FFE339, #55DBAE);
	border-radius: 50%;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
	display: flex;
	align-items: center;
	justify-content: center;
	top: 50%;
	transform: translateY(-50%);
	position: absolute;
	z-index: 1;
	cursor: pointer;
}

.swiper-button-next::after,
.swiper-button-prev::after {
	font-size: 16px;
	font-weight: 500;
	color: #FFFFFF;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	position: absolute;
}

.swiper-button-prev {
	left: -20px;
}

.swiper-button-next {
	right: -20px;
}

.cmn-btn p:hover {
	transform: translateX(4.5px)translateY(4.5px);
}

.data {
	padding: 140px 0 240px;
	position: relative;
}

.data .cmn-title-bar {
	background: linear-gradient(90deg, #BD54DB, #37F8FF);
}

.data-parts01 {
	width: 400px;
	top: 180px;
	left: 100px;
}

.data-parts02 {
	width: 240px;
	bottom: -20px;
	right: 40px;
}

.data-conts ul {
	display: flex;
	justify-content: space-between;
}

.data-conts ul:nth-child(1) {
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #EBEBEB;
}

.data-conts ul li {
	width: 50%;
	border-right: 1px solid #EBEBEB;
	position: relative;
}

.data-conts ul li:nth-child(1) {
	border-left: 1px solid #EBEBEB;
}

.data-conts ul li.two {
	display: flex;
}

.data-conts ul li.two .data-cont {
	width: 50%;
	display: block;
}

.data-conts ul li.two .data-cont:nth-child(1) {
	border-right: 1px solid #EBEBEB;
}

.data-cont {
	display: flex;
	align-items: center;
	padding: 60px 60px 90px;
}

.data-conts ul:nth-child(1) li:nth-child(1) {
	padding-top: 100px;
}

.data-conts ul li.two .data-cont-img {
	margin: 0 auto 35px;
}

.data-cont-img {
	width: 250px;
	margin-right: 40px;
}

.data-cont-txt h3 {
	font-size: 24px;
	font-weight: 700;
	padding-bottom: 10px;
	color: #37C5B8;
}

.data-conts ul li.two .data-cont:nth-child(1) .data-cont-txt h3 {
	color: #37C5B8;
}

.data-conts ul li.two .data-cont:nth-child(2) .data-cont-txt h3 {
	color: #829EFE;
}

.data-conts ul li:nth-child(1) .data-cont-txt h3 {
	color: #829EFE;
}

.data-conts ul li:nth-child(2) .data-cont-txt h3 {
	color: #FF3ABF;
}

.data-cont-num {
	display: flex;
	align-items: baseline;
	justify-content: center;
}

.data-cont-num p {
	font-size: 148px;
	font-weight: 100;
	line-height: 1;
	padding-right: 5px;
}

.data-cont-num span {
	font-size: 24px;
	font-weight: 500;
}

.data-conts ul li.two .data-cont-num p {
	font-size: 90px;
}

.data-conts ul li.two .data-cont-txt {
	max-width: 100%;
	text-align: center;
	width: 100%;
	margin: 0 auto;
}

.data-cont-caution {
	max-width: 170px;
	width: 100%;
	margin: 0px auto;
}

.data-cont-caution p {
	font-size: 18px;
	font-weight: 700;
}

.data-conts ul li.two .data-cont:nth-child(2) .data-cont-num {
	display: block;
}

.data-conts ul li.two .data-cont:nth-child(2) .data-cont-num span {
	font-size: 14px;
	font-weight: 700;
	text-align: center;
	display: block;
}

.data-conts ul:nth-child(2) li.two:nth-child(1) .data-cont:nth-child(2) .data-cont-num {
	display: flex;
}

.data-conts ul:nth-child(2) li.two:nth-child(1) .data-cont:nth-child(2) .data-cont-num span {
	font-size: 24px;
}

.data-conts ul:nth-child(2) li.two:nth-child(2) .data-cont:nth-child(2) {
	padding-inline: 30px;
}

.data-conts ul:nth-child(2) li.two:nth-child(2) .data-cont:nth-child(2) .data-cont-img {
	padding-top: 90px;
	margin-bottom: 7.5px;
}

.data-conts ul:nth-child(2) li.two:nth-child(2) .data-cont:nth-child(2) .data-cont-num p {
	font-size: 64px;
	white-space: nowrap;
	padding: 0;
}

.data-conts ul:nth-child(2) li.two:nth-child(2) .data-cont:nth-child(2) .data-cont-num p span {
	display: inline-block;
	font-size: 24px;
	padding-right: 5px;
	font-weight: 300;
}

.data-conts ul:nth-child(2) li.two:nth-child(2) .data-cont:nth-child(2) .data-cont-num p small {
	font-size: 60px;
}

.data-conts ul:nth-child(2) li.two:nth-child(2) .data-cont:nth-child(2) .data-cont-num span {
	position: relative;
}

.cat-cont-link {
	bottom: 40px;
	right: 60px;
	display: flex;
	justify-content: right;
	align-items: center;
}

.cat-cont-link span {
	font-size: 20px;
	color: #333333;
}

.cat-cont-link p {
	font-size: 12px;
	color: #333333;
}

.data .cmn-title {
	margin-bottom: 140px;
}

.what {
	background-image: url(../img/top/interview_bg.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 200px 0;
	position: relative;
}

.what-list {
	max-width: 1375px;
	margin: 0 auto 60px;
}

.what-list ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
}

.what-list ul li {
	position: relative;
	background: #fff;
}

.what-list ul li::before {
	content: "";
	position: absolute;
	inset: 0;
	padding: 5px;
	/* ボーダーの太さ */
	background: linear-gradient(180deg, #E65C00, #F9D423);
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
}

.what-list-box {
	padding: 40px;
}

.what-list-box-title {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 20px;
}

.what-list-box-title img {
	width: 40px;
}

.what-list-box-title h3 {
	width: calc(100% - 60px);
	font-size: 24px;
	font-weight: 700;
}

.what-parts01 {
	width: 700px;
	top: 180px;
	left: -150px;
}

.what-parts02 {
	width: 330px;
	right: 100px;
	bottom: 100px;
}

.what-list .what-list-box-list ul {
	display: block;
}

.what-list .what-list-box-list ul li {
	font-size: 18px;
	font-weight: 700;
	padding-bottom: 17.5px;
	line-height: 1.2;
	text-indent: -1em;
	padding-left: 1em;
}

.what-list .what-list-box-list ul li:last-child {
	padding-bottom: 0;
}

.what-list .what-list-box-list ul li::before {
	display: none;
}

.what .cmn-btn {
	margin: 0 auto;
}

.what .cmn-btn p,
.event .cmn-btn p {
	font-size: 20px;
	padding: 20px 0;
	border-radius: 50px;
}

.what .cmn-btn::before {
	background: #F9D423;
}

.support {
	padding: 200px 0 100px;
	position: relative;
}

.support-one {
	background-image: url(../img/top/interview_bg.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.career {
	padding: 200px 0 150px;
	position: relative;
}

.support .cmn-title-bar {
	background: linear-gradient(90deg, #BD54DB, #37F8FF);
}

.support.job .cmn-title-bar {
	background: linear-gradient(90deg, #FFE339, #55DBAE);
}

.support-parts01 {
	width: 600px;
	top: 100px;
	right: 60px;
}

.support-parts02 {
	width: 400px;
	top: 260px;
	left: -30px;
}

.support-parts03 {
	width: 220px;
	bottom: 70px;
	right: 110px;
}

.support-list {
	background: #fff;
	box-shadow: 0px 0px 5px 1px rgba(0, 0, 0, .2);
}

.support-list ul {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}

.support-list ul li {
	padding: 45px;
	border-right: 1px solid #EEEEEE;
	border-bottom: 1px solid #EEEEEE;
}

.support-list ul li:nth-child(4n) {
	border-right: none;
}

.support-list ul li:nth-child(n+5) {
	border-bottom: none;
}

.support-list-box-title {
	margin-bottom: 30px;
}

.support-list-box-title img {
	width: 40px;
	display: block;
	margin-bottom: 20px;
}

.support-list-box-title h3 {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.2;
}

.support-list-box-txt p {
	font-size: 14px;
	font-weight: 700;
	line-height: 2;
}

.career-cont {
	max-width: 1000px;
	margin: 0 auto;
	z-index: 1;
	position: relative;
}

.career-parts01 {
	width: 650px;
	top: 200px;
	left: -140px;
}

.career-parts02 {
	width: 340px;
	bottom: 40px;
	right: 120px;
}

.cmn-txt {
	margin-bottom: 65px;
	padding: 0 50px;
}

.cmn-txt p {
	font-size: 24px;
	line-height: 2;
	font-weight: 500;
}

.career .cmn-txt p {
	font-size: 20px;
}

.career-cont-img {
	margin-left: -60px;
}

.event {
	background-image: url(../img/top/interview_bg.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 200px 0;
	position: relative;
}

.event .cmn-title-bar {
	background: linear-gradient(90deg, #FFE339, #55DBAE);
}

.event-parts01 {
	width: 650px;
	top: -80px;
	left: -100px;
}

.event-parts02 {
	width: 550px;
	bottom: 20px;
	right: -100px;
}

.event .cmn-btn {
	margin: 30px auto 0;
}

.event-list ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0px 50px;
	z-index: 1;
	position: relative;
}

.event-list-img {
	margin-bottom: 20px;
}

.event-list-txt p {
	font-size: 14px;
	color: #999999;
	font-weight: 700;
}

.event-list-txt h3 {
	font-weight: 500;
	font-size: 18px;
	line-height: 1.6;
}

.footer-btns ul {
	display: flex;
}

.footer-btns ul li {
	width: 50%;
}

.footer-btns ul li a {
	width: 100%;
	display: flex;
	padding: 100px 0;
	text-align: center;
	justify-content: center;
	background: linear-gradient(to right, #F82D6B, #2CCBFF);
	background-position: 0% 50%;
	background-size: 200% auto;
	transform: scaleX(0);
	transform-origin: left center;
	transition: all 0.5s ease-out;
}

.footer-btns ul li:nth-child(2) a {
	background: linear-gradient(to right, #FFE339, #55DBAE);
}

.footer-btns ul li a.active {
	transform: scaleX(1);
}

.footer-btns ul li a:hover {
	background-position: 100% 51%;
	opacity: 1;
}

.footer-btns ul li:nth-child(2) a:hover {
	background: linear-gradient(90deg, #FFE339 20%, #55DBAE 80%);
}

.footer-btns ul li a span {
	font-size: 60px;
	font-weight: 400;
	color: #fff;
	margin-right: 50px;
	line-height: 1;
}

.footer-btns ul li a .arrow {
	width: 30px;
	height: 60px;
	position: relative;
}

.footer-btns ul li a .arrow::after {
	content: '';
	width: 30px;
	height: 30px;
	border: 0;
	border-top: solid 5px #fff;
	border-right: solid 5px #fff;
	transform: rotate(45deg);
	position: absolute;
	top: 10px;
	left: 0;
	bottom: 0;
	margin: auto;
	transition: all 0.5s ease-out;
}

.footer-btns ul li a:hover .arrow::after {
	left: 10px;
}

footer,
.tax-event-cat footer,
.post-type-archive-event footer,
.single-event footer {
	padding: 100px 100px 0 !important;
}

.footer-box {
	background: #0B54CE;
}

.footer-top {
	width: 100%;
	padding: 50px 0;
	position: relative;
}

.footer-top-btn {
	width: 12px;
	margin: 0 auto;
	position: relative;
	cursor: pointer;
}

.footer-top-btn:before {
	content: '';
	width: 6px;
	height: 6px;
	border: 0;
	border-top: solid 2px #DAECF9;
	border-right: solid 2px #DAECF9;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%)rotate(-45deg);
	-webkit-transform: translate(-50%, -50%)rotate(-45deg);
	-ms-transform: translate(-50%, -50%)rotate(-45deg);
}

.footer-box-cont {
	max-width: 1400px;
	width: calc(100% - 60px);
	margin: 0px auto;
	padding: 40px 0 100px;
	display: flex;
	color: #DAECF9;
}

.footer-box-left {
	width: 50%;
	padding-right: 60px;
	border-right: 1px solid #DAECF9;
}

.footer-box-right {
	width: 50%;
	padding-left: 60px;
}

.footer-box-left-logo {
	margin-bottom: 40px;
}

.footer-box-left-logo img {
	max-width: 350px;
	width: 100%;
	display: block;
	margin-bottom: 10px;
}

.footer-box-left-logo p {
	font-size: 12px;
	font-weight: 300;
	color: #DAECF9;
}

.footer-menu ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px 30px;
}

.footer-menu ul:nth-child(2) {
	margin-top: 20px;
}

.footer-menu ul li a {
	display: flex;
	align-items: center;
	margin-bottom: 10px;
}

.footer-menu ul li a p {
	font-size: 20px;
	font-weight: 300;
	margin-right: 15px;
	color: #DAECF9;
	line-height: 1;
	white-space: nowrap;
}

.footer-menu ul li a span {
	font-size: 12px;
	font-weight: 300;
	color: #DAECF9;
	white-space: nowrap;
	line-height: 1;
}

.footer-menu ul li ul {
	display: block;
}

.footer-menu ul li ul li a {
	padding-left: 10px;
	position: relative;
	font-size: 13px;
	letter-spacing: .01rem;
	color: #DAECF9;
	line-height: 1;
	display: block;
	margin-bottom: 15px;
}

.footer-menu ul li ul li a::after {
	content: "";
	width: 6px;
	height: 1px;
	background: #DAECF9;
	top: 50%;
	left: 0%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	position: absolute;
}

.footer-contact {
	margin-bottom: 60px;
	display: flex;
	justify-content: space-between;
}

.footer-contact-left {
	width: calc(100% - 120px);
}

.footer-contact-img {
	width: 100px;
	padding-top: 25px;
	position: relative;
	transition: all .7s;
}

.footer-contact:hover .footer-contact-img {
	transform: translateX(10px);
}

.footer-contact-left-title p {
	font-size: 15px;
	color: #DAECF9;
}

.footer-contact-left-title p.flex {
	justify-content: initial;
	margin-bottom: 10px;
	line-height: 1;
}

.footer-contact-left-title p.flex span {
	font-size: 13px;
	font-weight: 300;
	color: #DAECF9;
}

.footer-contact-left-title p.flex span:nth-child(1) {
	margin-right: 5px;
}

.footer-contact-left-title p.hama {
	font-size: 100px;
	font-weight: 400;
	letter-spacing: .02rem;
	line-height: 1;
	color: #DAECF9;
}

.footer-contact-btns ul {
	gap: 0 20px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	align-items: initial;
}

.footer-contact-btns ul li a {
	background: #0568BB;
	padding: 27.5px 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50px;
	margin-bottom: 10px;
	transition: all .7s;
}

.footer-contact-btns ul li a img {
	width: 17.5px;
	margin-right: 10px;
}

.footer-contact-btns ul li a p {
	font-size: 16px;
	font-weight: 500;
	color: #DAECF9;
	letter-spacing: .012rem;
	line-height: 1;
}

.footer-contact-btns ul li p {
	text-align: center;
	font-size: 13px;
	text-align: center;
	font-weight: 400;
}

.pc-copyright {
	padding: 20px 0;
	text-align: center;
}

.pc-copyright p {
	font-size: 15px;
	font-weight: 400;
	color: #666666;
	letter-spacing: .1rem;
}

.what.service .cmn-title-bar {
	background: linear-gradient(90deg, #F82D6B, #2CCBFF);
}

.what.service .what-list ul li::before {
	content: "";
	position: absolute;
	inset: 0;
	padding: 5px;
	background: linear-gradient(180deg, #F82D6B, #2CCBFF);
}

.service-txt {
	max-width: 1000px;
	width: 100%;
	margin: 0 auto 140px;
	position: relative;
	z-index: 1;
}

.what.service .service-parts01 {
	width: 700px;
	top: 100px;
	right: -300px;
}

.what.service .service-parts02 {
	width: 400px;
	left: -180px;
	top: 28%;
}

.what.service .what-list-box-title {
	display: block;
}

.what.service .what-list-box-title img {
	margin-bottom: 5px;
}

.support.job .job-parts01 {
	width: 600px;
	top: 100px;
	right: -150px;
}

.support.job .job-parts02 {
	width: 320px;
	bottom: 17.5%;
	left: -100px;
}

.support.job .support-list {
	margin-bottom: 100px;
}

.support.job .cmn-btn {
	margin: 0 auto;
}

.support.job .cmn-btn p {
	padding: 17.5px 0;
	font-size: 20px;
}

.support.job .support-list-box-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.support.job .support-list-box-title img {
	width: 50px;
	display: block;
	margin-bottom: 0px;
}

.support.job .support-list-box-title h3 {
	width: calc(100% - 60px);
}

.support-list-box-title h3 span {
	font-size: 20px;
}

.ssp {
	display: none;
}

#interview-wrap .interview {
	padding: 0;
	background-image: none;
}

.interview-wrap-cont {
	background-image: url(../img/top/interview_bg.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 0;
	position: relative;
	padding: 100px 0 40px;
}

.interview-cont {
	display: flex;
	justify-content: space-between;
}

.interview-cont.reverse {
	flex-direction: row-reverse;
	padding-top: 60px;
}

.interview-cont-left {
	width: 40%;
	position: relative;
}

.interview-cont-left .inter-parts02 {
	width: 15vw;
	right: -11vw;
	left: initial;
	bottom: -4vw;
}

.inter-parts03 {
	width: 30vw;
	right: -2vw;
	top: 77%;
}

.interview-cont-right {
	width: 57.5%;
	padding-right: 150px;
	position: relative;
	z-index: 2;
}

.reverse .interview-cont-right {
	padding-right: 0;
	padding-left: 150px;
}

.interview-cont-right-title {
	padding-top: 40px;
	margin-bottom: 60px;
}

.interview-cont-right-title span {
	font-size: 16px;
	font-weight: 700;
	padding-bottom: 15px;
}

.interview-cont-right-title h1 {
	font-size: 44px;
	line-height: 1.2;
	font-weight: 700;
}

.interview-cont-right-copy {
	margin-bottom: 60px;
}

.interview-cont-right-copy p {
	font-size: 32px;
	font-weight: 700;
}

.interview-cont-right-txt {
	margin-bottom: 60px;
}

.interview-cont-right-txt:last-child {
	margin-bottom: 0;
}

.interview-cont-right-txt h2 {
	margin-bottom: 30px;
	position: relative;
	padding-left: 100px;
	font-size: 16px;
	font-weight: 700;
}

.interview-cont-right-txt h2::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	width: 80px;
	height: 3px;
	background: linear-gradient(90deg, #FFE339, #55DBAE);
}

.interview-cont-right-txt h3 {
	font-size: 24px;
	font-weight: 700;
	padding-bottom: 15px;
}

.interview-cont-right-txt p {
	font-size: 14px;
	line-height: 2.1;
}

#interview-wrap .inter-parts01 {
	width: 34.5vw;
	top: 7vw;
	right: -8vw;
	z-index: 1;
}

.interview-box {
	border: 1px solid #666666;
	width: calc(100% - 200px);
	margin: 40px auto 120px;
}

.interview-box-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 80px;
}

.interview-box-img {
	width: 380px;
}

.interview-box-txt {
	width: calc(100% - 430px);
}

.interview-box-txt h2 {
	margin-bottom: 30px;
	position: relative;
	padding-left: 100px;
	font-size: 16px;
	font-weight: 700;
}

.interview-box-txt h2::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	width: 80px;
	height: 3px;
	background: linear-gradient(90deg, #FFE339, #55DBAE);
}

.interview-box-txt h3 {
	font-size: 24px;
	font-weight: 700;
	padding-bottom: 15px;
}

.interview-box-txt p {
	font-size: 14px;
	line-height: 2.1;
}

.interview-bottom-box {
	width: calc(100% - 200px);
	margin: 0 auto 140px;
	background: #F5F5F5;
}

.interview-bottom-box-inner {
	padding: 80px 100px;
}

.under-title {
	text-align: center;
	margin-bottom: 40px;
	padding-top: 35px;
	position: relative;
}

.under-title::before {
	width: 80px;
	height: 3px;
	background: linear-gradient(90deg, #FFE339, #55DBAE);
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	position: absolute;
	content: "";
}

.under-title h3 {
	font-weight: 700;
	font-size: 30px;
}

.career-box {
	margin-bottom: 60px;
	background: #fff;
	padding: 15px 40px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.career-box-left {
	width: 80px;
	padding: 20px 0;
	border-right: 1px dashed #DADADA;
}

.career-box-left p {
	font-weight: 100;
	color: #55DBAE;
	line-height: 1;
	font-size: 28px;
}

.career-box-right {
	width: calc(100% - 130px);
}

.career-box-right p {
	font-size: 14px;
	font-weight: 700;
}

.under-title.small {
	margin-bottom: 25px;
	padding-top: 25px;
}

.under-title.small h3 {
	font-size: 24px;
}

.schedule-box {
	background: #fff;
	padding: 40px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 60px;
}

.schedule-box-left,
.schedule-box-right {
	width: 49%;
	position: relative;
}

.schedule-line-wrap {
	position: relative;
}

.schedule-line-wrap::before {
	content: "";
	position: absolute;
	width: 1px;
	height: 90%;
	border-right: 1px dashed #DADADA;
	top: 5%;
	left: 0%;
}

.schedule-line {
	margin-bottom: 45px;
	padding-left: 20px;
	position: relative;
	display: flex;
	align-items: flex-start;
}

.schedule-line::before {
	top: 5%;
	left: -6.5px;
	width: 15px;
	height: 15px;
	border-radius: 50%;
	background: #55DBAE;
	content: "";
	position: absolute;
}

.schedule-line:last-child {
	margin-bottom: 0;
}

.schedule-line span {
	font-size: 18px;
	margin-right: 20px;
	font-weight: 400;
	line-height: 1;
}

.schedule-line p {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.1;
	text-indent: -1em;
	padding-left: 1em;
}

.under-btn a {
	width: 240px;
	height: 50px;
	text-align: center;
	line-height: 49px;
	font-size: 15px;
	font-weight: 400;
	background: #fff;
	border: 1px solid #666666;
	position: relative;
	transition: all .7s;
	letter-spacing: 0;
	display: block;
	margin: 0 auto;
}

.under-btn a::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	width: 20px;
	height: 1px;
	background: #666;
	transition: all .7s;
}

.under-btn a:hover::before {
	right: 10px;
}

.under-layout {
	background: #F2F3F4;
	border-top-left-radius: 20px;
	border-top-right-radius: 20px;
	width: calc(100% - 200px);
	margin: 0 auto;
	position: relative;
	overflow: hidden;
	margin-top: 80px;
}

.under-parts02 {
	width: 40vw;
	left: 0;
	bottom: -2.5vw;
}

.under-parts01 {
	width: 50vw;
	right: 5vw;
	top: -20vw;
}

.page-template-page-privacy footer,
.archive footer,
.page-template-page-contact footer,
.page-template-page-company footer,
.page-template-page-about footer {
	padding: 0 100px 60px !important;
}

.under-box-cont {
	width: calc(100% - 100px);
	margin-left: auto;
	border-top-left-radius: 50px;
	border-bottom-left-radius: 50px;
	background: #fff;
	margin-block: 250px 100px;
	position: relative;
	z-index: 1;
}

.under-box-inner {
	padding: 120px 20px 100px;
	max-width: 1140px;
	margin: 0 auto;
}

#privacy .under-box-inner {
	padding: 200px 20px 100px;
}

.under-box-title {
	position: absolute;
	left: 60px;
	top: -130px;
}

.under-box-title h1 {
	font-size: 32px;
	font-weight: 700;
	color: #666666;
}

.under-box-title p {
	font-size: 120px;
	line-height: .9;
	color: #0060B0;
	font-weight: 700;
}

.privacy-cont {
	margin-bottom: 60px;
	color: #000000;
}

.privacy-cont:last-child {
	margin-bottom: 0;
}

.privacy-cont h2 {
	margin-bottom: 20px;
	font-size: 20px;
	font-weight: 700;
}

.privacy-cont p {
	font-size: 16px;
	line-height: 2;
	font-weight: 500;
}

.privacy-cont ul {
	margin-left: 1em;
}

.privacy-cont ul li {
	text-indent: -1em;
	padding-left: 1em;
	font-size: 16px;
	line-height: 2;
	font-weight: 500;
}

.privacy-under-cont p:nth-child(1) {
	margin-bottom: 30px;
}

.privacy-under-cont p.indent {
	padding-left: 20px;
}

.privacy-cont-box {
	border-radius: 20px;
	background: #EEF3FA;
	padding: 45px;
}

#news .under-box-inner {
	padding: 100px 20px 80px;
	max-width: 1280px;
	color: #000;
}

.news-cat-list {
	margin-bottom: 45px;
}

.news-cat-list ul {
	display: flex;
}

.news-cat-list ul li {
	margin-right: 20px;
}

.news-cat-list ul li a {
	font-size: 16px;
	font-weight: 700;
	color: #000;
}

.news-archive .news-list {
	margin-bottom: 80px;
}

.news-archive .news-list li {
	padding-block: 25px;
	border-bottom: 1px solid #888888;
	display: flex;
	align-items: center;
	justify-content: space-between;
	cursor: pointer;
}

.news-list-left {
	width: 200px;
	display: flex;
	align-items: center;
}

.news-list-left .cat p {
	font-size: 12px;
	font-weight: 500;
	color: #fff;
	background: #0553DD;
	padding: 4.5px 7.5px;
	line-height: 1;
	border-radius: 30px;
	margin-right: 10px;
	display: block;
}

.news-list-left .date p {
	color: #888;
	font-size: 14px;
	font-weight: 500;
}

.news-list-right {
	width: calc(100% - 220px);
}

.news-list-right h3 {
	font-size: 16px;
	font-weight: 700;
	color: #000;
}

.pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 40px;
	font-size: 14px;
	color: #2D2B2B;
}

.pagination-prev a,
.pagination-next a {
	text-decoration: none;
	font-size: 14px;
	color: #2D2B2B;
	font-weight: 500;
}

.pagination-center select {
	padding: 0px;
	color: #2D2B2B;
	font-weight: 500;
	font-size: 14px;
	border: none;
	background: #fff;
	cursor: pointer;
}

.pagination-prev,
.pagination-next {
	position: relative;
}

.pagination-next::before {
	content: "";
	top: 50%;
	left: -20px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	height: 30px;
	width: 1px;
	background: #373737;
	position: absolute;
}

.pagination-prev::before {
	content: "";
	top: 50%;
	right: -20px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	height: 30px;
	width: 1px;
	background: #373737;
	position: absolute;
}

/* モーダルの全体 */
.news-modal {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	background: rgba(217, 217, 217, 0.8);
	display: none;
	/* 最初は非表示（jQueryでfadeIn） */
	justify-content: center;
	align-items: center;
	z-index: 9999;
}

/* モーダル内側の白いエリア */
.modal-inner {
	background: #fff;
	width: 90%;
	box-shadow: 0 0 20px rgba(0, 0, 0, .1);
	max-width: 1300px;
	padding: 60px 100px;
	border-radius: 5px;
	position: relative;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}

/* モーダルの本文部分 */
.modal-body {
	margin-bottom: 40px;
}

#modal-date {
	font-size: 16px;
	color: #666;
	margin-bottom: 10px;
}

#modal-title {
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 20px;
}

#modal-content {
	font-size: 15px;
	line-height: 1.6;
}

/* 閉じるボタン */
#modal-close {
	width: 80px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: initial;
	border: none;
	margin: 0 auto;
	cursor: pointer;
}

#modal-close p {
	font-size: 14px;
	color: #666;
	font-weight: 500;
}

#modal-close img {
	width: 20px;
	height: 20px;
}

#news .under-parts02 {
	width: 12.5vw;
	left: 0vw;
	bottom: -1vw;
}

.contact-tel-txt {
	text-align: center;
	margin-bottom: 60px;
}

.contact-tel-txt p {
	font-size: 16px;
	font-weight: 500;
	color: #000;
}

.contact-tel-box {
	max-width: 610px;
	margin: 0 auto;
	border-radius: 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 40px;
	background: #0068B7;
}

.contact-tel-box-left {
	width: 50%;
}

.contact-tel-box-left h2 {
	font-size: 20px;
	font-weight: 900;
	color: #fff;
}

.contact-tel-box-right {
	width: 50%;
	padding: 10px 0 10px 25px;
	border-left: 2px solid #B7C2C7;
}

.contact-tel-box-right a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 10px;
}

.contact-tel-box-right a img {
	width: 25px;
}

.contact-tel-box-right a p {
	font-size: 32px;
	font-weight: 700;
	letter-spacing: 2.5px;
	color: #fff;
	line-height: 1;
}

.contact-tel-box-right-txt p {
	font-size: 14px;
	font-weight: 500;
	color: #fff;
}

#contact .under-parts02 {
	width: 21.5vw;
	left: 0;
	bottom: -20vw;
}

.contact-box-wrap {
	max-width: 1100px;
	width: calc(100% - 40px);
	margin: 0 auto;
	padding: 200px 0;
	position: relative;
	z-index: 1;
}

.under-box-smn-title {
	text-align: center;
	padding-bottom: 30px;
	margin-bottom: 50px;
	position: relative;
}

.under-box-smn-title::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	width: 40px;
	height: 3px;
	background: #00499E;
}

.under-box-smn-title h2 {
	font-size: 36px;
	font-weight: 700;
	color: #00499E;
}

.contact-box-txt {
	text-align: center;
	margin-bottom: 60px;
}

.contact-box-txt p {
	font-size: 16px;
	line-height: 2;
	font-weight: 500;
	color: #000;
}

.contact-box {
	background: #fff;
	border-radius: 50px;
	padding: 100px;
	color: #000;
}

.form-wrap-txt {
	text-align: center;
	margin-bottom: 60px;
}

.form-wrap-txt p {
	font-size: 16px;
	font-weight: 500;
}

.form-wrap-flex {
	display: flex;
	justify-content: space-between;
}

.form-wrap-flex-left {
	width: 80px;
	position: relative;
}

.form-wrap-flex-left::before {
	height: 110px;
	position: absolute;
	content: "";
	width: 2px;
	background: #B7C2C7;
	top: 5px;
	left: 8px;
}

.form-wrap-flex-left ol {
	padding-left: 30px;
}

.form-wrap-flex-left ol li {
	margin-bottom: 30px;
	font-size: 16px;
	font-weight: 700;
	position: relative;
	color: #000;
}

.form-wrap-flex-left ol li:last-child {
	margin-bottom: 0px;
}

.form-wrap-flex-left ol li::before {
	content: "";
	position: absolute;
	left: -30px;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #B7C2C7;
}

.form-wrap-flex-left ol li.active::before {
	background: #00499E;
}

.form-wrap-flex-right {
	width: calc(100% - 180px);
}

.form-wrap {
	border-bottom: 1px solid #B7C2C7;
	margin-bottom: 80px;
	padding-bottom: 60px;
}

.form-wrap-flex-right .input-wrap {
	margin-bottom: 40px;
}

.form-wrap-flex-right .input-wrap p.name-txt {
	margin-bottom: 20px;
	font-size: 18px;
	font-weight: 700;
}

.form-wrap-flex-right .input-wrap p.name-txt span {
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	padding: 2.5px 5px 3.5px;
	background: #E4EBF5;
	color: #000;
	position: relative;
	top: -3px;
	margin-left: 4.5px;
}

.form-wrap-flex-right .input-wrap p.name-txt span.required {
	background: #00499E;
	color: #fff;
}

.form-wrap-flex-right .input-wrap p.example {
	margin-bottom: 15px;
	font-size: 14px;
	font-weight: 500;
	color: #6A747C;
}

.form-wrap-flex-right .input-wrap p.zip-txt {
	font-size: 16px;
	font-weight: 500;
	padding-bottom: 10px;
}

.form-wrap-flex-right .input-wrap p.zip-txt.zip-txt-two {
	margin-top: 20px;
}

.form-wrap-flex-right .input-wrap input,
.form-wrap-flex-right .input-wrap textarea {
	width: 100%;
	border-radius: 5px;
	border: 1px solid #B7C2C7;
	padding: 10px;
	font-size: 16px;
	box-shadow: inset 0 7.5px 7.5px -7.5px rgba(0, 0, 0, 0.3);
}

.input-wrap .mwform-checkbox-field label {
	display: flex;
	align-items: center;
}

.input-wrap .mwform-checkbox-field label span {
	font-size: 16px;
	font-weight: 400;
	color: #000;
}

.form-wrap-flex-right .input-wrap input[type="checkbox"] {
	width: 30px;
	height: 30px;
	border: 2px solid #B7C2C7;
	border-radius: 50%;
	background-color: #fff;
	box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.25);
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	cursor: pointer;
	margin-right: 10px;
}

.form-wrap-flex-right .input-wrap input[type="checkbox"]:checked::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 14px;
	height: 14px;
	background-color: #00499E;
	border-radius: 50%;
}

.submit-agree {
	margin-bottom: 30px;
}

.submit-agree p {
	text-align: center;
	font-size: 16px;
	line-height: 2;
}

.submit-agree p a {
	color: #00499E;
	text-decoration: underline;
}

.mwform-checkbox-field label {
	display: flex;
	align-items: center;
}

.privacy-agree .mwform-checkbox-field label {
	justify-content: center;
}

.mwform-checkbox-field input[type="checkbox"] {
	width: 20px;
	height: 20px;
	border: 1px solid #B7C2C7;
	border-radius: .2px;
	background-color: #fff;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	cursor: pointer;
	position: relative;
	box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.25);
	margin-right: 10px;
}

/* チェック時に青いチェックマークを表示 */
.mwform-checkbox-field input[type="checkbox"]:checked::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 7px;
	height: 14px;
	border-right: 3px solid #00499E;
	border-bottom: 3px solid #00499E;
	transform: translate(-50%, -60%) rotate(45deg);
}

.mwform-checkbox-field-text {
	font-size: 16px;
	font-weight: 400;
	color: #000;
}

.submit-btn {
	max-width: 300px;
	width: 100%;
	margin: 0 auto;
	position: relative;
	cursor: pointer;
}

.submit-btn input {
	border-radius: 50px;
	background: #0068B7;
	width: 100%;
	height: 70px;
	line-height: 69px;
	font-size: 16px;
	font-weight: 700;
	color: #fff;
	padding: 0 40px;
	border: none;
	text-align: left;
}

.submit-btn img {
	position: absolute;
	width: 50px;
	top: 50%;
	right: 20px;
	transition: all .7s;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

.submit-btn:hover img {
	right: 10px;
}

.mw_wp_form_confirm .form-wrap-flex-right .input-wrap p.example,
.mw_wp_form_confirm .submit-agree p,
.mw_wp_form_confirm .privacy-agree {
	display: none;
}

.mw_wp_form_confirm .form-wrap-flex-left ol li:nth-child(2)::before {
	background: #00499E;
}

.back-btn {
	display: none;
}

.mw_wp_form_confirm .back-btn {
	display: block;
	margin-top: 20px;
}

.mw_wp_form_confirm .back-btn input {
	background: #767575;
	text-align: right;
}

.mw_wp_form_confirm .back-btn img {
	right: initial;
	left: 20px;
	transform: translateY(-50%) rotate(180deg);
	-webkit-transform: translateY(-50%) rotate(180deg);
	-ms-transform: translateY(-50%)rotate(180deg);
}

.mw_wp_form_confirm .back-btn:hover img {
	left: 10px;
}

.privacy-agree .error {
	text-align: center;
}

.page-template-page-thanks .form-wrap {
	border-bottom: none;
	margin-bottom: 0px;
	padding-bottom: 0;
}

.thank-txt {
	text-align: center;
}

.thank-txt h2 {
	font-size: 20px;
	font-weight: 700;
	color: #00499E;
	padding-bottom: 20px;
}

.thank-txt p {
	text-align: center;
	font-size: 16px;
	font-weight: 500;
}

.under-parts03 {
	bottom: 80vw;
	width: 20vw;
	left: -2vw;
}

.under-parts04 {
	right: -10vw;
	bottom: 5vw;
	width: 20vw;
}

#company {
	color: #000;
}

#company .under-box-inner {
	padding: 140px 20px 0px;
	max-width: 1140px;
}

.company-top-box-txt:nth-child(1) {
	margin-bottom: 80px;
}

.company-top-box-txt h2 {
	font-size: 36px;
	color: #0060B0;
	font-weight: 700;
	padding-bottom: 20px;
}

.company-top-box-txt p {
	font-size: 20px;
	line-height: 1.8;
	font-weight: 500;
}

.company-top-box-txt p span {
	color: #0060B0;
	font-weight: 700;
}

.president-cont {
	position: relative;
	z-index: 1;
}

.president-cont-flex {
	max-width: 1000px;
	width: calc(100% - 40px);
	margin: 0 auto;
	position: relative;
	display: flex;
	justify-content: space-between;
}

.president-abs-txt {
	position: absolute;
	top: -140px;
	right: 60px;
	z-index: 1;
}

.president-abs-txt p {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-size: 150px;
	font-weight: 700;
	color: #0060B0;
	line-height: 1;
}

.under-box-cont.left {
	margin-left: 0;
	margin-right: auto;
	border-top-right-radius: 50px;
	border-bottom-right-radius: 50px;
	margin-block: 120px 100px;
	border-top-left-radius: 0px;
	border-bottom-left-radius: 0px;
}

.president-cont-flex-right {
	width: 335px;
}

.president-cont-flex-left {
	width: calc(100% - 500px);
}

.president-cont-flex-left h2 {
	font-size: 36px;
	color: #0060B0;
	font-weight: 700;
	padding-bottom: 30px;
}

.president-cont-flex-left p {
	font-size: 20px;
	line-height: 1.8;
	font-weight: 500;
}

.president-cont-flex-left p.name {
	padding-top: 100px;
	font-size: 30px;
}

.company-table {
	padding-bottom: 120px;
}

.company-table table tr th {
	width: 25%;
	padding: 25px 10px 25px 20px;
	border-bottom: 1px solid #0060B0;
	font-weight: 500;
	font-size: 20px;
	color: #0060B0;
	vertical-align: text-top;
}

.company-table table tr td {
	width: 75%;
	padding: 25px 10px 25px 20px;
	border-bottom: 1px solid #B7C2C7;
	font-weight: 500;
	font-size: 16px;
	color: #000;
}

.company-table table tr td.member {
	line-height: 2.2;
}

.company-table-flex {
	margin-bottom: 30px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.company-table-flex-img {
	width: 200px;
}

.company-table-flex-txt {
	width: calc(100% - 230px);
}

.company-table-flex-txt-tel {
	display: flex;
}

.company-table-flex-txt-tel span {
	font-size: 30px;
}

.company-table-flex-txt-tel p:nth-child(1) {
	margin-right: 20px;
}

.company-table table tr td iframe {
	border-radius: 20px;
	margin-bottom: 15px;
}

.company-table table tr td a {
	width: 160px;
	display: block;
	margin-bottom: 25px;
}

.company-table table tr:last-child th,
.company-table table tr:last-child td {
	border-bottom: none;
}

.access-txt h3 {
	font-size: 16px;
	font-weight: 700;
}

.history-cont {
	max-width: 1100px;
	width: calc(100% - 40px);
	margin: 0 auto;
	padding-bottom: 120px;
	position: relative;
	z-index: 1;
}

.history-cont ul {
	position: relative;
}

.history-cont ul::after {
	height: 97%;
	content: "";
	position: absolute;
	left: 175px;
	border-top-left-radius: 15px;
	width: 2px;
	background: #000;
	top: 27px;
}

.history-cont ul li {
	margin-bottom: 50px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
}

.history-cont ul li:last-child {
	margin-bottom: 0;
}

.history-cont-year {
	width: 180px;
}

.history-cont-year p {
	font-family: "Poppins", sans-serif;
	font-size: 48px;
	font-weight: 500;
	color: rgba(0, 0, 0, 0.4);
	line-height: 1;
}

.twoline .history-cont-year p {
	position: relative;
	top: -7.5px;
}

.history-cont-txt {
	width: calc(100% - 200px);
	padding-left: 30px;
	display: flex;
	position: relative;
}

.history-cont-txt::after {
	content: "";
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background: #000;
	top: 15px;
	left: -30px;
	position: absolute;
}

.history-cont-txt p {
	font-size: 16px;
	font-weight: 500;
	line-height: 2;
	padding-top: 3.5px;
	width: calc(100% - 50px);
}

.history-cont-txt p.month {
	width: 40px;
	font-size: 20px;
	font-weight: 500;
	margin-right: 15px;
	padding-top: 0;
}

#company .under-parts03 {
	top: 50vw;
	bottom: initial;
	width: 40vw;
	left: -22vw;
}

#company .under-parts02 {
	width: 35vw;
	left: initial;
	bottom: 6vw;
	right: -4vw;
}

.service-flex {
	margin-bottom: 120px;
	display: flex;
	justify-content: space-between;
}

.service-flex-left {
	width: calc(100% - 650px);
}

.service-flex-left h2 {
	font-size: 36px;
	font-weight: 700;
	color: #0060B0;
	padding-bottom: 40px;
}

.service-flex-left p {
	font-size: 20px;
	line-height: 1.8;
	font-weight: 500;
	padding-bottom: 35px;
}

.service-flex-left p span {
	color: #0060B0;
}

.about-btn a {
	display: block;
	height: 40px;
}

.about-btn a img {
	height: 40px;
	width: auto;
	display: block;
}

.service-flex-right {
	width: 600px;
}

.service-menu ul {
	gap: 60px 80px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

.service-menu ul li a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 20px;
	border-bottom: 1px solid #B7C2C7;
}

.service-menu-img {
	width: 120px;
}

.service-menu-img img {
	border-radius: 10px;
}

.service-menu-txt {
	width: calc(100% - 120px);
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 15px;
}

.service-menu-txt h3 {
	font-size: 18px;
	font-weight: 700;
	color: #0060B0;
	letter-spacing: .01em;
	white-space: nowrap;
}

.service-menu-txt img {
	width: 20px;
	transition: all .7s;
}

.service-menu ul li a:hover .service-menu-txt img {
	transform: translateX(5px);
}

.under-box-cont#service {
	margin-bottom: 0;
}

.under-box-cont#shop {
	margin-top: 0;
}

.japan-map {
	max-width: 1500px;
	width: 100%;
	margin: 0 auto;
	padding: 0 150px;
	position: relative;
}

.shop-cont .president-abs-txt {
	top: -40px;
}

.jpn-txt {
	position: absolute;
	max-width: 455px;
	top: 30%;
	left: 20%;
}

.jpn-txt p {
	font-size: 20px;
	line-height: 1.8;
	font-weight: 500;
}

.under-wrapper {
	color: #000;
}

#shop .under-box-inner {
	padding: 80px 60px 100px 150px;
	max-width: 1500px;
}

.shops-list-title {
	margin-bottom: 40px;
}

.shops-list-title h3 {
	font-size: 36px;
	font-weight: 700;
	color: #0060B0;
}

.shops-list-txt {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 35px;
}

.shops-list-txt-name h4 {
	display: flex;
	align-items: center;
}

.shops-list-txt-name img {
	height: 45px;
	width: auto;
	margin-right: 10px;
}

.shops-list-txt-name span {
	font-size: 24px;
	font-weight: 500;
	line-height: 1;
}

.shops-list-txt-name .blue span {
	color: #0060B0;
	font-weight: 700;
}

.shops-list {
	margin-bottom: 120px;
}

.shop-list-area {
	margin-bottom: 20px;
}

.shop-list-area h5 {
	color: #000;
	padding-left: 20px;
	font-size: 20px;
	font-weight: 700;
	position: relative;
}

.shop-list-area h5::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	width: 10px;
	height: 2px;
	background: #1E2678;
}

.shop-lists .shop-list {
	margin-bottom: 50px;
}

.shop-lists li:last-child .shop-list {
	margin-bottom: 0;
}

.shop-list ul {
	gap: 25px 50px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}

.shop-list ul li {
	background: #EEF3FA;
}

.shop-list-box {
	padding: 20px 30px;
}

.shop-list-box-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 10px;
	margin-bottom: 10px;
	border-bottom: 2px solid rgba(0, 96, 176, .05);
}

.shop-list-box-title p {
	font-size: 20px;
	font-weight: 500;
	margin-right: 10px;
	letter-spacing: 0;
}

.shop-list-box-title a,
.shop-btn a {
	width: 110px;
	height: 40px;
	text-align: center;
	font-size: 14px;
	font-weight: 700;
	color: #fff;
	line-height: 39px;
	background: #0060B0;
	display: block;
	letter-spacing: 0;
}

.shop-btn a {
	background: #BD54DB;
	width: 220px;
	margin-top: 15px;
}

.shop-list-txt-lists {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.shop-list-txt-list {
	width: 50%;
	display: flex;
}

.shop-list-txt-list-full {
	width: 100%;
}

.shop-list-txt-list:nth-child(1) {
	width: 100%;
	margin-bottom: 10px;
}

.shop-list-txt-list-img {
	width: 16px;
	height: 16px;
	margin-right: 4.5px;
	position: relative;
	top: 4px;
}

.shop-list-txt-list-txt p {
	font-size: 16px;
	font-weight: 500;
}

.shop-list ul li.shop-list-box-movie {
	background: rgba(0, 96, 176, .5);
}

.shop-list ul li.shop-list-box-movie .shop-list-box-title img {
	width: 30px;
	margin-right: 7.5px;
}

.shop-list ul li.shop-list-box-movie .shop-list-box-title {
	border-color: rgba(255, 255, 255, .5);
}

.shop-list ul li.shop-list-box-movie .shop-list-box-title p {
	color: #fff;
	display: flex;
	align-items: center;
}

.shop-list ul li.shop-list-box-movie .shop-list-box-title p span {
	font-size: 18px;
}

.shop-list ul li.shop-list-box-movie .shop-list-txt p {
	font-size: 16px;
	font-weight: 500;
	color: #fff;
}

.shops-list-title.shops-list-title-flex {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

#about .under-parts02 {
	width: 40vw;
	left: initial;
	bottom: 300vw;
	right: -5vw;
}

#about .under-parts03 {
	bottom: initial;
	top: 70vw;
	width: 40vw;
	left: -15vw;
}

.shop-list-box-title a span,
.shop-btn a span {
	padding-left: 5px;
	width: 7px;
	height: 10px;
	position: relative;
	display: inline-block;
}

.shop-list-box-title a span::before,
.shop-btn a span::before {
	content: '';
	width: 7px;
	height: 7px;
	border: 0;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	left: 7px;
	bottom: 0;
	margin: auto;
	transition: all .7s;
}

.shop-list-box-title a:hover span::before,
.shop-btn a:hover span::before {
	left: 12.5px;
}

#about .under-box-cont.left {
	margin-bottom: 0;
	border-bottom-right-radius: 0;
}

.shops-list-cont:last-child .shops-list {
	margin-bottom: 0;
}

.event-archive-wrapper .cmn-title-bar {
	background: linear-gradient(90deg, #FFE339, #55DBAE);
}

#event .event-parts01 {
	width: 550px;
	top: -150px;
	left: -100px;
}

#event .event-parts02 {
	width: 450px;
	top: -100px;
	right: -200px;
}

#event .event-parts03 {
	width: 350px;
	right: -180px;
	bottom: 20%;
}

#event .event-parts04 {
	width: 250px;
	bottom: 10%;
	left: -60px;
}

.event-flex {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	position: relative;
	max-width: 1020px;
	margin: 0 auto;
}

.event-cat {
	position: absolute;
	top: 0;
	right: -220px;
	max-width: 200px;
	width: 100%;
}

.event-archive-wrapper .event-archive-list {
	margin: 0 auto 120px;
}

.event-cat--title {
	margin-bottom: 10px;
	padding-left: 10px;
	border-left: 5px solid #FFE339;
}

.event-cat--title h2 {
	font-size: 16px;
	font-weight: 600;
}

.event-cat-list li a {
	padding: 10px 0;
	font-size: 14px;
	font-weight: 500;
	border-bottom: 1px solid #CCCCCC;
	display: block;
}

.event-list-img {
	position: relative;
	height: 250px;
}

.event-list-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.event-cat-label {
	position: absolute;
	left: 10px;
	top: 10px;
	padding: 4.5px 20px;
	line-height: 1;
	border-radius: 30px;
	font-size: 10px;
	font-weight: 500;
	color: #fff;
}

.event-cat-label.open {
	background: #55DBAE;
}

.event-cat-label.travel {
	background: #F9DB25;
}

.event-cat-label.study {
	background: #FC883B;
}

.event-cat-label.other {
	background: #36ECF2;
}

#event .event-list-img {
	margin-bottom: 15px;
}

#event .event-list-txt p {
	font-size: 12px;
	padding-bottom: 2.5px;
}

#event .event-list-txt h3 {
	font-size: 16px;
}

.event-pagination {
	text-align: center;
}

.event-pagination a {
	font-family: "Montserrat", sans-serif;
	margin: 0 15px;
	font-size: 15px;
	font-weight: 700;
	display: inline-block;
}

.event-pagination .pages a:last-child {
	margin-right: 0;
}

.event-pagination span {
	width: 25px;
	height: 25px;
	border-radius: 50%;
	background: #55DBAE;
	font-family: "Montserrat", sans-serif;
	font-size: 15px;
	font-weight: 700;
	display: inline-block;
}

.event-list ul.page-navi {
	display: flex;
	justify-content: center;
	align-items: center;
}

.event-pagination .next img {
	width: 12px;
}

.event-pagination .prev img {
	width: 12px;
}

.event-pagination .next,
.event-pagination .prev {
	height: 17px;
}

.event-pagination .prev {
	margin-right: 20px;
}

.event-pagination .next {
	margin-left: 20px;
}

.event-pagination .prev span,
.event-pagination .next span {
	width: inherit;
	height: initial;
	background: initial;
	opacity: .6;
}

.event-pagination .prev a,
.event-pagination .next a {
	margin: 0;
}

#event .cmn-title {
	margin-bottom: 100px;
}

.event-single-cont-title {
	margin-bottom: 25px;
	padding-top: 40px;
}

.event-single-cont .cmn-title-bar {
	background: linear-gradient(90deg, #FFE339, #55DBAE);
	width: 100%;
}

.event-single-cont-title p {
	font-size: 14px;
	font-weight: 500;
	color: #373737;
}

.event-single-cont-title h1 {
	font-size: 24px;
	font-weight: 700;
	color: #373737;
}

#event .event-single-cont .event-list-img {
	height: auto;
	margin-bottom: 60px;
}

.event-single-cont .event-list-img img {
	width: 100%;
	height: auto;
}

.event-single-cont .event-single-cont-txt img {
	width: 100%;
	height: auto;
}

.event-single-cont .event-single-cont-txt p {
	padding-bottom: 60px;
	font-size: 18px;
	font-weight: 500;
	line-height: 2;
	color: #373737;
}

.event-single-cont {
	margin-bottom: 100px;
}

.interview01 .schedule-box-right .schedule-line-wrap::before {
	height: 85%;
}

.interview02 .schedule-box,
.interview03 .schedule-box {
	align-items: flex-start;
}

.interview02 .schedule-box-left .schedule-line-wrap::before {
	height: 80%;
}

.shop-list-txt-list.mail-list,
.shop-list-txt-list.fax-list {
	margin-top: 10px;
}

.shop-list-txt-list.mail-list {
	width: 100%;
}

.interview04 .schedule-box-right .schedule-line-wrap::before {
	height: 75%;
}

.interview04 .schedule-box-left .schedule-line-wrap::before {
	height: 80%;
}

.swiper-container {
	position: relative;
}

.interview-conts .swiper-button-prev,
.interview-conts .swiper-button-next {
	color: #000;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
}

.interview-conts .swiper-button-prev {
	left: -20px;
}

.interview-conts .swiper-button-next {
	right: -20px;
}

.interview-conts .swiper-pagination {
	text-align: center;
}

.swiper-pagination-bullet-active {
	background: linear-gradient(45deg, #FFE339, #55DBAE);
}

.footer-download-btn {
	display: block;
	margin-top: 20px;
}

.video-modal {
	display: none;
	position: fixed;
	z-index: 9999;
	inset: 0;
	background: rgba(0, 0, 0, 0.8);
}

.video-modal-content {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 90%;
	max-width: 640px;
}

.video-modal video {
	width: 100%;
	height: auto;
}

.video-close {
	position: absolute;
	top: -10px;
	right: -10px;
	background: #fff;
	border: none;
	font-size: 20px;
	padding: 5px 10px;
	cursor: pointer;
}

@media screen and (max-width: 1500px) {
	.mv-flex {
		width: calc(100% - 80px);
		padding-left: 0%;
	}

	.mv-flex-right {
		width: 40%;
	}

	.mv-flex-left {
		width: 57.5%;
	}

	.messa-parts01 {
		top: -140px;
		left: -40px;
	}

	.messa-parts02 {
		width: 45vw;
		right: -10vw;
	}

	.messa-parts03 {
		width: 25vw;
		bottom: -2vw;
		left: 2vw;
	}

	.guitter-parts01 {
		width: 100px;
		right: 0px;
	}

	.inter-parts01 {
		width: 34.5vw;
		top: -4vw;
		right: 1vw;
	}

	.inter-parts02 {
		width: 20vw;
		left: 2vw;
		bottom: -5vw;
	}

	.data-parts01 {
		width: 25vw;
		top: 10vw;
		left: 4vw;
	}

	.data-cont {
		padding: 30px 15px 60px;
		justify-content: center;
	}

	.data-cont-img {
		width: 80%;
		max-width: 250px;
	}

	.data-cont-num p {
		font-size: 8vw;
	}

	.data-cont-num span {
		font-size: 1vw;
		white-space: nowrap;
	}

	.data-parts02 {
		width: 15vw;
		bottom: -1vw;
		right: 1vw;
	}

	.what-list ul {
		gap: 15px;
	}

	.what-parts01 {
		width: 50vw;
		top: 13vw;
		left: -10vw;
	}

	.what-parts02 {
		width: 17.5vw;
		right: 2vw;
		bottom: 5vw;
	}

	.support-parts01 {
		width: 37.5vw;
		top: 4.5vw;
		right: 4vw;
	}

	.support-parts02 {
		width: 25vw;
		top: 15vw;
		left: -2vw;
	}

	.support-parts03 {
		width: 15vw;
		bottom: 1vw;
		right: -1vw;
	}

	.support-list ul li {
		padding: 15px;
	}

	.career-parts01 {
		width: 37.5vw;
		top: 15vw;
		left: -10vw;
	}

	.career-parts02 {
		width: 15vw;
		bottom: 10vw;
		right: 20px;
	}

	.event-parts01 {
		width: 42.5vw;
		top: -2vw;
		left: -8vw;
	}

	.event-parts02 {
		width: 30vw;
		bottom: 12.5vw;
		right: -5vw;
	}

	.event-list ul {
		gap: 0px 20px;
	}

	footer,
	.tax-event-cat footer,
	.post-type-archive-event footer,
	.single-event footer {
		padding: 30px 20px 0 !important;
	}

	.page-template-page-privacy footer,
	.archive footer,
	.page-template-page-contact footer,
	.page-template-page-company footer,
	.page-template-page-about footer {
		padding: 0 20px !important;
	}

	.footer-box-cont {
		width: calc(100% - 30px);
		padding: 20px 0 30px;
	}

	.footer-btns ul li a span {
		font-size: 4.25vw;
		margin-right: 3vw;
	}

	.footer-btns ul li a .arrow::after {
		width: 25px;
		height: 25px;
		border-top: solid 4px #fff;
		border-right: solid 4px #fff;
		top: 12.5px;
	}

	.mv-parts01 {
		width: 20vw;
		top: -1vw;
	}

	.mv-parts02 {
		width: 25vw;
		left: -5vw;
		bottom: -1vw;
	}

	.news-box {
		padding: 15px 20px 15px;
	}

	.footer-box-left {
		padding-right: 10px;
	}

	.footer-box-right {
		padding-left: 15px;
	}

	.footer-contact-left-title p.hama {
		font-size: 7vw;
	}

	.footer-contact-img {
		width: 7vw;
		padding-top: 2.75vw;
	}

	.what.service .service-parts01 {
		width: 40vw;
		top: 10vw;
		right: -12.5vw;
	}

	.what.service .service-parts02 {
		width: 20vw;
		left: -10vw;
		top: 32.5vw;
	}

	.support.job .job-parts01 {
		width: 37.5vw;
		top: 10vw;
		right: -15vw;
	}

	.interview-cont-right {
		padding-right: 30px;
	}

	.reverse .interview-cont-right {
		padding-left: 30px;
	}

	.under-layout {
		width: calc(100% - 40px);
	}

	.event-cat {
		position: relative;
		top: initial;
		right: initial;
		max-width: 140px;
		width: 100%;
		margin-left: 20px;
	}
}

@media screen and (max-width: 1350px) {
	.data-conts ul:nth-child(2) li.two:nth-child(2) .data-cont:nth-child(2) .data-cont-num p {
		font-size: 42px;
	}

	.data-conts ul:nth-child(2) li.two:nth-child(2) .data-cont:nth-child(2) .data-cont-num p small {
		font-size: 24px;
	}

	.data-conts ul li.two .data-cont:nth-child(2) .data-cont-num span {
		font-size: 10px;
	}

	.interview-cont-txt-txt {
		height: calc(1.5em * 3);
	}

	.tab {
		display: none;
	}
}

@media screen and (max-width: 1200px) {
	.header-inner {
		padding-block: 15px;
		width: calc(100% - 30px);
	}

	.header-logo {
		width: 180px;
	}

	.mv-flex-left-title h2 {
		font-size: 7vw;
	}

	.mv-flex-left-title p {
		font-size: 1.7vw;
	}

	.data-cont-txt h3 {
		font-size: 20px;
	}

	.ppc {
		display: none;
	}

	.ssp {
		display: block;
	}

	.footer-menu ul {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}

	.interview-bottom-box {
		width: calc(100% - 40px);
		margin: 0 auto 100px;
	}

	.interview-box {
		width: 100%;
		margin: 40px auto 60px;
	}

	.interview-box-inner {
		padding: 30px 20px;
	}

	.interview-bottom-box-inner {
		padding: 30px 20px;
	}

	.under-layout {
		width: calc(100% - 30px);
	}

	.page-template-page-privacy footer,
	.archive footer,
	.page-template-page-company footer,
	.page-template-page-about footer,
	.page-template-page-contact footer {
		padding: 0 15px 0px 20px !important;
	}

	footer,
	.tax-event-cat footer,
	.post-type-archive-event footer,
	.single-event footer {
		padding: 30px 15px 0 !important;
	}

	.under-box-cont {
		width: calc(100% - 20px);
		margin-block: 220px 100px;
	}

	.president-abs-txt {
		right: 0px;
	}

	.president-abs-txt p {
		font-size: 100px;
	}

	.president-cont-flex-left {
		width: calc(100% - 370px);
	}

	.president-cont-flex-left p.name {
		padding-top: 60px;
	}

	#company .under-parts03 {
		top: 90vw;
	}

	.company-table-flex-txt-tel span {
		font-size: 24px;
	}

	#shop .under-box-inner {
		padding: 80px 20px 100px;
		max-width: 100%;
	}

	.shop-list ul {
		gap: 20px;
	}

	#event .event-parts01 {
		width: 40vw;
		top: -10vw;
		left: -5vw;
	}

	#event .event-parts02 {
		width: 30vw;
		top: -2vw;
		right: -5vw;
	}

	#event .event-parts03 {
		width: 27.5vw;
		right: -5vw;
		bottom: 14.5vw;
	}

	#event .event-parts04 {
		width: 20vw;
		bottom: 5vw;
		left: -1vw;
	}

	.support-list-box-title h3 {
		font-size: 20px;
	}

	.support-list-box-title h3 span {
		font-size: 14px;
		letter-spacing: 0;
	}

	.support-list-box-title {
		margin-bottom: 20px;
	}

	.footer-menu ul li:last-child {
		width: 100%;
	}

	.interview-cont-right-title h1 {
		font-size: 32px;
	}

	.interview-cont-txt-name {
		line-height: 1.5;
		height: 3em;
		margin-bottom: 5px;
	}
}

.sp-footer {
	display: none !important;
}

@media screen and (max-width: 1000px) {

	.support-list-box-title,
	.support-list-box-title img {
		margin-bottom: 15px;
	}

	footer,
	.tax-event-cat footer,
	.post-type-archive-event footer,
	.single-event footer,
	.page-template-page-privacy footer,
	.archive footer,
	.page-template-page-company footer,
	.page-template-page-about footer,
	.page-template-page-contact footer {
		padding: 30px 15px !important;
	}

	.sp-footer {
		display: block !important;
	}

	.pc-footer {
		display: none !important;
	}

	.sp-footer-flex {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}

	.sp-footer-flex-left ul {
		display: flex;
		align-items: center;
	}

	.sp-footer-flex-left ul li a {
		font-size: 14px;
		font-weight: 700;
		margin-right: 20px;
	}

	.sp-footer-flex-right p {
		font-size: 10px;
		font-weight: 400;
	}
}

@media screen and (max-width: 834px) {
	.sp {
		display: block !important;
	}

	.pc {
		display: none !important;
	}

	.drawer-hamburger {
		background-color: #1e2877 !important;
		width: 50px !important;
		height: 50px !important;
		padding: 0 !important;
	}

	.drawer-hamburger-icon {
		width: 40% !important;
		margin: 0 auto !important;
		height: 1px !important;
		background-color: initial !important;
	}

	.drawer-hamburger-icon:before {
		top: -5px !important;
		height: 1px !important;
		background-color: #fff !important;
	}

	.drawer-hamburger-icon:after {
		top: 5px !important;
		height: 1px !important;
		background-color: #fff !important;
	}

	.drawer-nav {
		width: 100% !important;
		max-width: 300px !important;
	}

	.drawer--right.drawer-open .drawer-hamburger {
		right: 0px !important;
	}

	.drawer-menu {
		padding: 60px 40px 0px !important;
	}

	.drawer-menu li {
		margin-bottom: 15px;
	}

	.drawer--right .drawer-nav {
		right: -100% !important;
	}

	.drawer-open .drawer-hamburger-icon {
		background-color: transparent !important;
	}

	.drawer-open .drawer-hamburger-icon:after,
	.drawer-open .drawer-hamburger-icon:before {
		top: 0 !important;
	}

	.drawer-menu li {
		transition: all .7s;
		margin-bottom: 0;
	}

	.drawer-menu li:hover {
		text-decoration: none !important;
	}

	.drawer-menu-item {
		padding: 0 !important;
		margin-bottom: 10px;
		transition: all .7s;
	}

	.drawer-menu-item:hover {
		text-decoration: none !important;
		opacity: 1;
	}

	.drawer-menu-item p {
		font-size: 18px !important;
		padding: 0px !important;
		color: #000 !important;
		letter-spacing: 0;
		font-weight: 500;
	}

	.drawer-menu-item:hover p {
		color: #0B54CE !important;
		text-decoration: none !important;
	}

	.drawer-menu-item span {
		font-size: 12px;
		display: block;
		color: #0B54CE;
	}

	.drawer--right .drawer-hamburger,
	.drawer--right.drawer-open .drawer-nav,
	.drawer--right.drawer-open .drawer-navbar .drawer-hamburger {
		right: 0 !important;
	}

	.contact-btn {
		width: 125px;
		margin: 20px auto 0;
	}

	.mv {
		height: auto;
		position: relative;
	}

	.mv-flex {
		width: 100%;
		display: block;
		height: 100%;
	}

	.mv-flex-right {
		overflow: hidden;
		position: relative;
		width: 100%;
		margin-bottom: 30px;
		height: auto;
	}

	.mv-flex-right-img {
		display: inline-block;
		width: 200%;
		animation: marquee 20s linear infinite;
	}

	.mv-flex-right-img img {
		width: 100%;
		height: auto;
		display: block;
	}

	@keyframes marquee {
		0% {
			transform: translateX(0);
		}

		100% {
			transform: translateX(-50%);
			/* ★半分分だけ左へスライドさせる */
		}
	}

	.mv-flex-left {
		width: calc(100% - 50px);
		margin: 0 auto 30px;
		height: auto;
		max-width: 620px;
	}

	.mv-flex-left-title {
		top: initial;
		left: initial;
		transform: initial;
		-webkit-transform: initial;
		-ms-transform: initial;
		position: relative;
		margin-top: 80px;
	}

	.mv-flex-left-title h2 {
		font-size: 8vw;
	}

	.mv-flex-left-title p {
		font-size: 2.2vw;
	}

	.news-box {
		padding: 15px 10px;
		z-index: 1;
		position: relative;
		width: calc(100% - 50px);
		margin: 0 auto;
		max-width: 620px;
	}

	.news-box.sp {
		display: flex !important;
	}

	.news-box-title {
		width: 80px;
	}

	.news-box-title p {
		font-size: 24px;
	}

	.news-box-title h2 {
		font-size: 12px;
	}

	.news-box-list {
		width: calc(100% - 95px);
	}

	.news-box-list ul li a {
		padding-bottom: 12.5px;
		margin-bottom: 15px;
	}

	.mv-parts01 {
		left: initial;
		right: 0;
	}

	.message {
		padding: 120px 0;
		margin-top: 0px;
	}

	.messa-parts01 {
		top: -12.5vw;
		left: -1vw;
		width: 4vw;
	}

	.messa-parts02 {
		width: 22.5vw;
		right: -7vw;
		top: -3vw;
	}

	.messa-parts03 {
		width: 20vw;
		bottom: -5vw;
		left: 1vw;
	}

	.guitter-parts01 {
		width: 10vw;
		right: 0px;
	}

	.cmn-title-bar {
		width: 60px;
		height: 4px;
		margin: 0 auto 20px;
	}

	.cmn-title h2 span {
		font-size: 42px;
		padding-bottom: 5px;
	}

	.cmn-title h2 p {
		font-size: 14px;
	}

	.messa-box {
		margin: -100px auto 0;
		max-width: 100%;
		width: calc(100% - 50px);
		padding: 60px 20px 20px;
		max-width: 620px;
	}

	.messa-box p {
		font-size: 14px;
		line-height: 1.8;
		padding-bottom: 30px;
	}

	.inter-parts01 {
		width: 17.5vw;
		top: 4vw;
		right: 1vw;
	}

	.interview-cont-txt-inner {
		padding: 20px;
	}

	.interview-cont-txt-name {
		margin-bottom: 0px;
	}

	.interview-cont-txt-name p {
		font-size: 12px;
	}

	.interview-cont-txt-name p.lex {
		font-size: 20px;
	}

	.interview-cont-txt-txt p {
		font-size: 14px;
	}

	.cmn-btn {
		max-width: 240px;
	}

	.interview {
		padding: 80px 0;
	}

	.inter-parts02 {
		width: 15vw;
		left: 1vw;
		bottom: 5vw;
	}

	.data-parts01 {
		width: 17.5vw;
		top: 7.5vw;
		left: 2vw;
	}

	.data {
		padding: 100px 0;
		position: relative;
	}

	.data .cmn-title {
		margin-bottom: 60px;
	}

	.what {
		padding: 80px 0;
	}

	.data-conts ul {
		display: block;
		margin: 0 auto;
		max-width: 620px;
	}

	.data-conts ul:nth-child(1) {
		margin-bottom: 10px;
		padding-bottom: 10px;
	}

	.data-conts ul li {
		width: 100%;
		border-left: 1px solid #ebebeb;
	}

	.data-conts ul li:nth-child(1) {
		border-bottom: 1px solid #EBEBEB;
	}

	.data-cont {
		padding: 20px 15px 30px;
	}

	.data-cont-img {
		width: 80%;
		max-width: 150px;
		margin-right: 15px;
	}

	.data-cont-txt h3 {
		font-size: 16px;
		padding-bottom: 0px;
	}

	.data-cont-num p {
		font-size: 64px;
	}

	.inter-parts03 {
		width: 40vw;
		right: initial;
		top: 52.5%;
		left: -3vw;
	}

	.data-cont-num span,
	.data-conts ul:nth-child(2) li.two:nth-child(1) .data-cont:nth-child(2) .data-cont-num span {
		font-size: 12px;
		white-space: nowrap;
	}

	.data-conts ul li.two .data-cont:nth-child(2) .data-cont-txt {
		width: 100%;
	}

	.data-conts ul li.two .data-cont-num p {
		font-size: 56px;
		text-align: center;
	}

	.data-conts ul:nth-child(2) li.two:nth-child(2) .data-cont:nth-child(2) .data-cont-num p {
		font-size: 36px;
	}

	.data-conts ul:nth-child(2) li.two:nth-child(2) .data-cont:nth-child(2) .data-cont-num p span {
		font-size: 12px;
		padding-right: 0px;
	}

	.data-conts ul:nth-child(2) li.two:nth-child(2) .data-cont:nth-child(2) .data-cont-num p small {
		font-size: 24px;
	}

	.data-conts ul:nth-child(2) li.two:nth-child(2) .data-cont:nth-child(2) {
		padding-inline: 10px;
	}

	.data-conts ul:nth-child(2) li.two:nth-child(2) .data-cont:nth-child(2) .data-cont-img {
		padding-top: 37.5px;
		margin-bottom: 1.5px;
	}

	.data-cont-num {
		justify-content: center;
	}

	.data-cont-caution p {
		font-size: 14px;
	}

	.data-conts ul:nth-child(1) li:nth-child(1) {
		padding-top: 0px;
	}

	.data-conts ul li.two .data-cont:nth-child(2) .data-cont-num span {
		font-size: 12px;
	}

	.data-conts ul li.two .data-cont-img {
		margin: 0 auto 15px;
	}

	.cat-cont-link {
		bottom: 0px;
		right: 10px;
	}

	.data-parts02 {
		width: 12.5vw;
		bottom: -1vw;
		right: 1vw;
	}

	.what-parts01 {
		width: 25vw;
		top: 17.5vw;
		left: -5vw;
	}

	.what-list ul {
		display: block;
		max-width: 620px;
		margin: 0 auto;
	}

	.what-list ul li {
		margin-bottom: 20px;
	}

	.what-list ul li:last-child {
		margin-bottom: 0;
	}

	.what-list-box {
		padding: 20px 15px;
	}

	.what-list-box-title img {
		width: 30px;
	}

	.what-list-box-title h3 {
		width: calc(100% - 40px);
		font-size: 20px;
	}

	.what-list .what-list-box-list ul li {
		font-size: 14px;
		padding-bottom: 12.5px;
		margin: 0;
	}

	.support {
		padding: 100px 0;
	}

	.support-parts01 {
		width: 22.5vw;
		right: 1vw;
	}

	.support-parts02 {
		width: 30vw;
		top: 45vw;
	}

	.support-parts03 {
		width: 20vw;
		bottom: 3vw;
		right: 1vw;
	}

	.support-list {
		max-width: 620px;
		margin: 0 auto;
	}

	.support-list ul {
		grid-template-columns: repeat(2, 1fr);
	}

	.support-list-box-title img {
		width: 30px;
		margin-bottom: 10px;
	}

	.support-list-box-title {
		margin-bottom: 15px;
	}

	.support-list-box-title h3 {
		font-size: 18px;
	}

	.support-list-box-txt p {
		font-size: 12px;
		line-height: 1.6;
	}

	.support-list ul li:nth-child(n+5) {
		border-bottom: 1px solid #EEEEEE;
	}

	.career {
		padding: 80px 0 20px;
	}

	.career-parts01 {
		width: 32.5vw;
		top: 5vw;
		left: -5vw;
	}

	.cmn-txt {
		margin-bottom: 40px;
		padding: 0 25px;
	}

	.cmn-txt p {
		font-size: 14px;
		line-height: 1.7;
	}

	.career-parts02 {
		width: 20vw;
		bottom: 1vw;
		right: 1vw;
		z-index: 10;
	}

	.event {
		padding: 100px 0;
	}

	.event-parts01 {
		width: 22.5vw;
		top: -5vw;
		left: -5vw;
	}

	.event-parts02 {
		width: 20vw;
		bottom: 1.5vw;
		right: -5vw;
	}

	.cmn-title {
		margin-bottom: 40px;
	}

	.event-list ul {
		display: block;
		max-width: 620px;
		margin: 0 auto;
	}

	.event-list ul li {
		margin-bottom: 30px;
	}

	.event-list-img {
		margin-bottom: 15px;
		height: 120px;
	}

	.home .event-list-img {
		height: 300px;
	}

	.event-list-txt p {
		font-size: 12px;
		padding-bottom: 5px;
	}

	.event-list-txt h3 {
		font-size: 16px;
	}

	.footer-btns ul {
		display: block;
	}

	.footer-btns ul li {
		width: 100%;
	}

	.footer-btns ul li a {
		padding: 30px 0;
	}

	.footer-btns ul li a span {
		font-size: 24px;
		margin-right: 20px;
	}

	.footer-btns ul li a .arrow {
		width: 20px;
		height: 15px;
	}

	.footer-btns ul li a .arrow::after {
		width: 15px;
		height: 15px;
		border-top: solid 3px #fff;
		border-right: solid 3px #fff;
	}

	footer,
	.tax-event-cat footer,
	.post-type-archive-event footer,
	.single-event footer {
		padding: 15px 10px !important;
	}

	.footer-top {
		padding: 25px 0;
	}

	.footer-box-cont {
		padding: 10px 0 20px;
		display: block;
	}

	.footer-box-left {
		padding-right: 0px;
		border-right: none;
		border-bottom: 1px solid #daecf9;
		padding-bottom: 10px;
		margin-bottom: 20px;
		width: 100%;
	}

	.footer-box-right {
		padding-left: 0;
		width: 100%;
	}

	.footer-box-left-logo img {
		max-width: 200px;
	}

	.footer-box-left-logo p {
		font-size: 10px;
	}

	.footer-menu ul li a p {
		font-size: 18px;
		margin-right: 10px;
	}

	.footer-menu ul li a span {
		font-size: 10px;
		position: relative;
		top: -1px;
	}

	.footer-contact-left-title p.hama {
		font-size: 48px;
	}

	.footer-contact-left-title p {
		font-size: 12px;
	}

	.footer-contact-img {
		width: 50px;
		padding-top: 30px;
	}

	.footer-contact {
		margin-bottom: 20px;
	}

	.footer-contact-btns ul li a {
		padding: 22.5px 0;
	}

	.footer-contact-btns ul li a p {
		font-size: 14px;
	}

	.footer-contact-btns ul li a img {
		width: 15px;
		margin-right: 5px;
	}

	.what.service .service-parts01 {
		width: 30vw;
		top: 10vw;
		right: -7.5vw;
	}

	.what.service .service-parts02 {
		width: 18vw;
		left: -5vw;
		top: initial;
		bottom: 10vw;
	}

	.what-list {
		max-width: 100%;
		margin: 0 auto 40px;
	}

	.support.job .job-parts01 {
		width: 32.5vw;
		top: 5vw;
		right: -10vw;
	}

	.support.job .job-parts02 {
		width: 30vw;
		bottom: 15.5vw;
		left: -10vw;
	}

	.support.job .support-list ul {
		display: block;
	}

	.support.job .support-list {
		margin-bottom: 50px;
	}

	.support-list-box-title h3 span {
		font-size: 14px;
		letter-spacing: 0;
	}

	.support.job .cmn-btn p {
		padding: 15px 0;
		font-size: 18px;
	}

	.interview-cont {
		display: block;
	}

	.interview-cont-left {
		width: calc(100% - 30px);
		max-width: 400px;
		margin-bottom: 40px;
	}

	#interview-wrap .inter-parts01 {
		width: 27.5vw;
		top: 7vw;
		right: -5vw;
	}

	.interview-cont-left .inter-parts02 {
		width: 15vw;
		right: initial;
		left: -1vw;
		bottom: -4vw;
	}

	.interview-cont-right {
		width: 100%;
		padding: 0 20px;
	}

	.interview-cont-right-title {
		padding-top: 0px;
		margin-bottom: 30px;
	}

	.interview-cont-right-title span {
		font-size: 14px;
		display: block;
		padding-bottom: 5px;
	}

	.interview-cont-right-title h1 {
		font-size: 24px;
	}

	.interview-cont-right-copy {
		margin-bottom: 30px;
	}

	.interview-cont-right-copy p {
		font-size: 20px;
	}

	.interview-cont-right-txt h2 {
		margin-bottom: 15px;
		padding-left: 50px;
		font-size: 14px;
	}

	.interview-cont-right-txt h2::before,
	.interview-box-txt h2::before {
		width: 40px;
		height: 2px;
	}

	.interview-cont-right-txt h3 {
		font-size: 16px;
		padding-bottom: 10px;
	}

	.interview-cont.reverse {
		padding-top: 50px;
	}

	.interview-cont.reverse .interview-cont-left {
		margin: 0 auto;
	}

	.interview-cont-right-txt {
		margin-bottom: 30px;
	}

	.interview-box-inner {
		display: block;
		padding: 25px 15px;
	}

	.interview-box-img {
		width: 200px;
		margin: 0 auto 25px;
	}

	.interview-box-txt {
		width: 100%;
	}

	.interview-box-txt h2 {
		margin-bottom: 15px;
		padding-left: 50px;
		font-size: 14px;
	}

	.interview-box-txt h3 {
		font-size: 16px;
		padding-bottom: 10px;
	}

	.under-title {
		margin-bottom: 30px;
		padding-top: 15px;
	}

	.under-title::before {
		width: 40px;
		height: 2px;
	}

	.under-title h3 {
		font-size: 20px;
	}

	.career-box {
		margin-bottom: 40px;
		padding: 12.5px 10px;
	}

	.career-box-left {
		width: 40px;
		padding: 10px 0;
	}

	.career-box-left p {
		font-size: 20px;
	}

	.career-box-right {
		width: calc(100% - 55px);
	}

	.career-box-right p {
		font-size: 12px;
	}

	.under-title.small {
		margin-bottom: 20px;
		padding-top: 10px;
	}

	.under-title.small h3 {
		font-size: 18px;
	}

	.schedule-box {
		padding: 20px 15px;
		margin-bottom: 30px;
		display: block;
	}

	.schedule-line span {
		font-size: 14px;
		margin-right: 10px;
	}

	.schedule-line p {
		font-size: 13px;
	}

	.interview02 .schedule-box-left .schedule-line-wrap::before {
		height: 110%;
	}

	.interview04 .schedule-box-left .schedule-line-wrap::before {
		height: 110%;
	}

	.schedule-line {
		margin-bottom: 20px;
		padding-left: 15px;
	}

	.schedule-line::before {
		top: 0;
		left: -4.5px;
		width: 12.5px;
		height: 12.5px;
	}

	.schedule-line-wrap::before {
		height: 115%;
	}

	.schedule-box-right .schedule-line-wrap::before {
		height: 75%;
	}

	.schedule-box-left,
	.schedule-box-right {
		width: 100%;
	}

	.schedule-box-left {
		margin-bottom: 20px;
	}

	.under-btn a {
		width: 200px;
	}

	.under-btn a::before {
		width: 12.5px;
	}

	.interview-bottom-box {
		margin: 0 auto 60px;
	}

	.under-layout {
		margin-top: 62.5px;
	}

	.under-parts01 {
		width: 65vw;
		right: -7vw;
	}

	.under-box-cont {
		width: calc(100% - 15px);
		margin-block: 140px 60px;
		border-top-left-radius: 20px;
		border-bottom-left-radius: 20px;
	}

	.under-box-title h1 {
		font-size: 20px;
		padding-bottom: 5px;
	}

	.under-box-title p {
		font-size: 56px;
		line-height: 1;
	}

	.under-box-title {
		left: 20px;
		top: -72.5px;
	}

	.under-box-inner {
		padding: 50px 15px 40px;
		max-width: 100%;
	}

	#privacy .under-box-inner {
		padding-top: 80px;
	}

	.privacy-cont {
		margin-bottom: 45px;
	}

	.privacy-cont h2 {
		margin-bottom: 10px;
		font-size: 16px;
	}

	.privacy-cont p,
	.privacy-cont ul li {
		font-size: 13px;
	}

	.privacy-cont-box {
		border-radius: 10px;
		padding: 20px 15px;
	}

	#news .under-box-inner {
		padding: 50px 20px;
		max-width: 100%;
	}

	#news .under-box-title {
		top: -65px;
	}

	.news-archive .news-list li {
		padding-block: 20px;
		display: block;
	}

	.news-archive .news-list {
		margin-bottom: 40px;
	}

	.news-list-left {
		width: 100%;
		margin-bottom: 7.5px;
	}

	.pagination-prev a,
	.pagination-next a {
		font-size: 13px;
	}

	.pagination {
		gap: 30px;
		font-size: 13px;
	}

	.pagination-next::before {
		height: 20px;
	}

	.news-cat-list {
		margin-bottom: 20px;
	}

	.news-cat-list ul li a {
		font-size: 14px;
	}

	.modal-inner {
		width: 95%;
		padding: 20px 15px;
	}

	.news-list-right {
		width: 100%;
	}

	.contact-box-wrap {
		max-width: 100%;
		width: calc(100% - 30px);
		padding: 50px 0 80px;
	}

	.contact-box {
		border-radius: 20px;
		padding: 30px 15px;
	}

	.form-wrap-flex-left {
		display: none;
	}

	.form-wrap-flex-left::before {
		height: 85px;
		left: -5px;
	}

	.form-wrap-flex-left ol {
		padding-left: 10px;
	}

	.form-wrap-flex-left ol li {
		margin-bottom: 20px;
		font-size: 13px;
	}

	.form-wrap-flex-left ol li::before {
		left: -20px;
		width: 12px;
		height: 12px;
	}

	.form-wrap-flex-right {
		width: calc(100%);
	}

	.thank-txt h2 {
		font-size: 16px;
		padding-bottom: 10px;
	}

	.thank-txt p {
		font-size: 14px;
	}

	.under-box-smn-title {
		padding-bottom: 20px;
		margin-bottom: 30px;
	}

	.under-box-smn-title h2 {
		font-size: 24px;
	}

	#contact .under-parts02 {
		width: 20vw;
		left: -1vw;
		bottom: -22vw;
	}

	.contact-tel-txt {
		margin-bottom: 30px;
	}

	.contact-tel-txt p {
		font-size: 14px;
	}

	.contact-tel-box {
		max-width: 400px;
		margin: 0 auto;
		border-radius: 20px;
		display: block;
		padding: 20px 15px;
	}

	.contact-tel-box-left {
		width: 100%;
		text-align: center;
		margin-bottom: 15px;
		padding-bottom: 15px;
		border-bottom: 1px solid #B7C2C7;
	}

	.contact-tel-box-left h2 {
		font-size: 18px;
	}

	.contact-tel-box-right {
		width: 100%;
		padding: 0;
		border-left: none;
		text-align: center;
	}

	.contact-tel-box-right a img {
		margin-right: 10px;
	}

	.contact-box-txt {
		margin-bottom: 40px;
		text-align: left;
	}

	.contact-box-txt p {
		font-size: 14px;
	}

	.form-wrap-txt {
		margin-bottom: 30px;
	}

	.form-wrap-flex-right .input-wrap p.name-txt {
		margin-bottom: 10px;
		font-size: 14px;
	}

	.form-wrap-flex-right .input-wrap p.name-txt span {
		font-size: 12px;
		padding: 1.5px 5px 3.5px;
		top: -2px;
	}

	.form-wrap-flex-right .input-wrap p.example {
		margin-bottom: 10px;
		font-size: 12px;
	}

	.form-wrap-flex-right .input-wrap input,
	.form-wrap-flex-right .input-wrap textarea {
		padding: 5px 10px;
	}

	.form-wrap-flex-right .input-wrap {
		margin-bottom: 25px;
	}

	.form-wrap-flex-right .input-wrap p.zip-txt {
		font-size: 13px;
		padding-bottom: 5px;
	}

	.form-wrap-flex-right .input-wrap p.zip-txt.zip-txt-two {
		margin-top: 10px;
	}

	.input-wrap .mwform-checkbox-field label span {
		font-size: 13px;
	}

	.form-wrap-flex-right .input-wrap input[type="checkbox"] {
		width: 20px;
		height: 22px;
		border: 1px solid #B7C2C7;
		margin-right: 5px;
	}

	.form-wrap-flex-right .input-wrap input[type="checkbox"]:checked::after {
		width: 10px;
		height: 10px;
	}

	.form-wrap {
		margin-bottom: 40px;
		padding-bottom: 20px;
	}

	.submit-agree {
		margin-bottom: 20px;
	}

	.submit-agree p {
		font-size: 14px;
		line-height: 1.6;
	}

	.mwform-checkbox-field-text {
		font-size: 14px;
	}

	.submit-btn {
		max-width: 250px;
	}

	.contact-tel-box-right a {
		justify-content: center;
	}

	.input-wrap .mwform-checkbox-field {
		margin-left: 0px;
		height: 30px;
		display: block;
	}

	.mw_wp_form .horizontal-item+.horizontal-item {
		margin-left: 0px;
	}

	.submit-btn input {
		height: 60px;
		line-height: 59px;
		font-size: 14px;
	}

	#company .under-box-inner {
		padding: 80px 20px 0px;
		max-width: 100%;
	}

	.company-top-box-txt h2 {
		font-size: 20px;
		padding-bottom: 15px;
	}

	.company-top-box-txt p {
		font-size: 16px;
	}

	.company-top-box-txt:nth-child(1) {
		margin-bottom: 40px;
	}

	.president-abs-txt {
		top: -110px;
	}

	.president-abs-txt p {
		font-size: 64px;
	}

	.president-cont-flex {
		max-width: 100%;
		display: block;
	}

	.president-cont-flex-left {
		width: 100%;
		padding-top: 0px;
		margin-bottom: 30px;
	}

	.president-cont-flex-right {
		width: 300px;
		margin: 0 auto;
	}

	.president-cont-flex-left h2 {
		font-size: 20px;
		padding-bottom: 15px;
	}

	.president-cont-flex-left p {
		font-size: 16px;
		padding-right: 40px;
	}

	.president-cont-flex-left p.name {
		padding-top: 20px;
		font-size: 18px;
	}

	.under-box-cont.left {
		margin-block: 80px;
	}

	#company .under-box-inner {
		padding: 80px 15px 0px;
	}

	.company-table table tr th {
		padding: 20px 5px 20px 10px;
		font-size: 16px;
	}

	.company-table table tr td {
		padding: 20px 5px 20px 10px;
		font-size: 14px;
	}

	.company-table-flex {
		margin-bottom: 15px;
		display: block;
	}

	.company-table-flex-img {
		margin-bottom: 10px;
	}

	.company-table-flex-txt {
		width: 100%;
	}

	.company-table-flex-txt-tel {
		display: block;
	}

	.company-table-flex-txt-tel span {
		font-size: 20px;
		line-height: 1;
	}

	.company-table table tr td iframe {
		border-radius: 15px;
		margin-bottom: 10px;
		height: 200px;
	}

	.access-txt h3 {
		font-size: 14px;
	}

	.company-table {
		padding-bottom: 60px;
	}

	.history-cont {
		width: calc(100% - 30px);
		padding-bottom: 60px;
	}

	.history-cont ul::after {
		height: 97%;
		left: 64px;
		width: 1px;
		top: 13px;
	}

	.history-cont ul li {
		margin-bottom: 30px;
	}

	.history-cont-year {
		width: 60px;
	}

	.history-cont-year p {
		font-size: 20px;
	}

	.twoline .history-cont-year p {
		top: -7.5px;
	}

	.history-cont-txt {
		width: calc(100% - 80px);
		padding-left: 0px;
	}

	.history-cont-txt::after {
		width: 7.5px;
		height: 7.5px;
		top: 10px;
		left: -20px;
	}

	.history-cont-txt p {
		font-size: 12px;
		padding-top: 2.5px;
		width: calc(100% - 40px);
	}

	.history-cont-txt p.month {
		width: 35px;
		font-size: 16px;
		margin-right: 5px;
	}

	#company .under-parts03 {
		top: 105vw;
	}

	#company .under-parts02 {
		width: 40vw;
		bottom: 5vw;
		right: -5vw;
	}

	.service-flex {
		margin-bottom: 60px;
		display: block;
	}

	.service-flex-left {
		width: 100%;
		margin-bottom: 30px;
	}

	.service-flex-left h2 {
		font-size: 20px;
		padding-bottom: 15px;
	}

	.service-flex-left p {
		font-size: 16px;
		padding-bottom: 20px;
	}

	.service-flex-right {
		width: 100%;
		max-width: 400px;
		margin: 0 auto;
	}

	.service-menu ul {
		gap: 20px 15px;
		grid-template-columns: repeat(2, 1fr);
	}

	.service-menu-img {
		width: 60px;
	}

	.service-menu-txt {
		width: calc(100% - 70px);
		padding: 0 10px 0 0;
	}

	.service-menu-txt h3 {
		font-size: 14px;
	}

	.service-menu-txt img {
		width: 15px;
	}

	.service-menu ul li a {
		padding-bottom: 10px;
	}

	.japan-map {
		max-width: 100%;
		padding: 0 15px;
	}

	.jpn-txt {
		max-width: 100%;
		top: 32.5%;
		left: 50%;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		width: calc(100% - 30px);
	}

	.jpn-txt p {
		font-size: 16px;
	}

	#shop .under-box-inner {
		padding: 60px 15px 80px;
		max-width: 100%;
	}

	.shops-list-title {
		margin-bottom: 30px;
	}

	.shops-list-title h3 {
		font-size: 20px;
	}

	.shops-list-txt {
		display: block;
		margin-bottom: 20px;
	}

	.shops-list-txt-name img {
		height: 30px;
		margin-right: 5px;
	}

	.shops-list-txt-name span {
		font-size: 16px;
	}

	.shops-list-txt-name h4 {
		margin-bottom: 15px;
	}

	.shops-list-btn .about-btn a {
		margin-left: auto;
		max-width: 170px;
	}

	.shops-list-btn .about-btn a img {
		margin-left: auto;
	}

	.shop-list-area {
		margin-bottom: 15px;
	}

	.shop-list-area h5 {
		padding-left: 15px;
		font-size: 18px;
	}

	.shop-list-area h5::before {
		width: 7.5px;
		height: 1px;
	}

	.shops-list {
		margin-bottom: 80px;
	}

	.shop-lists .shop-list {
		margin-bottom: 40px;
	}

	.shop-list ul {
		display: block;
	}

	.shop-list ul li {
		margin-bottom: 20px;
	}

	.shop-list ul li:last-child {
		margin-bottom: 0;
	}

	.shop-list-box {
		padding: 15px;
	}

	.shop-list-box-title p {
		font-size: 16px;
	}

	.shop-list-box-title a {
		width: 90px;
		height: 30px;
		font-size: 12px;
		line-height: 29px;
	}

	.shop-list-box-title a span::before {
		width: 5px;
		height: 5px;
		border-top: solid 1px #fff;
		border-right: solid 1px #fff;
	}

	.shop-list-txt-list-txt p {
		font-size: 14px;
	}

	.shop-list ul li.shop-list-box-movie .shop-list-txt p {
		font-size: 14px;
	}

	.shop-list ul li.shop-list-box-movie .shop-list-box-title img {
		width: 20px;
		margin-right: 5px;
	}

	.shop-list ul li.shop-list-box-movie .shop-list-box-title p span {
		font-size: 16px;
	}

	.event-flex {
		display: block;
		justify-content: space-between;
		flex-direction: row-reverse;
		position: relative;
		max-width: 100%;
	}

	#event .cmn-title {
		margin-bottom: 60px;
	}

	.event-cat {
		position: relative;
		top: initial;
		right: initial;
		max-width: 500px;
		width: 100%;
		margin: 0 auto 30px;
	}

	.event-archive-wrapper .event-archive-list {
		margin: 0 auto 40px;
		display: grid;
		max-width: 500px;
		grid-template-columns: repeat(2, 1fr);
		gap: 30px 10px;
	}

	#event .event-list-txt p {
		font-size: 10px;
		padding-bottom: 0;
	}

	#event .event-list-txt h3 {
		font-size: 12px;
	}

	#event .event-list ul li {
		margin-bottom: 0px;
	}

	.home #event .event-list ul li {
		margin-bottom: 30px;
	}

	.event-pagination a {
		margin: 0 10px;
		font-size: 14px;
	}

	.event-pagination span {
		width: 22.5px;
		height: 22.5px;
		font-size: 14px;
	}

	.event-pagination .next {
		margin-left: 10px;
	}

	.event-pagination .prev {
		margin-right: 10px;
	}

	.event-pagination .prev img,
	.event-pagination .next img {
		width: 10px;
	}

	.event-pagination .next,
	.event-pagination .prev {
		height: 15px;
	}

	.event-single-wrapper .event-cat {
		margin: 0 auto 60px;
	}

	.event-single-cont-title {
		margin-bottom: 20px;
		padding-top: 10px;
	}

	.event-single-cont-title p {
		font-size: 12px;
	}

	.event-single-cont-title h1 {
		font-size: 16px;
	}

	#event .event-single-cont .event-list-img {
		margin-bottom: 20px;
	}

	.event-single-cont .event-single-cont-txt p {
		padding-bottom: 40px;
		font-size: 14px;
	}

	.event-single-cont {
		margin-bottom: 30px;
	}

	.messa-box::before {
		padding: 4px;
	}

	.sp-footer-flex {
		display: block;
	}

	.sp-footer-flex-left {
		margin-block: 10px 25px;
		padding-bottom: 25px;
		border-bottom: 1px solid #EBEBEB;
	}

	.sp-footer-flex-left ul {
		display: block;
	}

	.sp-footer-flex-left ul li a {
		margin-right: 0px;
		margin-bottom: 12.5px;
		display: block;
	}

	.sp-footer-flex-left ul li:last-child a {
		margin-bottom: 0;
	}

	.sp-footer-flex-right p {
		font-size: 10px;
		text-align: center;
		padding-bottom: 15px;
	}
}

@media screen and (max-width: 500px) {
	.mv-flex-left-title h2 {
		font-size: 9vw;
		padding-bottom: 20px;
	}

	.mv-flex-left-title p {
		font-size: 3vw;
	}

	.news-box-title {
		width: 50px;
	}

	.news-box-title p {
		font-size: 18px;
	}

	.news-box-title h2 {
		font-size: 10px;
	}

	.news-box-list {
		width: calc(100% - 70px);
	}

	.news-box-list ul li a p {
		font-size: 10px;
		margin-right: 15px;
	}

	.news-box-list ul li a h3 {
		font-size: 12px;
	}

	.news-box-list ul li a img {
		width: 20px;
		top: 37.5%;
	}

	.message {
		padding: 80px 0;
	}

	.guitter-parts01 {
		width: 70px;
		right: 0px;
		bottom: -70px;
	}

	.messa-parts03 {
		bottom: -5vw;
		left: 1vw;
		width: 30vw;
	}

	.data-cont-txt h3 {
		font-size: 14px;
		white-space: nowrap;
	}

	.event {
		padding: 80px 0 60px;
	}

	.footer-menu ul li a p {
		font-size: 16px;
	}

	.footer-contact-btns ul li a p {
		font-size: 13px;
		line-height: 1;
	}

	.footer-contact-btns ul li a {
		padding: 12.5px 0;
	}

	.footer-contact-btns ul li p {
		font-size: 10px;
	}

	.footer-contact-btns ul {
		gap: 0 10px;
	}

	.footer-menu ul li ul li a {
		font-size: 12px;
		margin-bottom: 10px;
	}

	.support-list-box-title h3 {
		font-size: 16px;
	}

	.support-list ul li {
		padding: 15px 10px;
	}

	.schedule-line span {
		font-size: 12px;
		letter-spacing: 0;
	}

	.schedule-line p {
		font-size: 10px;
	}

	.inner {
		max-width: 100%;
		width: calc(100% - 50px);
	}

	#interview-wrap .inner,
	.interview-bottom-box {
		width: calc(100% - 60px);
	}

	.interview-cont-right {
		padding: 0 30px;
	}

	.reverse .interview-cont-right {
		padding-right: 30px;
	}

	#interview-wrap .inter-parts01 {
		width: 35.5vw;
		top: 15vw;
	}

	.interview-cont-left .inter-parts02 {
		width: 30vw;
		bottom: -10vw;
	}

	.under-parts04 {
		right: -12.5vw;
		bottom: 3vw;
		width: 30vw;
	}

	.under-box-title {
		left: 10px;
	}

	.form-wrap-txt p {
		font-size: 13px;
	}

	.company-top-box-txt p {
		font-size: 14px;
	}

	.president-cont-flex-left p {
		font-size: 14px;
		padding-right: 37.5px;
	}

	.company-table table tr th {
		font-size: 13px;
		padding-left: 0;
	}

	.company-table table tr td {
		font-size: 12px;
	}

	.company-table-flex-txt-tel span {
		font-size: 18px;
	}

	.company-table table tr td iframe {
		height: 150px;
	}

	.history-cont {
		overflow-x: scroll;
	}

	.history-cont ul {
		width: 720px;
	}

	.access-txt h3 {
		font-size: 12px;
	}

	.access-txt p {
		font-size: 10px;
	}

	.service-menu ul {
		display: block;
	}

	.service-menu ul li {
		margin-bottom: 15px;
	}

	.service-menu ul li:last-child {
		margin-bottom: 0;
	}

	.jpn-txt {
		top: 27.5%;
		left: 44.5%;
		width: calc(100% - 70px);
	}

	.jpn-txt p {
		font-size: 13px;
	}

	.shops-list-btn .about-btn a {
		max-width: 130px;
		height: 30px;
	}

	.about-btn a img {
		height: 30px;
	}

	.shop-list-txt-lists {
		display: block;
	}

	.shop-list-txt-list {
		width: 100%;
		margin-top: 5px;
	}

	.shop-list-txt-list:nth-child(1) {
		margin-bottom: 5px;
		margin-top: 0px;
	}

	.shop-list-box-title p {
		font-size: 14px;
		width: calc(100% - 95px);
	}

	.shops-list-txt-name img {
		height: 25px;
	}

	.shops-list-txt-name span {
		font-size: 14px;
	}

	.service-flex-left p {
		font-size: 14px;
	}

	.about-btn a {
		height: 30px;
		max-width: 130px;
		margin-left: auto;
	}

	.about-btn a img {
		margin-left: auto;
	}

	.shop-cont .president-abs-txt {
		top: -10px;
	}

	.shop-list-txt-list-txt p {
		font-size: 13px;
	}

	.shop-list-txt-list-img {
		width: 15px;
		height: 15px;
		top: 2px;
	}

	.shop-list ul li.shop-list-box-movie .shop-list-box-title p span {
		font-size: 14px;
	}

	.shop-list ul li.shop-list-box-movie .shop-list-txt p {
		font-size: 13px;
	}

	.inter-parts01 {
		width: 30vw;
	}

	.data-parts01 {
		width: 25.5vw;
	}

	.data-parts02 {
		width: 23.5vw;
		bottom: -3vw;
		right: 1vw;
	}

	.messa-parts02 {
		width: 30.5vw;
		top: 6vw;
	}

	.inter-parts02 {
		width: 30vw;
		left: -5vw;
	}

	.what-parts02 {
		width: 20vw;
		right: initial;
		bottom: 5vw;
		left: 0;
	}

	.cmn-title h2 span {
		font-size: 32px;
	}

	.what-list ul li::before {
		padding: 2px;
	}

	.event-single-wrapper .event-cat {
		margin: 0 auto 40px;
	}

	.event-single-cont .event-single-cont-txt p:last-child {
		padding-bottom: 0;
	}

	.event .cmn-btn p {
		font-size: 16px;
		padding: 15px 0;
	}

	.event-single-cont {
		margin-bottom: 40px;
	}

	.messa-box p {
		font-size: 13px;
	}

	.drawer-menu {
		padding: 80px 30px 0px !important;
	}

	.inter-parts03 {
		width: 50vw;
	}

	.support.job .cmn-btn p,
	.event .cmn-btn p {
		padding: 12.5px 0;
		font-size: 14px;
		max-width: 200px;
		margin: 0 auto;
	}

	.support.job .cmn-btn,
	.event .cmn-btn {
		max-width: 200px;
	}

	.home .event-list-img {
		height: 200px;
	}

	.career-cont-img {
		margin-left: 0;
		width: 90%;
		margin: 0 auto 0 0;
	}

	.video-close {
		font-size: 14px;
		padding: 5px;
		line-height: 1;
	}
}
