@charset "utf-8";

/*--------------------------------------------------------------------------
共通
--------------------------------------------------------------------------*/
.voice_link{
    position: relative;
	background: #fff;
}

.voice_link::after{
    content: "";
    background: url(../images/common/arrow.png);
    display: inline-block;
    width: 26px;
    height: 26px;
    position: absolute;
    right: 24px;
}

.speech-bubble{
	position: absolute;
    top: -128px;
    left: 8%;
	transform: translate(-50%, 0);
	width: 200px;
	height: 122px;
	padding: 16px 14px 12px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 6px 12px rgba(0, 0, 0, 0.05);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	text-align: center;
	z-index: 2;
}

.speech-bubble::after{
	content: "";
    position: absolute;
    bottom: -8px;
    right: 24px;
    border-width: 25px 0 0 17px;
    border-style: solid;
    border-color: white transparent transparent transparent;
    transform: rotate(332deg);
	z-index: 1;
}

#contents_wrap .speech-bubble p{
	margin: 0;
	font-size: 80%;
	font-weight: 700;
	line-height: 1.4;
	color: #333;
}

.speech-bubble a{
	color: #2684e4;
	font-size: 80%;
	text-decoration: none;
}

.speech-bubble a::before{
	content: "> ";
}


.entry_wrap,
.bottom_entry_wrap{
	padding-top: 92px;
	display: flex;
	justify-content: center;
}

.entry_wrap .entry_btn,
.bottom_entry_wrap .entry_btn{
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: auto;
    min-width: 372px;
    font-size: 144%;
    padding: 24px 40px;
    border-radius: 999px;
	background: linear-gradient(90deg, #1989d8 0%, #22b7d2 100%);
	color: #fff;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
}


.entry_wrap .entry_btn .bottom_entry_wrap,
.entry_none{
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: auto;
    min-width: 372px;
    font-size: 144%;
    padding: 24px 40px;
    border-radius: 999px;
	background: #bdb6b6;
	color: #fff;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
}


.bottom_entry_wrap .entry_btn::after{
	font-family: "fontello";
    content: '\e800';
    position: absolute;
    right: 32px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #fff;
    color: #1a90d7;
    font-size: 40%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.bottom_entry_wrap .entry_btn:hover{
	opacity: 0.8;
}

br.pc{
	display: block;
}

br.sp{
	display: none;
}

@media screen and (max-width: 1023px){

	.bottom_entry_wrap{
		padding-top: 44px;
	}

	.bottom_entry_wrap .entry_btn{
        min-width: 264px;
        height: auto;
        padding: 16px 32px;
	}

	.bottom_entry_wrap .entry_btn::after{
		width: 24px;
		height: 24px;
		font-size: 40%;
		right: 14px;
	}

	.entry_wrap .entry_btn,
	.bottom_entry_wrap .entry_none {
	    min-width: 0;
	    max-width: 92%;
		width: 372px;
	}
}

@media screen and (max-width: 520px){

	br.pc{
		display: none;
	}

	br.sp{
		display: block;
	}

	.entry_wrap .entry_btn,
	.bottom_entry_wrap .entry_none {
	    min-width: 0;
	    max-width: 92%;
		width: 372px;
	}

}

/*--------------------------------------------------------------------------
共通 / バナー
--------------------------------------------------------------------------*/
body #main_wrap section#banner_container{
	max-width: none;
	margin: 0;
	padding-top: 160px;
	padding-bottom: 160px;
	background: #fff;
}

body #main_wrap section#banner_container > ul{
	width: min(1280px, calc(100% - 48px));
	max-width: none;
	margin: 0 auto;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 48px;
}

body #banner_container ul > li{
	margin: 0;
	padding: 0;
}

body #banner_container ul > li > a{
	display: flex;
	align-items: center;
    justify-content: center;
	gap: 24px;
	min-height: 140px;
	padding: 24px 56px;
	border-radius: 30px;
	text-decoration: none;
	box-sizing: border-box;
}

body #banner_container .banner-youtube{
	background: #29aae3;
}

body #banner_container .banner-instagram{
	background: #8fc320;
}

body #banner_container .banner-icon{
	flex: 0 0 auto;
	width: 68px;
	height: 68px;
	display: grid;
	place-items: center;
}

body #banner_container .banner-icon img{
	display: block;
	max-width: 100%;
	height: auto;
}

body #banner_container .banner-text{
	font-size: 128%;
	line-height: 1.25;
	font-weight: 700;
	letter-spacing: 0.01em;
	color: #fff;
}

body #banner_container .banner:hover{
	opacity: 0.88;
}

@media screen and (max-width: 1100px) {

	body #main_wrap section#banner_container{
		padding-top: 40px;
		padding-bottom: 48px;
	}

	body #main_wrap section#banner_container > ul{
		width: calc(100% - 24px);
		grid-template-columns: 1fr;
		gap: 16px;
	}

	body #banner_container .banner{
		min-height: 104px;
		padding: 16px 22px;
		border-radius: 20px;
		gap: 16px;
	}

	body #banner_container .banner-icon{
		width: 48px;
		height: 48px;
	}
}

@media screen and (min-width: 769px) and (max-width: 1100px) {

	body #main_wrap section#banner_container > ul{
		width: calc(100% - 24px);
		grid-template-columns: 1fr 1fr;
		gap: 16px;
	}
}

@media screen and (min-width: 521px) and (max-width: 768px) {

	body #banner_container ul > li > a {
	    gap: 16px;
        min-height: 80px;
        padding: 24px;
	}

	body #banner_container .banner-text {
	    font-size: 100%;
	}
}

@media screen and (max-width: 520px) {

	body #banner_container ul > li > a {
	    gap: 16px;
        min-height: 80px;
        padding: 16px 24px;
	}

	body #banner_container .banner-text {
	    font-size: 96%;
	}
}

/*--------------------------------------------------------------------------
メインイメージ
--------------------------------------------------------------------------*/
body.value #mainimage{
	background-image: url(../images/at-first/value/mainimage_back.jpg);
}

body.presence #mainimage{
	background-image: url(../images/at-first/presence/mainimage_back.jpg);
}

body.task #mainimage{
	background-image: url(../images/task/mainimage_back.jpg);
}

body.interview-detail #mainimage{
	background-image: url(../images/work-people/interview01/mainimage_back.jpg);
    background-position: center top;
	height: 800px;
}

body.interview01 #mainimage{
	background-image: url(../images/work-people/interview01/mainimage_back.jpg);
}
body.interview02 #mainimage{
	background-image: url(../images/work-people/interview02/mainpht.jpg);
}
body.interview03 #mainimage{
	background-image: url(../images/work-people/interview03/mainpht.jpg);
}
body.interview04 #mainimage{
	background-image: url(../images/work-people/interview04/mainpht.jpg);
}
body.interview05 #mainimage{
	background-image: url(../images/work-people/interview05/mainpht.jpg);
}
body.interview06 #mainimage{
	background-image: url(../images/work-people/interview06/mainpht.jpg);
}
body.interview07 #mainimage{
	background-image: url(../images/work-people/interview07/mainpht.jpg);
}
body.interview-detail #mainimage > *,
body.interview-detail #mainimage::before {
    height: 360px;
}

body.interview-detail #mainimage .profile_wrap {
    position: absolute;
    top: 440px;
    right: 16%;
    background: rgb(255 247 111 / 80%);
    padding: 40px;
}

body.interview-detail #mainimage .profile_wrap .catch{
    font-size: 200%;
    font-weight: bold;
    line-height: 1.4;
}

body.interview-detail #mainimage .profile_wrap .profile{
    margin-top: 16px;
    font-size: 100%;
}

body.attempt #mainimage{
	background-image: url(../images/work-style/attempt/mainimage_back.jpg);
}

body.training #mainimage{
	background-image: url(../images/work-style/education/mainimage_back.jpg);
}

body.internship #mainimage{
	background-image: url(../images/internship/index/mainimage_back.jpg);
	height: 800px;
}

body.internship #mainimage > *,
body.internship #mainimage::before {
    height: 360px;
}

body.internship #mainimage .movie_wrap {
    position: absolute;
    top: 440px;
    right: calc(50% - 400px);
    background: #fff;
    padding: 24px;
    border-radius: 24px;
}

body.internship #mainimage .movie_wrap .desc{
    margin-top: 8px;
    font-weight: 500;
    text-align: center;
}

body.recruit #mainimage{
	background-image: url(../images/recruit/index/mainimage_back.jpg);
}

body.message #mainimage{
	background-image: url(../images/recruit/message/mainimage_back.jpg);
}

body.for_guardian #mainimage{
	background-image: url(../images/recruit/for_guardian/mainimage_back.jpg);
}

body.faq #mainimage{
	background-image: url(../images/recruit/faq/mainimage_back.jpg);
}

body.career #mainimage{
	background-image: url(../images/career/mainimage_back.jpg);
    background-position: center top;
	height: 800px;
}

body.career #mainimage > *,
body.career #mainimage::before {
    height: 360px;
}

body.career #mainimage .catch_wrap{
    position: absolute;
    top: 312px;
    left: calc(50% - 576px);
    background: #fff;
    padding: 40px;
    width: 576px;
}

body.career #mainimage .catch_wrap .catch{
    font-size: 200%;
    font-weight: bold;
    line-height: 1.4;
}

body.career #mainimage .catch_wrap .desc{
    margin-top: 16px;
    font-size: 100%;
}

@media screen and (min-width: 521px) and (max-width: 960px) {

	body.internship #mainimage .movie_wrap {
	    right: 4%;
	}

}

@media screen and (max-width: 520px) {

	body.interview-detail #mainimage::before {
	    height: 136px;
	}

	body.interview-detail #mainimage > *{
		height: 360px;
	    justify-content: flex-start;
	}

	body.interview-detail #mainimage .title_wrap {
        position: absolute;
        top: 320px;
	}

	body.interview-detail #mainimage .profile_wrap {
	    right: 4%;
        margin-left: 4%;
	    padding: 24px;
	}

	body.interview-detail #mainimage .profile_wrap .catch {
	    font-size: 144%;
	}

	body.interview-detail #mainimage .profile_wrap .profile {
	    font-size: 80%;
	}

	body.internship #mainimage {
	    background-position: 66%;
	}

	body.internship #mainimage .movie_wrap {
	    top: 440px;
	    right: 4%;
	    margin-left: 4%;
	}


}

/*--------------------------------------------------------------------------
DISのバリューチェーン
--------------------------------------------------------------------------*/
body.page-template-page-lp-link.value #contents_wrap > #main_wrap > :not(section) {
    margin-right: auto;
    margin-left: auto;
    max-width: 100%;
}

body.value section#about_container {
    background: #eff9fe;
}

/* ===== 全体 ===== */
.page-template-page-lp-link #main_wrap section > .flow4{
    width: 100%;
    max-width: 1430px;
}

.flow4{
  --gap: 28px;
  --border: #cfe7ff;
  margin: 0 auto;
  padding: 28px 24px 34px;
  color:#173a5a;
}

.flow4__head{
	display: grid;
	grid-template-columns: 1.12fr 1.3fr 1fr 1fr;
	gap: 0;
	margin-bottom: 28px;
}

.flow4__step{
  position: relative;
  padding: 18px 18px;
  text-align: center;
  font-weight: 700;
  font-size: 22px;
  color: #fff;
  line-height: 1;
}

/* 右の三角（矢印） */
.flow4__step::after{
  content:"";
  position:absolute;
  top:0;
  right:-32px;
  width:0;height:0;
  border-top: 29px solid transparent;
  border-bottom: 29px solid transparent;
  border-left: 32px solid currentColor; /* ← 色は step の color で渡す */
  z-index: 2;
}

/* 最後だけ矢印不要 */
/*.flow4__step:last-child::after{ display:none; }*/

/* 色（背景色と矢印色を揃えるため currentColor を使う） */
.flow4__step.is-sky   { background:#33a9ff; color:#33a9ff; }
.flow4__step.is-yellow{ background:#fff266; color:#fff266; }
.flow4__step.is-blue  { background:#2f8cff; color:#2f8cff; }
.flow4__step.is-navy  { background:#0c4aa2; color:#0c4aa2; }

/* 文字色は個別に上書き（currentColorは矢印用に残す） */
.flow4__step.is-sky,
.flow4__step.is-blue,
.flow4__step.is-navy{ color: inherit; }
.flow4__step.is-sky{ color:#33a9ff; }
.flow4__step.is-blue{ color:#2f8cff; }
.flow4__step.is-navy{ color:#0c4aa2; }

.flow4__step.is-sky,
.flow4__step.is-blue,
.flow4__step.is-navy{ color: #fff; }

/* 黄色だけ文字を黒寄りに */
.flow4__step.is-yellow{ color:#1b2b3a; }
.flow4__step.is-yellow::after{ border-left-color:#fff266; }
.flow4__step.is-sky::after{ border-left-color:#33a9ff; }
.flow4__step.is-blue::after{ border-left-color:#2f8cff; }
.flow4__step.is-navy::after{ border-left-color:#0c4aa2; }

/* ===== 下：4カラム本体 ===== */
.flow4__grid{
	display: grid;
	grid-template-columns: 346px 413px 337px 282px;
	gap: 24px;
	gap: 0;
}
.flow4__col{
  display:flex;
  flex-direction: column;
  min-width: 0;
}

.flow4__col:nth-child(1){
	background: url(../images/at-first/value/dis_img_1.png) no-repeat;
}
.flow4__col:nth-child(2){
	background: url(../images/at-first/value/dis_img_2.png) no-repeat;
}
.flow4__col:nth-child(3){
	background: url(../images/at-first/value/dis_img_3.png) no-repeat;
}
.flow4__col:nth-child(4){
	background: url(../images/at-first/value/dis_img_4.png) no-repeat;
}

.flow4__content{
  position: relative;
  background: transparent;
  min-height: 360px;
  padding: 18px 12px;
}

.flow4__text{
	margin: 0 0 16px;
	font-size: 68%;
	font-weight: 500;
	line-height: 1.6;
	color: #333;
	text-align: center;
}

.flow4__col:nth-child(1) .flow4__text{
    letter-spacing: -0.5px;
}

.flow4__col:nth-child(1) .flow4__foot{
	margin-right: 24px;
}

.flow4__col:nth-child(2) .flow4__foot{
	margin-right: 0;
}

.flow4__col:nth-child(3) .flow4__foot{
	margin-left: 24px;
	margin-right: 24px;
}

.flow4__col:nth-child(4) .flow4__foot{
	margin-left: 0;
}

/* 画像枠 */
.flow4__img{
  display:flex;
  align-items: center;
  justify-content: center;
  padding: 6px 0 0;
}

.flow4__img img{
  width: 100%;
  max-width: 360px;   /* 好みで調整 */
  height: auto;
  display:block;
}

/* 2カラム目の斜線背景（画像のようなハッチ） */
.flow4__content.is-hatched{
  background:
    repeating-linear-gradient(
      135deg,
      rgba(0,0,0,.18) 0px,
      rgba(0,0,0,.18) 3px,
      transparent 3px,
      transparent 7px
    );
  border-radius: 4px;
  padding: 18px 12px;
}

/* 下のキャプション（青い線＋文字） */
.flow4__foot{
    margin-top: 80px;
    padding-top: 12px;
    padding-bottom: 12px;
	text-align:center;
	font-weight: 700;
	color:#1a63b6;
	border-top: 1px solid #2f8cff;
	border-bottom: 1px solid #2f8cff;
}

body.value .flow4[data-reveal-ready="1"].is-inview .flow4__grid .flow4__step.sp{
	display: none;
}

/* ===== flow4 スクロール表示アニメーション ===== */
@keyframes flow4-reveal {
	from { opacity: 0; transform: translateX(-24px); }
	to   { opacity: 1; transform: none; }
}

body.value .flow4[data-reveal-ready="1"]{
	background: transparent;
	opacity: 0;
	transition: opacity 1.2s ease, background-color 1.2s ease;
}

body.value .flow4[data-reveal-ready="1"].is-inview{
	opacity: 1;
}

body.value .flow4[data-reveal-ready="1"] .flow4__head .flow4__step,
body.value .flow4[data-reveal-ready="1"] .flow4__grid .flow4__col{
	opacity: 0;
	transform: translateX(-24px);
}

body.value .flow4[data-reveal-ready="1"].is-inview .flow4__head .flow4__step,
body.value .flow4[data-reveal-ready="1"].is-inview .flow4__grid .flow4__col{
	animation: flow4-reveal .7s ease forwards;
	opacity: 0;
}

body.value .flow4__head .flow4__step:nth-child(1){ z-index: 4; }
body.value .flow4__head .flow4__step:nth-child(2){ z-index: 3; }
body.value .flow4__head .flow4__step:nth-child(3){ z-index: 2; }
body.value .flow4__head .flow4__step:nth-child(4){ z-index: 1; }

body.value .flow4[data-reveal-ready="1"].is-inview .flow4__head .flow4__step:nth-child(1),
body.value .flow4[data-reveal-ready="1"].is-inview .flow4__grid .flow4__col:nth-child(1){
	animation-delay: 0s;
}

body.value .flow4[data-reveal-ready="1"].is-inview .flow4__head .flow4__step:nth-child(2),
body.value .flow4[data-reveal-ready="1"].is-inview .flow4__grid .flow4__col:nth-child(2){
	animation-delay: .4s;
}

body.value .flow4[data-reveal-ready="1"].is-inview .flow4__head .flow4__step:nth-child(3),
body.value .flow4[data-reveal-ready="1"].is-inview .flow4__grid .flow4__col:nth-child(3){
	animation-delay: .8s;
}

body.value .flow4[data-reveal-ready="1"].is-inview .flow4__head .flow4__step:nth-child(4),
body.value .flow4[data-reveal-ready="1"].is-inview .flow4__grid .flow4__col:nth-child(4){
	animation-delay: 1.3s;
}

@media (prefers-reduced-motion: reduce){
	body.value .flow4[data-reveal-ready="1"] .flow4__head .flow4__step,
	body.value .flow4[data-reveal-ready="1"] .flow4__grid .flow4__col{
		opacity: 1;
		transform: none;
		animation: none;
	}
}

@media screen and (min-width: 1440px) and (max-width: 1560px) {
	.flow4__grid{
		grid-template-columns: 1.12fr 1.44fr 1fr 1fr;
	}
}

@media screen and (max-width: 1440px) {

	body.value .flow4[data-reveal-ready="1"].is-inview .flow4__head .flow4__step{
		display: none;
	}

	body.value .flow4[data-reveal-ready="1"].is-inview .flow4__grid .flow4__step.sp{
		display: block;
	}

	.flow4__grid{
		grid-template-columns: repeat(2, 1fr);
		gap: 24px;
	}
	.flow4__head{ grid-template-columns: repeat(2, 1fr); }
	.flow4__step::after{ display:none; }

	.flow4__col{
    	background-position: center 80px !important;
		margin-bottom: 40px;
	}

	.flow4__col:nth-child(1) .flow4__foot {
	    margin-right: 0;
	}

	.flow4__col:nth-child(3) .flow4__foot{
		margin-left: 0;
		margin-right: 0;
	}

	.flow4__foot {
        margin-top: 100px;
    }

}

@media screen and (max-width: 1296px) {

	body.value.page-template-page-lp-link #main_wrap section#about_container > *{
		padding-right: 4%;
		padding-left: 4%;
	}

}

@media screen and (max-width: 640px) {

	.flow4{ padding: 16px 16px 24px; }
	.flow4__grid{ grid-template-columns: 1fr; }
	.flow4__head{ grid-template-columns: 1fr; }
	.flow4__step{ font-size: 18px; padding: 16px; }
	.flow4__content{ min-height: 240px; }

	.flow4__foot {
	    margin-top: 224px;
	}

}

@media screen and (max-width: 520px) {

	.flow4__col{
    	background-position: center 80px !important;
	}

	.flow4__foot {
	    margin-top: 200px;
	}

	.flow4__col:nth-child(2) .flow4__foot{
	    margin-top: 224px;
	}
}

/*--------------------------------------------------------------------------
DISのバリューチェーン / what_container 背景スライダー
--------------------------------------------------------------------------*/
body.value.page-template-page-lp-link #main_wrap section#what_container{
	padding-top: 0;
	padding-bottom: 0;
    background: #2684e4;
}

body.value.page-template-page-lp-link #main_wrap section#what_container > .what-slider-wrap{
	position: relative;
    width: 100%;
    max-width: 100%;
	margin: 0;
	overflow: hidden;
}

body.value #what_container .what-bg-slider{
	position: absolute;
	inset: 0;
    max-width: 80%;
    margin-left: auto;
}

body.value #what_container .what-bg-slide{
	position: absolute;
	inset: 0;
	margin: 0;
	opacity: 0;
	transition: opacity 700ms ease;
}

body.value #what_container .what-bg-slide.is-active{
	opacity: 1;
}

body.value #what_container .what-bg-slide img{

}

body.value #what_container .what-bg-slide:nth-child(1) img{
	object-position: 55% 50%;
}

body.value #what_container .what-bg-slide:nth-child(2) img{
	object-position: 50% 35%;
}

body.value #what_container .what-bg-slide:nth-child(3) img{
	object-position: 62% 58%;
}

body.value #what_container .what-bg-slide img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

body.value #what_container .what-message-panel{
    position: relative;
    z-index: 3;
    width: min(60%, 66%);
    margin: 92px 0;
    padding: 64px 76px 64px 256px;
    background: #2684e4;
    color: #fff;
}

body.value #what_container .what-message-panel::before,
body.value #what_container .what-message-panel::after{
	content: "";
	position: absolute;
	left: 0;
	width: clamp(72px, 16vw, 340px);
	background: #2684e4;
	pointer-events: none;
}

body.value #what_container .what-message-panel::before{
	top: 0;
	height: 120px;
	transform: translate(-100%, -92px);
}

body.value #what_container .what-message-panel::after{
	bottom: 0;
	height: 152px;
	transform: translate(-100%, 152px);
}

body.value #what_container .what-message-panel h2{
	margin: 0;
	color: #fff;
    text-align: left;
}

body.value #what_container .what-message-panel h2::after{
	display: none;
}

body.value #what_container .what-message-panel p{
	margin: 30px 0 0;
	color: #fff;
	font-size: 100%;
	line-height: 2;
}

body.value #what_container .what-message-panel p.what-message-emphasis{
	margin-top: 36px;
}

body.value #what_container .what-message-panel p.what-message-emphasis span{
    display: inline-block;
	color: #f8f04f;
	font-weight: 700;
    transform: scale(1.4);
    margin: 0 1em;
    transform-origin: center;
    position: relative;
    top: -3px;
}

body.value #what_container .what-slider-nav{
	position: absolute;
	top: 50%;
	right: 26px;
	transform: translateY(-50%);
	display: flex;
	flex-direction: column;
	gap: 12px;
	z-index: 4;
}

body.value #what_container .what-slider-dot{
	position: relative;
	width: 14px;
	height: 98px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

body.value #what_container .what-slider-dot::before{
	content: "";
	position: absolute;
	top: 0;
	left: 6px;
	width: 2px;
	height: 100%;
	background: rgba(255, 255, 255, 0.9);
	transition: background-color 250ms ease;
}

body.value #what_container .what-slider-dot.is-active::before{
	background: #1b7cff;
}

@media screen and (max-width: 1023px) {
	body.value #what_container{
		margin-top: 48px;
	}

	body.value #what_container > .what-slider-wrap{
		min-height: 0;
		background: #2684e4;
	}

	body.value #what_container .what-bg-slider{
		position: relative;
		height: 52vw;
		min-height: 260px;
	}

	body.value #what_container .what-message-panel{
		width: auto;
        margin: -28px 0 20px;
		padding: 34px 24px 40px;
	}

	body.value #what_container .what-message-panel::before,
	body.value #what_container .what-message-panel::after{
		display: none;
	}

	body.value #what_container .what-slider-nav{
        top: 37vw;
        right: 24px;
		transform: translateY(-50%);
	}

	body.value #what_container .what-slider-dot{
		height: 56px;
	}
}

@media screen and (max-width: 520px) {
	body.value #what_container .what-message-panel h2{
	}

	body.value #what_container .what-message-panel p{
	}
}


/*--------------------------------------------------------------------------
DISのバリューチェーン / movie_container
--------------------------------------------------------------------------*/
body.value #movie_container{
	background: #fff;
}

body.value #movie_container .movie-wrap{
	width: min(1200px, calc(100% - 48px));
	margin: 0 auto;
}

body.value #movie_container h2{
	margin: 0;
	text-align: center;
	font-size: clamp(36px, 3.2vw, 66px);
	font-weight: 700;
	line-height: 1.2;
	color: #333333;
}

body.value #movie_container .movie-player-wrap{
	width: 100%;
	background: #fff;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
    aspect-ratio: 16 / 9;
}

body.value #movie_container .movie-player-wrap iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

body.value #movie_container .movie-player{
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #dbdbdb;
}

@media screen and (max-width: 1023px) {
	body.value #movie_container{
		padding: 64px 0 76px;
	}

	body.value #movie_container .movie-wrap{
		width: min(1200px, calc(100% - 28px));
	}
}


@media screen and (max-width: 768px) {
	body.value #movie_container{
        padding: 40px 0;
	}
}

/*--------------------------------------------------------------------------
DISのバリューチェーン / usp_container
--------------------------------------------------------------------------*/
body.value #usp_container{
	background: #fff;
}

body.value #usp_container .usp-wrap{
    width: 100%;
    max-width: 100%;
	margin: 0 auto;
}

body.value #usp_container h2{
	margin: 0;
	text-align: center;
	font-size: clamp(36px, 3.3vw, 68px);
	font-weight: 700;
	line-height: 1.2;
	color: #333333;
}

body.value #usp_container .usp-grid{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
}

body.value #usp_container .usp-card{
	background: #fff;
}

body.value #usp_container .usp-card > h3{
	margin: 0;
	padding: 0 20px 24px;
	text-align: center;
	color: #2684e4;
    font-size: 152%;
    line-height: normal;
}

body.value #usp_container .usp-card > h3::before{
	display: none;
}

body.value #usp_container .usp-card > h3 .usp-sub{
	font-size: 72%;
}

body.value #usp_container .usp-card > .usp-subtitle{
	margin: -4px 0 20px;
	padding: 0 20px;
	text-align: center;
	font-size: clamp(16px, 1vw, 26px);
	font-weight: 700;
	line-height: 1.35;
	color: #333333;
}

body.value #usp_container .usp-image{
	background: #ddd;
}

body.value #usp_container .usp-image img{
	display: block;
	width: 100%;
	aspect-ratio: 5 / 4;
	object-fit: cover;
}

body.value #usp_container .usp-body{
	padding: 32px 24px 40px;
}

body.value #usp_container .usp-body h4{
	margin: 0;
	padding: 0;
	color: #333333;
	background: none;
}

body.value #usp_container .usp-body p{
	margin: 20px 0 0;
	color: #333333;
	font-size: 80%;
}

@media screen and (max-width: 1200px) {

	body.value #usp_container .usp-grid{
		grid-template-columns: 1fr 1fr;
		gap: 28px;
	}

	body.value #usp_container .usp-wrap{
		width: min(1200px, calc(100% - 28px));
	}

	body.value #usp_container .usp-card > h3{
		padding: 8px 0 16px;
		line-height: 1.4;
	}

	body.value #main_wrap #usp_container .usp-body h4{
		padding: 0;
	}

	body.value #usp_container .usp-card > .usp-subtitle{
		margin-bottom: 16px;
	}
}

@media screen and (max-width: 1023px) {
	body.value #usp_container{
		padding: 16px 0 72px;
	}

	body.value #usp_container .usp-body{
		padding: 24px 0 32px;
	}

	body.value #usp_container span.usp-sub {
	    display: block;
	}

    body.value #usp_container .usp-body h4 {
        font-size: 100%;
    }

}

@media screen and (min-width: 521px) and (max-width: 960px) {

	body.value #usp_container .usp-body p{
		font-size: 80%;
	}
}

@media screen and (max-width: 520px) {

	body.value #usp_container .usp-grid{
		grid-template-columns: 1fr;
	}

    body.value #usp_container .usp-body h4 {
        font-size: 116%;
    }

	body.value #usp_container .usp-body p {
	    font-size: 100%;
	}

}

/*--------------------------------------------------------------------------
DISのバリューチェーン / tools_container
--------------------------------------------------------------------------*/
body.value #tools_container{
	background: #e8f2f9;
	padding: 80px 0 112px;
}

body.value #tools_container .tools-wrap{
	width: min(1200px, calc(100% - 28px));
	margin: 0 auto;
}

body.value #tools_container h2{
	margin: 0;
	text-align: center;
	color: #333333;
}

body.value #tools_container .tools-grid{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

body.value #tools_container .tool-card{
	background: #fff;
	border-radius: 32px;
	padding: 24px;
}

body.value #tools_container .tool-card a{
	text-decoration: none;
}

body.value #tools_container .tool-image{
	border: 1px solid #e4e4e4;
	background: #fff;
}

body.value #tools_container .tool-image img{
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
    font-size: 80%;
}

body.value #tools_container .tool-body{
	padding-top: 16px;
}

body.value #tools_container .tool-body h3{
	margin: 0;
    padding: 0;
    font-size: 100%;
	color: #333333;
}

body.value #tools_container .tool-body h3::before{
	display: none;
}

body.value #tools_container .tool-body p{
	margin: 8px 0 0;
	color: #333333;
    font-size: 80%;
}

@media screen and (max-width: 1200px) {
	body.value #tools_container .tools-grid{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media screen and (max-width: 767px) {
	body.value #tools_container{
		padding: 64px 0 72px;
	}

	body.value #tools_container .tools-grid{
		grid-template-columns: 1fr 1fr;
		gap: 18px;
	}

	body.value #tools_container .tool-card{
		border-radius: 22px;
		padding: 16px 14px 18px;
	}
}

@media screen and (min-width: 521px) and (max-width: 960px) {

	body.value #tools_container .tool-body p {
	    font-size: 80%;
	}
}

@media screen and (max-width: 520px) {

	body.value #tools_container .tools-grid{
		grid-template-columns: 1fr;
	}

	body.value #tools_container .tool-body h3{
        font-size: 116%;
    }

	body.value #tools_container .tool-body p {
	    font-size: 100%;
	}
}
/*--------------------------------------------------------------------------
numbers / 仕入れ・販売網
--------------------------------------------------------------------------*/
body.presence.page-template-page-lp-link #contents_wrap > #main_wrap > :not(section) {
    margin-right: auto;
    margin-left: auto;
    max-width: 100%;
}

body.presence.page-template-page-lp-link #main_wrap section#scale_container{
	padding-top: 80px;
    background: #eff9fe;
}

body.presence.page-template-page-lp-link #main_wrap section > .supply_sales_network{
    width: 100%;
    max-width: 1500px;
	position: relative;
	margin-top: 40px;
	padding: 52px;
	overflow: hidden;
}

body.presence .supply_sales_network::before{
	content: "";
	position: absolute;
	inset: 0;
	background: url(../images/about/usp2.jpg) center/cover no-repeat;
	opacity: 0.08;
	pointer-events: none;
}

body.presence .supply_sales_network .ssn-wrap{
	background: url(../images/common/j_back.png) center top/contain no-repeat;
	position: relative;
	z-index: 2;
}

body.presence #main_wrap .supply_sales_network h3{
	margin: 0 0 104px;
	padding: 0;
	text-align: center;
	color: #2684e4;
	font-size: 200%;
}

body.presence #main_wrap .supply_sales_network h3::before,
body.presence #main_wrap .supply_sales_network h3::after{
	display: none;
}

body.presence .supply_sales_network .ssn-flow{
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 0.76fr;
	gap: 40px;
}

/* ===== ssn-flow スクロール表示アニメーション ===== */
@keyframes ssn-flow-reveal {
	from { opacity: 0; transform: translateX(-24px); }
	to   { opacity: 1; transform: translateX(0); }
}

body.presence .supply_sales_network .ssn-flow[data-reveal-ready="1"] .ssn-card{
	opacity: 0;
	transform: translateX(-24px);
}

body.presence .supply_sales_network .ssn-flow[data-reveal-ready="1"].is-inview .ssn-card{
	animation: ssn-flow-reveal .7s ease forwards;
}

body.presence .supply_sales_network .ssn-flow[data-reveal-ready="1"].is-inview .ssn-card:nth-child(1){
	animation-delay: .05s;
}

body.presence .supply_sales_network .ssn-flow[data-reveal-ready="1"].is-inview .ssn-card:nth-child(2){
	animation-delay: .18s;
}

body.presence .supply_sales_network .ssn-flow[data-reveal-ready="1"].is-inview .ssn-card:nth-child(3){
	animation-delay: .31s;
}

body.presence .supply_sales_network .ssn-flow[data-reveal-ready="1"].is-inview .ssn-card:nth-child(4){
	animation-delay: .44s;
}

body.presence .supply_sales_network .ssn-flow::before{
	content: "";
	position: absolute;
	left: -80px;
	right: 160px;
	top: 64%;
	height: 56px;
	background: linear-gradient(90deg, #2684e4 0%, #1f57ce 38%, #49c3ca 100%);
	z-index: 2;
}

body.presence .supply_sales_network .ssn-flow::after{
	content: "";
	position: absolute;
	top: calc(64% - 40px);
	right: 96px;
	width: 0;
	height: 0;
	border-top: 68px solid transparent;
	border-bottom: 68px solid transparent;
	border-left: 78px solid #49c3ca;
	z-index: 2;
}

@keyframes ssn-arrow-grow {
	from { right: 100%; }
	to   { right: 160px; }
}

@keyframes ssn-arrowhead-show {
	from { opacity: 0; }
	to   { opacity: 1; }
}

body.presence .supply_sales_network .ssn-flow[data-reveal-ready="1"]::before{
	right: 100%;
}

body.presence .supply_sales_network .ssn-flow[data-reveal-ready="1"]::after{
	opacity: 0;
}

body.presence .supply_sales_network .ssn-flow[data-reveal-ready="1"].is-inview::before{
	animation: ssn-arrow-grow .8s ease forwards;
}

body.presence .supply_sales_network .ssn-flow[data-reveal-ready="1"].is-inview::after{
	animation: ssn-arrowhead-show .1s step-end .75s both;
}

body.presence .supply_sales_network .ssn-flow[data-reveal-ready="1"] .ssn-num-row strong{
	opacity: 0;
}

body.presence .supply_sales_network .ssn-flow[data-reveal-ready="1"].is-inview .ssn-card:nth-child(1) .ssn-num-row strong{
	animation: ssn-arrowhead-show .1s step-end 0.8s both;
}

body.presence .supply_sales_network .ssn-flow[data-reveal-ready="1"].is-inview .ssn-card:nth-child(2) .ssn-num-row strong{
	animation: ssn-arrowhead-show .1s step-end 1.0s both;
}

body.presence .supply_sales_network .ssn-flow[data-reveal-ready="1"].is-inview .ssn-card:nth-child(3) .ssn-num-row strong{
	animation: ssn-arrowhead-show .1s step-end 1.2s both;
}

body.presence .supply_sales_network .ssn-card{
	position: relative;
	min-height: 800px;
	padding: 64px;
	border-radius: 24px;
	background: rgba(255, 255, 255, 0.9);
	box-sizing: border-box;
	overflow: hidden;
}

body.presence .supply_sales_network .ssn-card-dis{
	background: linear-gradient(180deg, #439ee0 0%, #40c8cf 100%);
}

body.presence .supply_sales_network .ssn-card *{
	position: relative;
	z-index: 3;
}

body.presence .supply_sales_network .ssn-card.ssn-card-supplier,
body.presence .supply_sales_network .ssn-card.ssn-card-network{
	z-index: 3;
}

body.presence .supply_sales_network .ssn-icon{
    width: 104px;
    height: 104px;
	margin: 0 auto;
	border-radius: 50%;
	background: #2684e4;
	color: #fff;
	display: grid;
	place-items: center;
}

body.presence .supply_sales_network .ssn-card-dis .ssn-icon{
	background: #fff;
}

body.presence .supply_sales_network .ssn-icon svg{
	width: 64px;
	height: 64px;
	display: block;
}

body.presence .supply_sales_network .ssn-icon img{
	width: 74px;
	height: auto;
	display: block;
}

body.presence .supply_sales_network .ssn-vertical{
	margin: 42px auto 0;
	height: 470px;
	writing-mode: vertical-rl;
	text-orientation: mixed;
	font-size: 168%;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.02em;
	color: #333333;
}

body.presence .supply_sales_network .ssn-card-dis .ssn-vertical{
	color: #fff;
}

body.presence .supply_sales_network .ssn-card-enduser .ssn-vertical{
	height: 420px;
}

body.presence .supply_sales_network .ssn-metric{
	position: absolute;
	left: 30px;
	right: 30px;
	bottom: 56px;
}

body.presence .supply_sales_network .ssn-label{
	margin-bottom: 8px;
	font-size: 160%;
	font-weight: 700;
	line-height: 1.2;
	color: #333333;
    text-align: center;
}

body.presence .supply_sales_network .ssn-card-dis .ssn-label{
	color: #fff;
}

body.presence .supply_sales_network .ssn-num-row{
	display: flex;
	align-items: baseline;
    justify-content: center;
	gap: 4px;
	line-height: 1;
}

body.presence #main_wrap .supply_sales_network .ssn-num-row + .ssn-num-row{
	margin-top: 10px;
}

body.presence #main_wrap .supply_sales_network .ssn-num-row strong{
    font-family: "Teko", sans-serif;
	font-size: 480%;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.03em;
	color: #2684e4;
    text-decoration: none;
}

@media screen and (max-width: 767px) {
	body.presence .supply_sales_network .ssn-flow[data-reveal-ready="1"] .ssn-num-row strong{
		opacity: 1 !important;
		animation: none !important;
	}
}

body.presence #main_wrap .supply_sales_network .ssn-card-dis .ssn-num-row strong{
	color: #fff;
    font-size: 576%;
}

body.presence .supply_sales_network .ssn-num-row span{
	font-size: clamp(28px, 1.7vw, 44px);
	font-weight: 700;
	color: #333333;
}

body.presence .supply_sales_network .ssn-card-dis .ssn-num-row span{
	color: #fff;
}

body.presence .supply_sales_network .ssn-num-row .approx{
	margin-right: 4px;
}
/*
@media (prefers-reduced-motion: reduce){
	body.presence .supply_sales_network .ssn-flow[data-reveal-ready="1"] .ssn-card{
		visibility: visible;
		left: 0;
		animation: none;
	}
}
*/
@media screen and (max-width: 1400px) {
	body.presence .supply_sales_network{
		padding: 42px 22px 36px;
	}

	body.presence .supply_sales_network .ssn-flow{
		gap: 18px;
	}

	body.presence .supply_sales_network .ssn-card{
		padding: 34px 18px 30px;
	}

	body.presence .supply_sales_network .ssn-metric{
		left: 18px;
		right: 18px;
        font-size: 64%;
    	bottom: 24px;
	}
}

@media screen and (max-width: 1100px) {
	body.presence .supply_sales_network .ssn-flow{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.presence .supply_sales_network .ssn-flow::before,
	body.presence .supply_sales_network .ssn-flow::after{
		display: none;
	}

	body.presence .supply_sales_network .ssn-card{
		min-height: 760px;
	}
}

@media screen and (max-width: 767px) {

	body.presence.page-template-page-lp-link #main_wrap section#scale_container{
		padding-top: 40px;
	}

	body.presence.page-template-page-lp-link #main_wrap section#scale_container > *{
		padding-right: 4%;
		padding-left: 4%;
	}

	body.presence .supply_sales_network{
		padding: 34px 12px 22px;
	}

	body.presence .supply_sales_network h3{
		margin-bottom: 24px;
	}

	body.presence .supply_sales_network .ssn-flow{
		grid-template-columns: 1fr;
		gap: 14px;
	}

	body.presence .supply_sales_network .ssn-card{
		min-height: 400px;
		padding: 24px 16px;
	}

	body.presence .supply_sales_network .ssn-icon{
		width: 88px;
		height: 88px;
	}

	body.presence .supply_sales_network .ssn-icon svg{
		width: 52px;
		height: 52px;
	}

	body.presence .supply_sales_network .ssn-icon img{
		width: 62px;
	}

	body.presence .supply_sales_network .ssn-vertical{
		height: 144px;
    	margin: 24px auto 0;
    	font-size: 128%;
	}

	body.presence .supply_sales_network .ssn-card-dis .ssn-vertical br{
		display: none;
	}

	body.presence .supply_sales_network .ssn-card-enduser{
        min-height: 200px;
        align-self: stretch;
	}

	body.presence .supply_sales_network .ssn-card-enduser .ssn-vertical{
        height: 144px;
	}
}

@media screen and (max-width: 520px) {
	body.presence .supply_sales_network .ssn-num-row span{
		font-size: 200%;
	}
}

/*--------------------------------------------------------------------------
numbers / 販売セクション（グラフ + KPI）
--------------------------------------------------------------------------*/
body.presence.page-template-page-lp-link #main_wrap section#sales_container{
	background: #fff;
}

body.presence #sales_container .sales-trend-block{
	padding: 0px 0px 80px;
    max-width: 100%;
    width: 100%;
}

body.presence #sales_container .sales-trend-grid{
    display: flex;
    gap: 80px;
    justify-content: center;
}

body.presence #sales_container .sales-trend-grid > *{
	width: 520px;
}

body.presence #sales_container .trend-chart{
	position: relative;
	padding: 0 8px;
    background: #eff9fe;
    padding: 32px;
}

body.presence #sales_container .trend-chart .sales-kpi-icon{
	width: 88px;
	height: 56px;
	margin: 0 auto;
}

body.presence #sales_container .trend-chart h3{
    text-align: center;
    margin-bottom: 0px;
}

body.presence #sales_container .trend-chart h3::before{
	display: none;
}

body.presence #sales_container .trend-chart .trend-bars{
	display: flex;
	align-items: flex-end;
	gap: 8px;
}

body.presence #sales_container .trend-chart .trend-col{
	flex: 1 1 0;
	min-width: 0;
}

body.presence #sales_container .trend-chart .trend-bar-wrap{
	height: 430px;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}

body.presence #sales_container .trend-chart .trend-bar{
	position: relative;
	width: 100%;
	max-width: 32px;
}

body.presence #sales_container .trend-chart .trend-year{
	margin-top: 16px;
	text-align: center;
	font-size: 100%;
	font-weight: 700;
	line-height: 1.2;
	color: #333333;
	white-space: nowrap;
}

body.presence #sales_container .trend-chart .trend-year span{
	font-size: 80%;
}

body.presence #sales_container .trend-chart .trend-point-label{
	position: absolute;
	left: 50%;
	bottom: calc(100% + 14px);
	transform: translateX(-50%);
	text-align: center;
	font-weight: 700;
	font-size: 128%;
	line-height: 1.05;
	color: #333333;
	white-space: nowrap;
}

body.presence #sales_container .trend-chart .trend-point-label span{
	display: block;
    margin-top: 4px;
    font-size: 80%;
}

body.presence #sales_container .trend-chart-share .trend-rate{
	position: absolute;
    left: -72px;
    top: 374px;
    font-size: 128%;
	font-weight: 700;
	line-height: 1;
	color: #333333;
}

body.presence #sales_container .trend-chart-share .trend-line1{
	position: absolute;
    left: 0px;
    right: -8px;
    top: 385px;
    height: 0;
    z-index: 3;
}

body.presence #sales_container .trend-chart-share .trend-line1::before{
	content: "";
	position: absolute;
    top: -1px;
    left: 12px;
    width: 56%;
	border-top: 6px solid #f08f1f;
	transform: rotate(-7deg);
	transform-origin: left center;
}

body.presence #sales_container .trend-chart-share .trend-line1::after{
	content: "";
    position: absolute;
    top: -43px;
    left: 57%;
    width: 16px;
    height: 16px;
    background: #f08f1f;
    border-radius: 50%;
    transform-origin: right center;
}

body.presence #sales_container .trend-chart-share .trend-line2{
	position: absolute;
    left: 8px;
    right: -8px;
    top: 385px;
    height: 0;
    z-index: 3;
}

body.presence #sales_container .trend-chart-share .trend-line2::before{
	content: "";
	position: absolute;
    left: 60%;
    width: 36%;
    top: -39px;
	border-top: 6px dashed #f08f1f;
	transform: rotate(-7deg);
	transform-origin: left center;
}

body.presence #sales_container .trend-chart-share .trend-line2::after{
	content: "";
    position: absolute;
    top: -68px;
    right: 2px;
    width: 16px;
    height: 16px;
    background: #f08f1f;
    border-radius: 50%;
    transform-origin: right center;
}

body.presence #sales_container .trend-chart-share .trend-col-2022 .trend-bar-solid{
	height: 100px;
	background: #8ac43f;
}
body.presence #sales_container .trend-chart-share .trend-col-2023 .trend-bar-solid{
	height: 148px;
	background: #8ac43f;
}
body.presence #sales_container .trend-chart-share .trend-col-2024 .trend-bar-solid{
	height: 144px;
	background: #8ac43f;
}
body.presence #sales_container .trend-chart-share .trend-col-2025 .trend-bar-solid{
	height: 214px;
	background: #8ac43f;
}
body.presence #sales_container .trend-chart-share .trend-col-2026 .trend-bar-dashed{
	height: 468px;
	border: 3px dashed #8ac43f;
	background: transparent;
}

body.presence #sales_container .trend-chart-sales .trend-col-2022 .trend-bar-solid{
	height: 176px;
	background: #2684e4;
}
body.presence #sales_container .trend-chart-sales .trend-col-2023 .trend-bar-solid{
	height: 218px;
	background: #2684e4;
}
body.presence #sales_container .trend-chart-sales .trend-col-2024 .trend-bar-solid{
	height: 280px;
	background: #2684e4;
}
body.presence #sales_container .trend-chart-sales .trend-col-2025 .trend-bar-solid{
	height: 380px;
	background: #2684e4;
}
body.presence #sales_container .trend-chart-sales .trend-col-2026 .trend-bar-dashed{
	height: 416px;
	border: 3px dashed #2684e4;
	background: transparent;
}

/* ===== trend-bar スクロール表示アニメーション ===== */
@keyframes trend-bar-grow {
	from { max-height: 0; }
	to   { max-height: 500px; }
}

body.presence .sales-trend-block[data-reveal-ready="1"] .trend-bar{
	max-height: 0;
}
/*
body.presence .sales-trend-block[data-reveal-ready="1"] .trend-bar-wrap{
	overflow: hidden;
}
*/
body.presence .sales-trend-block[data-reveal-ready="1"] .trend-point-label{
	opacity: 0;
}

body.presence .sales-trend-block[data-reveal-ready="1"].is-inview .trend-bar{
	animation: trend-bar-grow .6s ease-out forwards;
}

body.presence .sales-trend-block[data-reveal-ready="1"].is-inview .trend-col:nth-child(1) .trend-bar{ animation-delay: 0s; }
body.presence .sales-trend-block[data-reveal-ready="1"].is-inview .trend-col:nth-child(2) .trend-bar{ animation-delay: .15s; }
body.presence .sales-trend-block[data-reveal-ready="1"].is-inview .trend-col:nth-child(3) .trend-bar{ animation-delay: .3s; }
body.presence .sales-trend-block[data-reveal-ready="1"].is-inview .trend-col:nth-child(4) .trend-bar{ animation-delay: .45s; }
body.presence .sales-trend-block[data-reveal-ready="1"].is-inview .trend-col:nth-child(5) .trend-bar{ animation-delay: .6s; }

body.presence .sales-trend-block[data-reveal-ready="1"].is-inview .trend-point-label{
	animation: ssn-arrowhead-show .1s step-end .8s both;
}

body.presence #sales_container .sales-kpi-block{
	padding: 80px 0;
}

body.presence #sales_container .sales-kpi-block > h2{
	margin: 0;
	padding: 0;
	text-align: center;
	font-weight: 700;
	line-height: 1.2;
	color: #333333;
}

body.presence #sales_container .sales-kpi-block > h2::before,
body.presence #sales_container .sales-kpi-block > h2::after{
	display: none;
}

body.presence #sales_container .sales-kpi-line{
	width: 88px;
	height: 6px;
	margin: 34px auto 64px;
	background: #2684e4;
}

body.presence #sales_container .sales-kpi-group + .sales-kpi-group{
	margin-top: 86px;
}

body.presence #sales_container .sales-kpi-group > h3{
	margin: 0 0 30px;
	padding: 0;
	text-align: center;
	font-size: 200%;
	line-height: 1.2;
	font-weight: 700;
	color: #2684e4;
}

body.presence #sales_container .sales-kpi-group > h3::before,
body.presence #sales_container .sales-kpi-group > h3::after{
	display: none;
}

body.presence #sales_container .sales-kpi-grid{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px;
}

body.presence #sales_container .sales-kpi-card{
	text-align: center;
}

body.presence #sales_container .sales-kpi-icon{
	width: 88px;
	height: 56px;
	margin: 0 auto 16px;
}

body.presence #sales_container .sales-kpi-icon svg{
	width: 100%;
	height: 100%;
	display: block;
}

body.presence #sales_container .sales-kpi-label{
	font-size: 120%;
	font-weight: 700;
	line-height: 1.35;
	color: #333333;
}

body.presence #sales_container .sales-kpi-value{
	margin-top: 10px;
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 6px;
	line-height: 1;
}

body.presence #sales_container .sales-kpi-value strong{
    font-size: 520%;
    font-family: "Teko", sans-serif;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.03em;
    white-space: nowrap;
    text-decoration: none;
}

body.presence #sales_container .sales-kpi-value span{
	font-size: 160%;
	font-weight: 700;
	color: #333333;
}

body.presence #sales_container .sales-kpi-value .prefix{
	margin-right: 4px;
}

body.presence #sales_container .kpi-orange .sales-kpi-icon,
body.presence #sales_container .kpi-orange .sales-kpi-value strong,
body.presence #sales_container .kpi-orange .sales-kpi-value span:last-child{
	color: #f3921f;
}

body.presence #sales_container .kpi-green .sales-kpi-icon,
body.presence #sales_container .kpi-green .sales-kpi-value strong{
	color: #8ac43f;
}

body.presence #sales_container .kpi-blue .sales-kpi-icon,
body.presence #sales_container .kpi-blue .sales-kpi-value strong{
	color: #2684e4;
}

@media screen and (max-width: 1300px) {
	body.presence #sales_container .sales-trend-grid{
		gap: 34px;
	}

	body.presence #sales_container .trend-chart .trend-bars{
		gap: 14px;
	}
}

@media screen and (max-width: 1100px) {
	body.presence #sales_container .sales-trend-grid{
		display: grid;
		grid-template-columns: 1fr;
        justify-items: center;
	}

	body.presence #sales_container .sales-kpi-grid{
		grid-template-columns: 1fr;
		gap: 40px;
	}

	body.presence #sales_container .sales-kpi-group + .sales-kpi-group{
		margin-top: 62px;
	}

	body.presence #sales_container .sales-kpi-value strong {
	    font-size: 320%;
	}

}

@media screen and (max-width: 767px) {

	body.presence #sales_container .sales-trend-block{
		padding: 24px 4% 32px;
	}

	body.presence #sales_container .trend-chart{
        padding: 24px;
        width: 100%;
	}

	body.presence #sales_container .trend-chart .trend-bar-wrap{
		height: 280px;
	}

	body.presence #sales_container .trend-chart .trend-bar{
		max-width: 38px;
	}

	body.presence #sales_container .trend-chart .trend-year{
		font-size: 16px;
	}

	body.presence #sales_container .trend-chart .trend-point-label{
	}

	body.presence #sales_container .trend-chart .trend-point-label span{
		font-size: 16px;
	}

	body.presence #sales_container .trend-chart-share .trend-rate{
		top: 194px;
		font-size: 20px;
	}

	body.presence #sales_container .trend-chart-share .trend-line{
		left: 52px;
		top: 194px;
	}

	body.presence #sales_container .sales-kpi-block{
		padding: 54px 12px 64px;
	}

	body.presence #sales_container .sales-kpi-line{
		margin: 22px auto 38px;
	}

	body.presence #sales_container .sales-kpi-group > h3{
		margin-bottom: 24px;
    	font-size: 144%;
	}
}

@media screen and (max-width: 520px) {

	body.presence #sales_container .trend-chart.trend-chart-sales .trend-bars {
        margin-top: 176px;
    }

	body.presence #sales_container .trend-chart .trend-bar{
		max-width: 30px;
	}

}

/*--------------------------------------------------------------------------
numbers / ビジョンセクション（4.png, 5.png）
--------------------------------------------------------------------------*/
body.presence.page-template-page-lp-link #main_wrap section#vision_container{
	padding-top: 0;
	padding-bottom: 0;
	background: #fff;
}

body.presence.page-template-page-lp-link #main_wrap section#vision_container > *{
	width: 100%;
	max-width: 100%;
}

body.presence #vision_container .vision-overview{
	position: relative;
	background: #ecf6fb;
	overflow: hidden;
}

body.presence #vision_container .business_scale{
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: 1fr 0.8fr 1fr 1fr;
    background: #fff;
}

body.presence #vision_container .vision-label-cell{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 28px;
	min-height: 370px;
	color: #fff;
}

body.presence #vision_container .vision-label-cell img{
	display: block;
	width: 72px;
	height: auto;
}

body.presence #vision_container .vision-label-title{
	font-size: 232%;
	line-height: 1.2;
	font-weight: 700;
	text-align: center;
	color: #fff;
}

body.presence #vision_container .vision-label-scale{
	background: #2684e4;
	clip-path: polygon(0 0, 84% 0, 100% 50%, 84% 100%, 0 100%);
}

body.presence #vision_container .vision-stat-card{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	min-height: 370px;
	padding: 26px 18px;
	background: rgba(255, 255, 255, 0.88);
	border-left: 3px solid #ecf6fb;
	text-align: center;
}

body.presence #vision_container .vision-stat-card:first-of-type{
	border-left: none !important;
}

body.presence #vision_container .vision-stat-card h3{
	margin: 0;
	padding: 0;
	border: none;
	font-size: 186%;
	font-weight: 700;
	line-height: 1.25;
	color: #2684e4;
}

body.presence #vision_container .vision-stat-card h3::before{
	display: none;
}

body.presence #vision_container .vision-stat{
	margin: 22px 0 0;
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 5px;
	line-height: 1;
}

body.presence #vision_container .vision-stat .prefix{
	font-size: 144%;
	font-weight: 700;
	color: #333333;
}

body.presence #vision_container .vision-stat strong{
    font-size: 520%;
    font-family: "Teko", sans-serif;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.03em;
	color: #2684e4;
    text-decoration: none;
    white-space: nowrap;
}

body.presence #vision_container .vision-stat span{
	font-size: 144%;
	font-weight: 700;
	color: #333333;
    white-space: nowrap;
}

body.presence #vision_container .vision-divider{
	height: 112px;
}

body.presence #vision_container .market_position{
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: 1fr 0.8fr 1fr 1fr;
	grid-template-areas:
		"label dx cloud public"
		"label bottom bottom bottom";
    background: #fff;
}

body.presence #vision_container .market_position .bottom{
	grid-area: bottom;
	display: grid;
	grid-template-columns: 1fr 1fr;
}

body.presence #vision_container .vision-label-position{
	grid-area: label;
	background: #8fc320;
	clip-path: polygon(0 0, 84% 0, 100% 50%, 84% 100%, 0 100%);
}

body.presence #vision_container .vision-market-card{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 190px;
	padding: 24px 16px;
	background: rgba(255, 255, 255, 0.88);
	border-left: 3px solid #ecf6fb;
	border-top: 3px solid #ecf6fb;
	text-align: center;
}

body.presence #vision_container .vision-market-card h3{
	margin: 0;
	padding: 0;
	border: none;
	font-size: 186%;
	font-weight: 700;
	line-height: 1.25;
	color: #81be3a;
}

body.presence #vision_container .vision-market-card h3::before{
	display: none;
}

body.presence #vision_container .vision-market-card p{
    margin: 12px 0 0;
    font-size: 144%;
	font-weight: 700;
	line-height: 1.25;
	color: #333333;
}

body.presence #vision_container .vision-market-dx{
	grid-area: dx;
	border-top: none;
    border-left: none;
}

body.presence #vision_container .vision-market-cloud{
	grid-area: cloud;
	border-top: none;
}

body.presence #vision_container .vision-market-public{
	grid-area: public;
	border-top: none;
}

body.presence #vision_container .vision-market-security{
    border-right: 3px solid #ecf6fb;
}

body.presence #vision_container .vision-market-service{
}

body.presence #vision_container .vision-market-wide{
	min-height: 190px;
    border-left: none;
}

body.presence #vision_container .current_future{
	padding: 80px 24px 160px;
	background: #f0f9fe;
	text-align: center;
}

body.presence #vision_container .current_future h2{
	margin: 0;
	padding: 0;
	border: none;
	font-weight: 700;
	line-height: 1.2;
	color: #333333;
}

body.presence #vision_container .current_future h2::before{
	display: none;
}

body.presence #vision_container .vision-line{
	width: 82px;
	height: 6px;
	margin: 34px auto 58px;
	background: #2684e4;
}

body.presence #vision_container .vision-copy{
	margin: 0;
	line-height: 1.7;
	font-weight: 500;
	color: #333333;
}

body.presence #vision_container .vision-circles{
	position: relative;
	margin: 74px auto 0;
	max-width: 1260px;
	display: grid;
	grid-template-columns: 254px 370px 446px;
	align-items: end;
	justify-content: center;
	gap: 36px;
}

body.presence #vision_container .vision-circle{
	position: relative;
}

body.presence #vision_container .vision-circle img{
	display: block;
	width: 100%;
	height: auto;
}

body.presence #vision_container .vision-circle-inner{
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

body.presence #vision_container .vision-chip{
    display: inline-block;
    padding: 8px;
    min-width: 120px;
    border-radius: 12px;
    background: #2684e4;
    font-size: 120%;
    line-height: 1.2;
    font-weight: 600;
    color: #fff;
}

body.presence #vision_container .vision-circle-inner p{
    margin: 16px 0 0;
    line-height: 1.6;
    font-size: 132%;
	font-weight: 700;
	color: #333333;
}

body.presence #vision_container .vision-circle-origin .vision-circle-inner p{

}

body.presence #vision_container .vision-circle-future .vision-circle-inner p{

}

body.presence #vision_container .vision-man{
	position: absolute;
    left: 54%;
    bottom: -24px;
	width: 138px;
	height: auto;
	transform: translateX(-50%);
	z-index: 5;
}

@media screen and (max-width: 1280px) {
	body.presence #vision_container .vision-divider{
		height: 82px;
	}

	body.presence #vision_container .vision-circles{
		grid-template-columns: 200px 300px 360px;
		gap: 20px;
	}

	body.presence #vision_container .vision-man{
		left: 59%;
		bottom: 0;
	}
}

@media screen and (max-width: 1100px) {

	body.presence #vision_container .business_scale{
		grid-template-columns: 1fr;
	}

	body.presence #vision_container .vision-label-scale{
		min-height: 170px;
		clip-path: none;
	}

	body.presence #vision_container .vision-stat-card{
		min-height: auto;
		padding: 24px 14px;
		border-left: none;
		border-top: 1px solid #d8e1e8;
	}

	body.presence #vision_container .market_position{
		grid-template-columns: 1fr;
		grid-template-areas:
			"label"
			"dx"
			"cloud"
			"public"
			"bottom";
	}

	body.presence #vision_container .vision-label-scale{
        padding: 24px 0;
        gap: 16px;

	}

	body.presence #vision_container .vision-label-position{
		min-height: 170px;
        clip-path: none;
        padding: 24px 0;
        gap: 16px;
	}

	body.presence #vision_container .vision-market-card{
		min-height: auto;
		border-left: none;
	}

	body.presence #vision_container .vision-market-dx{
		border-top: 1px solid #d8e1e8;
	}

	body.presence #vision_container .vision-divider{
		height: 40px;
	}

	body.presence #vision_container .current_future{
		padding: 62px 16px 76px;
	}

	body.presence #vision_container .vision-line{
		margin-bottom: 34px;
	}

	body.presence #vision_container .vision-copy br{
		display: none;
	}

	body.presence #vision_container .vision-circles{
		margin-top: 46px;
		grid-template-columns: 1fr;
		gap: 22px;
	}

	body.presence #vision_container .vision-circle-origin{
		width: 254px;
		margin: 0 auto;
	}

	body.presence #vision_container .vision-circle-now{
		width: 370px;
		margin: 0 auto;
	}

	body.presence #vision_container .vision-circle-future{
		width: 446px;
		margin: 0 auto;
	}

	body.presence #vision_container .vision-man{
		display: none;
	}

	body.presence #vision_container .market_position .bottom {
	    grid-template-columns: 1fr;
	}

	body.presence #vision_container .vision-market-security {
	    border-right: none;
	}

	body.presence #vision_container .vision-market-card {
	    border-left: none;
	    border-top: 1px solid #ecf6fb;
	}

}

@media screen and (min-width: 521px) and (max-width: 960px) {

	body.presence #vision_container .vision-label-title{
    	font-size: 200%;
	}

	body.presence #vision_container .vision-stat-card h3 {
	    font-size: 186%;
	}

	body.presence #vision_container .vision-stat {
	    font-size: 100%;
	}

	body.presence #vision_container .business_scale{
		grid-template-columns: 1fr;
        font-size: 68%;
	}

	body.presence #vision_container .market_position{
		grid-template-areas:
			"label"
			"dx"
			"cloud"
			"public"
			"bottom";
        font-size: 68%;
	}

	body.presence #vision_container .market_position .bottom{
		grid-template-columns: 1fr;
	}

	body.presence #vision_container .vision-label-position{
        gap: 8px;
		min-height: 178px;
	}

	body.presence #vision_container .vision-market-card{
		padding: 16px 12px;
    	border-top: 1px solid #d8e1e8;
	}

	body.presence #vision_container .vision-market-card h3{
	}

	body.presence #vision_container .vision-market-card p{
		margin-top: 8px;
		overflow-wrap: anywhere;
	}

}

@media screen and (max-width: 767px) {
	body.presence #vision_container .vision-overview::before{
		right: -200px;
		top: -100px;
		opacity: 0.22;
	}

	body.presence #vision_container .vision-label-cell{
		gap: 14px;
		min-height: 140px;
	}

	body.presence #vision_container .vision-label-cell img{
		width: 54px;
	}

	body.presence #vision_container .vision-divider{
		height: 20px;
	}

	body.presence #vision_container .current_future h2{
	}

	body.presence #vision_container .vision-line{
		height: 5px;
		width: 74px;
		margin: 20px auto 26px;
	}

	body.presence #vision_container .vision-copy{
	}

	body.presence #vision_container .vision-circle-origin{
		width: min(240px, 100%);
	}

	body.presence #vision_container .vision-circle-now{
		width: min(320px, 100%);
	}

	body.presence #vision_container .vision-circle-future{
		width: min(360px, 100%);
	}

	body.presence #vision_container .vision-chip{
		padding: 6px 16px 7px;
		border-radius: 8px;
	}

	body.presence #vision_container .vision-circle-inner p{
		margin-top: 8px;
    	font-size: 116%;
	}

	body.presence #vision_container .vision-circle-origin .vision-circle-inner p{
	}

	body.presence #vision_container .vision-circle-future .vision-circle-inner p{
	}
}



@media screen and (max-width: 560px) {

	body.presence #vision_container .business_scale{
		grid-template-columns: 1fr;
        font-size: 64%;
	}

	body.presence #vision_container .market_position{
		grid-template-areas:
			"label"
			"dx"
			"cloud"
			"public"
			"bottom";
        font-size: 64%;
	}

	body.presence #vision_container .market_position .bottom{
		grid-template-columns: 1fr;
	}

	body.presence #vision_container .vision-label-position{
		min-height: 178px;
	}

	body.presence #vision_container .vision-market-card{
		padding: 16px 12px;
    	border-top: 1px solid #d8e1e8;
	}

	body.presence #vision_container .vision-market-card h3{
	}

	body.presence #vision_container .vision-market-card p{
		margin-top: 8px;
		overflow-wrap: anywhere;
	}
}


/*--------------------------------------------------------------------------
仕事を知る / 左画像レイアウト
--------------------------------------------------------------------------*/
body.task.page-template-page-lp-link #contents_wrap > #main_wrap > :not(section){
    max-width: 100%;
}

body.task.page-template-page-lp-link #main_wrap section.left_img_container{
	padding-top: 0;
	padding-bottom: 0;
}

body.task.page-template-page-lp-link #main_wrap section.left_img_container > .left_img_container__inner{
	display: grid;
	grid-template-columns: minmax(0, 47%) minmax(0, 53%);
	width: 100%;
	max-width: 100%;
}

body.task .left_img_container .left_img_container__image{
	min-height: 520px;
}

body.task #main_wrap .left_img_container .left_img_container__image img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

body.task .left_img_container .left_img_container__content{
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
	background: #2684e4;
	padding: 80px;
	color: #fff;
}

body.task #main_wrap .left_img_container .left_img_container__title{
	margin: 0 0 30px;
	display: flex;
    flex-wrap: wrap;
	align-items: baseline;
	gap: 0 16px;
	color: #fff;
}

body.task #main_wrap .left_img_container .left_img_container__title::before,
body.task #main_wrap .left_img_container .left_img_container__title::after{
	display: none;
}

body.task .left_img_container .left_img_container__title .ja{
	color: #fff;
}

body.task .left_img_container .left_img_container__title .en{
	font-size: 48%;
	font-weight: 500;
	color: #fff;
}

body.task #contents_wrap .left_img_container .left_img_container__content p{
	margin: 0;
    margin-bottom: 1.6em;
	color: #fff;
}

body.task #contents_wrap .left_img_container .left_img_container__content p + p{
	margin-top: 24px;
}

@media screen and (max-width: 1200px) {
	body.task .left_img_container .left_img_container__content{
		padding: 72px 56px;
	}

	body.task .left_img_container .left_img_container__title .ja{
	}

	body.task .left_img_container .left_img_container__title .en{
	}

	body.task #contents_wrap .left_img_container .left_img_container__content p{
	}
}

@media screen and (max-width: 1023px) {
	body.task.page-template-page-lp-link #main_wrap section.left_img_container > .left_img_container__inner{
		grid-template-columns: 1fr;
	}

	body.task .left_img_container .left_img_container__image{
		min-height: 300px;
	}

	body.task .left_img_container .left_img_container__content{
		padding: 48px 24px;
	}

	body.task .left_img_container .left_img_container__title .ja{
	}

	body.task .left_img_container .left_img_container__title .en{
	}

	body.task #contents_wrap .left_img_container .left_img_container__content p{
	}
}

@media screen and (max-width: 767px) {

    body.task.page-template-page-lp-link #main_wrap section#about_container{
        padding: 32px 4%;
    }

	body.task .left_img_container .left_img_container__title .ja{
	}

	body.task .left_img_container .left_img_container__title .en{
	}

	body.task #contents_wrap .left_img_container .left_img_container__content p{
	}
}

/*--------------------------------------------------------------------------
仕事を知る / 右画像レイアウト
--------------------------------------------------------------------------*/
body.task.page-template-page-lp-link #main_wrap section.right_img_container{
	margin-top: 40px;
	padding-top: 0;
	padding-bottom: 0;
}

body.task.page-template-page-lp-link #main_wrap section.right_img_container > .right_img_container__inner{
	display: grid;
	grid-template-columns: minmax(0, 53%) minmax(0, 47%);
	width: 100%;
	max-width: 100%;
}

body.task .right_img_container .right_img_container__content{
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
	background: #6da9df;
	padding: 80px;
	color: #fff;
}

body.task #main_wrap .right_img_container .right_img_container__title{
	margin: 0 0 30px;
	display: flex;
    flex-wrap: wrap;
    align-items: baseline;
	gap: 0 16px;
	color: #fff;
}

body.task #main_wrap .right_img_container .right_img_container__title::before,
body.task #main_wrap .right_img_container .right_img_container__title::after{
	display: none;
}

body.task .right_img_container .right_img_container__title .ja{
	color: #fff;
}

body.task .right_img_container .right_img_container__title .en{
	font-size: 48%;
    font-weight: 500;
	color: #fff;
}

body.task #contents_wrap .right_img_container .right_img_container__content p{
	margin: 0;
    margin-bottom: 1.6em;
	color: #fff;
}

body.task #contents_wrap .right_img_container .right_img_container__content p + p{
	margin-top: 24px;
}

body.task .right_img_container .right_img_container__image{
	min-height: 520px;
}

body.task #main_wrap .right_img_container .right_img_container__image img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media screen and (max-width: 1200px) {
	body.task .right_img_container .right_img_container__content{
		padding: 72px 56px;
	}

	body.task .right_img_container .right_img_container__title .ja{
	}

	body.task .right_img_container .right_img_container__title .en{
		font-size: 64%;
	}

	body.task #contents_wrap .right_img_container .right_img_container__content p{
	}
}

@media screen and (max-width: 1023px) {
	body.task.page-template-page-lp-link #main_wrap section.right_img_container > .right_img_container__inner{
		grid-template-columns: 1fr;
	}

	body.task .right_img_container .right_img_container__content{
		order: 2;
		padding: 48px 24px;
	}

	body.task .right_img_container .right_img_container__image{
		order: 1;
		min-height: 300px;
	}

	body.task .right_img_container .right_img_container__title .ja{
	}

	body.task .right_img_container .right_img_container__title .en{
		font-size: 64%;
	}

	body.task #contents_wrap .right_img_container .right_img_container__content p{
	}
}

@media screen and (max-width: 767px) {
	body.task .right_img_container .right_img_container__title .ja{
	}

	body.task .right_img_container .right_img_container__title .en{
	}

	body.task #contents_wrap .right_img_container .right_img_container__content p{
	}
}

/*--------------------------------------------------------------------------
仕事を知る / 販売推進・営業支援
--------------------------------------------------------------------------*/
body.task.page-template-page-lp-link #main_wrap section#promotion_support_container{
/*	margin-bottom: 80px;*/
}

body.task.page-template-page-lp-link #main_wrap section#promotion_support_container h2{
    flex-direction: column;
}

/*--------------------------------------------------------------------------
仕事を知る / VOICEスライダー
--------------------------------------------------------------------------*/
body.task.page-template-page-lp-link #main_wrap section#sales_voice_container{
	padding-top: 0;
	padding-bottom: 0;
	background: #c0ebff;
	overflow: hidden;
	margin-bottom: 80px;
}

body.task #sales_voice_container .voice_slider{
	position: relative;
	min-height: 392px;
	padding: 80px 0 0 0;
    width: 100%;
    max-width: 100%;
}

body.task #sales_voice_container .slider-controls{
	position: absolute;
	top: 28px;
	right: 28px;
	margin: 0;
	max-width: none;
	gap: 16px;
	z-index: 4;
}

body.task #sales_voice_container .dots{
	gap: 10px;
}

body.task #sales_voice_container .dot{
	width: 10px;
	height: 10px;
	background: #fff;
}

body.task #sales_voice_container .dot.active{
	background: #2684e4;
}

body.task #sales_voice_container .arrow{
	width: 40px;
	height: 40px;
    font-size: 28px;
    font-weight: bold;
    line-height: 1;
	color: #2684e4;
}

body.task #sales_voice_container .employees-row{
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 152px 0 0 0;
	gap: 40px;
}

body.task #sales_voice_container .person{
	flex: 0 0 250px;
	transform: scale(1);
	opacity: 1;
	transition: transform .3s ease;
}

body.task #sales_voice_container .person.is-center{
	transform: scale(1.08);
}

body.task #sales_voice_container .person img{
	width: 100%;
	height: 232px;
	object-fit: contain;
	object-position: center bottom;
	border-radius: 0;
}

body.task #sales_voice_container .person.person-voice-side{
	flex: 0 0 290px;
	display: flex;
	align-items: center;
	justify-content: center;
    position: relative;
    top: -40px;
}

body.task #sales_voice_container .voice_side{
	position: static;
	width: 264px;
	text-align: center;
}

body.task #sales_voice_container .voice_side h2{
	margin: 0 0 24px;
	color: #333333;
}

body.task #sales_voice_container .voice_side h2::before,
body.task #sales_voice_container .voice_side h2::after{
	display: none;
}

body.task #sales_voice_container .voice_link{
	display: flex;
	align-items: center;
	justify-content: space-between;
    padding: 16px 16px 16px 26px;
	width: 264px;
    border-radius: 999px;
	background: #fff;
	color: #333333;
    font-size: 88%;
	font-weight: 700;
	text-decoration: none;
	position: relative;
}

@media screen and (max-width: 1023px) {

	body.task #sales_voice_container .voice_slider{
		min-height: 0;
        padding: 104px 0 0;
	}

	body.task #sales_voice_container .slider-controls{
		top: 18px;
		right: 16px;
	}

	body.task #sales_voice_container .employees-row{
		width: 100%;
		gap: 12px;
	}

	body.task #sales_voice_container .person{
		flex: 0 0 210px;
	}

	body.task #sales_voice_container .person.person-voice-side{
		flex: 0 0 240px;
	}

	body.task #sales_voice_container .person img{
		height: 200px;
	}

	body.task #sales_voice_container .speech-bubble{
		width: 170px;
		height: 108px;
		padding: 12px 12px 10px;
    	left: 28%;
	}

	body.task #sales_voice_container .speech-bubble::after {
	    right: 44px;
	    border-width: 25px 0 0 32px;
	    transform: rotate(348deg);
	}

	body.task #sales_voice_container .speech-bubble p{
	}

	body.task #sales_voice_container .speech-bubble a{
	}

	body.task #sales_voice_container .voice_side{
		width: 240px;
		margin: 0 auto;
	}

	body.task #sales_voice_container .voice_link {
	    width: 100%;
	}

}

@media screen and (min-width: 521px) and (max-width: 960px) {

	body.task #sales_voice_container .voice_link{
	    font-size: 80%;
	}
}

/*--------------------------------------------------------------------------
仕事を知る / 販売推進・技術職 VOICEスライダー
--------------------------------------------------------------------------*/
body.task.page-template-page-lp-link #main_wrap section#promo_support_tech_voice_container{
	padding-top: 0;
	padding-bottom: 0;
	background: #c0ebff;
	overflow: hidden;
}

body.task #main_wrap #promo_support_tech_voice_container .promo_voice_slider{
	position: relative;
	min-height: 392px;
	padding: 80px 0 0;
    width: 100%;
    max-width: 100%;
}

body.task #promo_support_tech_voice_container .slider-controls{
	position: absolute;
	top: 28px;
	right: 28px;
	margin: 0;
	max-width: none;
	gap: 16px;
	z-index: 4;
}

body.task #promo_support_tech_voice_container .dots{
	gap: 10px;
}

body.task #promo_support_tech_voice_container .dot{
	width: 10px;
	height: 10px;
	background: #fff;
}

body.task #promo_support_tech_voice_container .dot.active{
	background: #2684e4;
}

body.task #promo_support_tech_voice_container .arrow{
	width: 40px;
	height: 40px;
    font-size: 28px;
    font-weight: bold;
	line-height: 1;
	color: #2684e4;
}

body.task #promo_support_tech_voice_container .promo_voice_layout{
	width: 100%;
}

body.task #promo_support_tech_voice_container .employees-row{
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 64px 0 0;
	gap: 40px;
	overflow: hidden;
}

body.task #promo_support_tech_voice_container .person{
	flex: 0 0 250px;
	display: flex;
	align-items: center;
	justify-content: center;
	transform: scale(1);
	opacity: 1;
	transition: transform .3s ease;
}

body.task #promo_support_tech_voice_container .person.is-v-bottom{
	align-items: flex-end;
}

body.task #promo_support_tech_voice_container .person.is-v-center{
	align-items: center;
    flex-direction: column;
}

body.task #promo_support_tech_voice_container .person.is-center{
	transform: scale(1.08);
}

body.task #promo_support_tech_voice_container .person img{
	width: 100%;
	height: 232px;
	object-fit: contain;
	object-position: center bottom;
	border-radius: 0;
}

body.task #promo_support_tech_voice_container .speech-bubble{
	top: -40px;
	left: 8%;

}

body.task #promo_support_tech_voice_container .voice_side,
body.task #promo_support_tech_voice_container .movie_side{
	text-align: center;
}

body.task #promo_support_tech_voice_container .voice_side{
	width: 264px;
}

body.task #promo_support_tech_voice_container .movie_side{
	width: 360px;
}

body.task #promo_support_tech_voice_container .voice_side h2,
body.task #promo_support_tech_voice_container .movie_side h2{
	margin: 0 0 24px;
	color: #333333;
    font-size: 224%;
}

body.task #promo_support_tech_voice_container .voice_side h2::before,
body.task #promo_support_tech_voice_container .voice_side h2::after,
body.task #promo_support_tech_voice_container .movie_side h2::before,
body.task #promo_support_tech_voice_container .movie_side h2::after{
	display: none;
}

body.task #promo_support_tech_voice_container .voice_link{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 16px 16px 24px;
	width: 264px;
	border-radius: 999px;
	background: #fff;
	color: #333333;
	font-size: 88%;
	font-weight: 700;
	text-decoration: none;
}

body.task #promo_support_tech_voice_container .movie_card{
	margin-bottom: 40px;
    padding: 16px;
    background: #fff;
    border-radius: 14px;
    text-align: left;
}

body.task #promo_support_tech_voice_container .movie_card img{
	display: block;
	width: 100%;
	height: 172px;
	object-fit: cover;
	border-radius: 8px;
}

body.task #promo_support_tech_voice_container .movie_card p{
	margin: 10px 0 0;
	font-size: 88%;
	font-weight: 700;
	line-height: 1.5;
	color: #333333;
}

/*--------------------------------------------------------------------------
仕事を知る / 技術職
--------------------------------------------------------------------------*/
body.task #technical_container .left_img_container__content{
	background: #3babf2;
}

/*--------------------------------------------------------------------------
仕事を知る / 営業事務
--------------------------------------------------------------------------*/
body.task #sales_admin_container .left_img_container__content{
	background: #2684e4;
}

/*--------------------------------------------------------------------------
仕事を知る / 一般事務
--------------------------------------------------------------------------*/
body.task #general_affairs_container .right_img_container__content{
	background: #6da9df;
}

@media screen and (max-width: 1200px) {
	body.task #promo_support_tech_voice_container .person{
		flex-basis: 220px;
	}

	body.task #promo_support_tech_voice_container .person img{
		height: 220px;
	}

	body.task #promo_support_tech_voice_container .promo_voice_bottom{
		gap: 28px;
	}

	body.task #promo_support_tech_voice_container .movie_side{
		width: 320px;
	}

	body.task #promo_support_tech_voice_container .voice_link{
		width: 240px;
	}
}

@media screen and (max-width: 1023px) {
	body.task #promo_support_tech_voice_container .promo_voice_slider{
		min-height: 0;
		padding: 22px 0 0;
	}

	body.task #promo_support_tech_voice_container .slider-controls{
		top: 18px;
		right: 16px;
	}

	body.task #promo_support_tech_voice_container .promo_voice_layout{
		padding-top: 0;
	}

	body.task #promo_support_tech_voice_container .employees-row{
		width: 100%;
		padding: 86px 12px 0;
		gap: 32px;
		overflow: hidden;
	}

	body.task #promo_support_tech_voice_container .person{
		flex: 0 0 210px;
	}

	body.task #promo_support_tech_voice_container .person img{
		height: 220px;
	}

	body.task #promo_support_tech_voice_container .speech-bubble{
		width: 170px;
		height: 108px;
		padding: 12px 12px 10px;
    	top: -24px;
    	left: 32%;
	}

	body.task #promo_support_tech_voice_container .speech-bubble::after {
	    right: 44px;
	    border-width: 25px 0 0 32px;
	    transform: rotate(348deg);
	}

	body.task #promo_support_tech_voice_container .speech-bubble p{
	}

	body.task #promo_support_tech_voice_container .speech-bubble a{
	}

	body.task #promo_support_tech_voice_container .promo_voice_bottom{
		flex-direction: column;
		gap: 20px;
		padding: 20px 16px 28px;
	}

	body.task #promo_support_tech_voice_container .voice_side{
		width: 240px;
		margin: 0 auto;
	}

	body.task #promo_support_tech_voice_container .movie_side{
		width: min(360px, 100%);
		margin: 0 auto;
	}

	body.task #promo_support_tech_voice_container .voice_link{
		width: 240px;
		margin: 0 auto;
	}

	body.task #promo_support_tech_voice_container .movie_card img{
		height: 180px;
	}
}

/*--------------------------------------------------------------------------
仕事を知る / 一般事務 VOICE
--------------------------------------------------------------------------*/
body.task.page-template-page-lp-link #main_wrap section#general_voice_container{
	padding-top: 0;
	padding-bottom: 0;
    margin-bottom: 80px;
	background: #c0ebff;
	overflow: hidden;
}

body.task #general_voice_container .general_voice_inner{
	min-height: 440px;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	gap: 110px;
	padding: 32px 24px 0;
}

body.task #general_voice_container .general_voice_person{
	position: relative;
	width: 290px;
	text-align: center;
}

body.task #general_voice_container .general_voice_person img{
	display: block;
	width: 100%;
	height: 232px;
	object-fit: contain;
	object-position: center bottom;
}

body.task #general_voice_container .voice_side{
	padding-bottom: 128px;
	text-align: center;
}

body.task #general_voice_container .voice_side h2{
	margin: 0 0 24px;
    font-size: 224%;
	color: #333333;
}

body.task #general_voice_container .voice_side h2::before,
body.task #general_voice_container .voice_side h2::after{
	display: none;
}

body.task #general_voice_container .voice_link{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 16px 16px 24px;
	min-width: 240px;
	border-radius: 999px;
    width: 264px;
	color: #333333;
    font-size: 88%;
    font-weight: 700;
	text-decoration: none;
}



@media screen and (max-width: 1023px) {

	body.task #general_voice_container .general_voice_inner{
		min-height: 0;
		flex-direction: column-reverse;
		align-items: center;
		gap: 160px;
		padding: 40px 16px 0;
	}

	body.task #general_voice_container .general_voice_person{
		width: 220px;
	}

	body.task #general_voice_container .general_voice_person img{
		height: 260px;
	}

	body.task #general_voice_container .speech-bubble{
		width: 170px;
		height: 108px;
		padding: 12px 12px 10px;
    	top: -128px;
    	left: 32%;
	}

	body.task #general_voice_container .speech-bubble::after {
	    right: 44px;
	    border-width: 25px 0 0 32px;
	    transform: rotate(348deg);
	}

	body.task #general_voice_container .speech-bubble p{
	}

	body.task #general_voice_container .speech-bubble a{
	}

	body.task #general_voice_container .voice_side{
		padding-bottom: 0;
	}
}

@media screen and (min-width: 521px) and (max-width: 960px) {

    body.task #general_voice_container .speech-bubble {
        width: 186px;
        height: 124px;
        font-size: 92%;
        top: -138px;
        left: 20%;
    }
}


/*--------------------------------------------------------------------------
interview / interview
--------------------------------------------------------------------------*/
body.interview.page-template-page-lp-link #contents_wrap > #main_wrap > :not(section){
    max-width: 100%;
}

body.interview.page-template-page-lp-link #main_wrap section.interview_container{
	padding-top: 0;
	padding-bottom: 0;
	background: #fff;
	overflow: hidden;
}

body.interview.page-template-page-lp-link #main_wrap section#interview03{
	background: linear-gradient(to bottom, #bfe5f7 0, #bfe5f7 74%, #fff 74%, #fff 100%);
}

body.interview #main_wrap .interview_container .interview__inner{
	position: relative;
	display: flex;
	align-items: stretch;
	width: min(1360px, 100%);
    max-width: 100%;
	margin: 0 auto;
	min-height: 640px;
	text-decoration: none;
	opacity: 1;
}

body.interview #main_wrap .interview_container .interview__inner:hover{
	text-decoration: none;
	opacity: 0.8;
}

body.interview #main_wrap .interview_container .interview__inner:hover img{
	opacity: 1;
}

body.interview #main_wrap .interview_container .interview__left,
body.interview #main_wrap #content .interview_left_rail__item .interview__left{
    display: flex;
    align-items: center;
    justify-content: right;
	position: relative;
	width: 50%;
	padding: 0 0 0 56px;
}

body.interview #main_wrap .interview_container .interview__left::before,
body.interview #main_wrap .interview_container .interview__left::after,
body.interview #main_wrap #content .interview_left_rail__item .interview__left::before,
body.interview #main_wrap #content .interview_left_rail__item .interview__left::after{
	content: "";
	position: absolute;
	width: 5px;
	background: #2684e4;
	transform: skewX(-20deg);
}

body.interview #main_wrap .interview_container .interview__left::before,
body.interview #main_wrap #content .interview_left_rail__item .interview__left::before{
    right: 232px;
    top: 168px;
	height: 130px;
}

body.interview #main_wrap .interview_container .interview__left::after,
body.interview #main_wrap #content .interview_left_rail__item .interview__left::after{
	right: -44px;
	top: -96px;
	height: 392px;
}

body.interview #main_wrap .interview_container .interview__number,
body.interview #main_wrap #content .interview_left_rail__item .interview__number{
	margin: 0;
    font-size: 560%;
    font-weight: 500;
	line-height: 1;
	letter-spacing: 0.01em;
	color: #333333;
    font-family: "Teko", sans-serif;
    white-space: nowrap;
}

body.interview #main_wrap .interview_container .interview__job,
body.interview #main_wrap #content .interview_left_rail__item .interview__job{
	margin-top: 0px;
	font-size: 160%;
	font-weight: 700;
	color: #2684e4;
}

body.interview #main_wrap #content #interview_right_contents{
	width: 100%;
}

body.interview #main_wrap .interview_container .interview__visual{
	position: relative;
	width: 100%;
}

body.interview #main_wrap .interview_container .interview__panel{
	position: absolute;
	right: 0;
	top: 112px;
	width: 50%;
	overflow: visible;
}

body.interview #main_wrap .interview_container .interview__panel .interview__panel__inner{
    display: flex;
    align-items: baseline;
    justify-content: center;
    flex-direction: column;
    width: 100%;
    height: 424px;
    padding: 80px 80px 80px 176px;
    background: linear-gradient(90deg, #1188d8 0%, #1ab8c2 100%);
    clip-path: polygon(0 0, 100% 0, 83% 100%, 0 100%);
}

body.interview #main_wrap .interview_container .interview__panel::before,
body.interview #main_wrap .interview_container .interview__panel::after{
	content: "";
	position: absolute;
	width: 5px;
	background: #f8ea55;
	transform: skewX(-20deg);
    z-index: 1;
}

body.interview #main_wrap .interview_container .interview__panel::before{
	right: 104px;
	top: -36px;
	height: 128px;
}

body.interview #main_wrap .interview_container .interview__panel::after{
	left: 40%;
	bottom: -70px;
	height: 130px;
}

body.interview #main_wrap .interview_container .interview__panel h2{
    margin: 0 0 24px;
    text-align: left;
    font-size: 200%;
    font-weight: 700;
    color: #fff;
}

body.interview #main_wrap .interview_container .interview__panel h2::before,
body.interview #main_wrap .interview_container .interview__panel h2::after{
	display: none;
}

body.interview #main_wrap .interview_container .interview__panel p{
    margin: 0;
    font-size: 100%;
    font-weight: 400;
    color: #fff;
}

body.interview #main_wrap .interview_container .interview__person{
	position: absolute;
    left: -25%;
    bottom: 0;
	height: 500px;
	width: auto;
}

body.interview #main_wrap section#interview01 .interview__person{left: -32%;}

@media screen and (min-width: 1024px) {
	body.interview.page-template-page-lp-link.interview #contents_wrap,
	body.interview.page-template-page-lp-link.interview #main_wrap{
		overflow: visible;
	}

	body.interview.page-template-page-lp-link.interview #main_wrap section.interview_container{
		overflow: visible;
	}

	body.interview #main_wrap .interview_container .interview__inner{
		align-items: stretch;
	}

	body.interview #main_wrap #content{
		position: relative;
	}

	body.interview #main_wrap #content .interview_left_rail{
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		width: 50%;
		margin: 0 auto;
		overflow: visible;
		pointer-events: none;
		z-index: 6;
	}

	body.interview #main_wrap #content .interview_left_rail__list{
		position: relative;
		width: 100%;
		height: 100%;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	body.interview #main_wrap #content .interview_left_rail__item{
		position: absolute;
		top: var(--rail-item-top, 0px);
		left: 0;
		right: 0;
		transform: none;
		opacity: 0;
	}

	body.interview #main_wrap #content .interview_left_rail.is-sticky-enabled .interview_left_rail__item{
		position: sticky;
		top: 50vh;
		transform: translateY(-50%);
	}

	body.interview #main_wrap #content .interview_left_rail__item.is-active{
		opacity: 1;
	}

	body.interview #main_wrap #content .interview_left_rail__item .interview__left{
		height: 100%;
	}

	body.interview #main_wrap #content .interview_left_rail__item .interview__left .interview__left__sticky{
		position: static;
		transform: none;
	}
}

@media screen and (max-width: 1200px) {
	body.interview #main_wrap .interview_container .interview__left,
	body.interview #main_wrap #content .interview_left_rail__item .interview__left{
		padding-left: 24px;
	}

	body.interview #main_wrap .interview_container .interview__number,
	body.interview #main_wrap #content .interview_left_rail__item .interview__number{
		font-size: 200%;
	}

	body.interview #main_wrap .interview_container .interview__job,
	body.interview #main_wrap #content .interview_left_rail__item .interview__job{
		font-size: 220%;
	}

	body.interview #main_wrap .interview_container .interview__panel{
		padding: 64px 56px 40px 220px;
	}

	body.interview #main_wrap .interview_container .interview__panel h2{
		font-size: 300%;
	}

	body.interview #main_wrap .interview_container .interview__panel p{
		font-size: 132%;
	}

	body.interview #main_wrap .interview_container .interview__person{
		height: 560px;
	}
}

@media screen and (max-width: 1023px) {

	body.interview #main_wrap .interview_container .interview__inner{
		min-height: 0;
		flex-direction: column;
	}

	body.interview #main_wrap .interview_container .interview__left{
		width: 100%;
        padding: 56px 24px 32px calc(50% - (94.17px / 2));
        justify-content: left;
	}

	body.interview #main_wrap .interview_container .interview__left::before{
        left: calc(50% - 40px);
        top: auto;
        bottom: -8px;
        height: 36px;
        width: 3px;
	}

	body.interview #main_wrap .interview_container .interview__left::after{
        right: calc(50% - 102px);
        top: auto;
        bottom: -8px;
        height: 136px;
        width: 3px;
	}

	body.interview #main_wrap .interview_container .interview__number{
		font-size: 240%;
	}

	body.interview #main_wrap .interview_container .interview__job{
        margin-top: 0;
        font-size: 80%;
	}

	body.interview #main_wrap .interview_container .interview__visual{
		width: 100%;
		min-height: 240px;
	}

	body.interview #main_wrap .interview_container .interview__panel{
        width: 372px;
		height: auto;
		padding: 0px 24px 0px 64px;
        margin: 0 auto;
		top: 40px;
        left: 0;
	}

	body.interview #main_wrap .interview_container .interview__panel::before {
	    right: 48px;
	    top: -36px;
	    height: 52px;
	    width: 3px;
	}

	body.interview #main_wrap .interview_container .interview__panel::after {
	    left: 48%;
	    bottom: -40px;
	    height: 52px;
	    width: 3px;
	}

	body.interview #main_wrap .interview_container .interview__panel .interview__panel__inner {
	    height: auto;
	    padding: 16px 16px 16px 6%;
	}

	body.interview #main_wrap .interview_container .interview__panel h2{
        padding: 8px 0 0;
        margin-bottom: 8px;
		font-size: 94% !important;
	}

	body.interview #main_wrap .interview_container .interview__panel p{
		font-size: 72% !important;
	}

	body.interview #main_wrap .interview_container .interview__person{
        height: 212px;
		left: 4%;
	}

	body.interview #main_wrap section#interview01 .interview__person {
		left: calc(4% - 16px);
	}

	body.interview #main_wrap section#interview01 .interview__panel .interview__panel__inner {
	    padding: 16px 16px 16px 72px;
        max-width: 300px;
        margin-left: auto;
	}
}

@media screen and (min-width: 521px) and (max-width: 960px) {

	body.interview #main_wrap .interview_container .interview__visual{
        margin-bottom: 56px;
	}

	body.interview #main_wrap .interview_container .interview__panel{
        padding: 0px 24px 0px 10%;
        width: 64%;
        max-width: 480px;
	}

	body.interview #main_wrap .interview_container .interview__panel .interview__panel__inner {
	    padding: 16px 16px 16px 32%;
	}

	body.interview #main_wrap .interview_container .interview__left::after {
		right: calc(50% - 102px);
	}

	body.interview #main_wrap .interview_container .interview__person{
        height: 212px;
	}

	body.interview #main_wrap section#interview01 .interview__panel .interview__panel__inner {
	    padding: 16px 16px 16px 32%;
        max-width: 100%;
	}
}

@media screen and (max-width: 520px) {

	body.interview #main_wrap .interview_container .interview__panel{
        width: 372px;
		padding: 0px 24px 0px 64px;
	}

	body.interview #main_wrap .interview_container .interview__panel .interview__panel__inner {
	    padding: 16px 16px 16px 72px;
	}

	body.interview #main_wrap .interview_container .interview__left::after{
        right: calc(50% - 88px);
	}

	body.interview #main_wrap .interview_container .interview__person{
        height: 176px;
	}

	body.interview #main_wrap section#interview01 .interview__panel .interview__panel__inner {
	    padding: 16px 16px 16px 72px;
	}
}

@media screen and (max-width: 360px) {

    body.interview #main_wrap .interview_container .interview__panel {
		width: calc(100% - 16px);
	}


	body.interview #main_wrap .interview_container .interview__panel .interview__panel__inner {
	    padding-left: 60px;
	}
}




/*--------------------------------------------------------------------------
interview-detail
--------------------------------------------------------------------------*/
body.interview-detail.page-template-page-lp-link #contents_wrap > #main_wrap > :not(section){
    max-width: 100%;
}

body.interview-detail.page-template-page-lp-link #main_wrap h2 {
    text-align: left;
}

body.interview-detail.page-template-page-lp-link #main_wrap h2:after {
    display: none;
}

body.interview-detail.page-template-page-lp-link #main_wrap section#interview_cont1{
	padding-top: 120px;
}

body.interview-detail.page-template-page-lp-link #main_wrap section.left_img_container{
	padding-top: 0;
	padding-bottom: 0;
	background: #fff;
}

body.interview-detail.page-template-page-lp-link #main_wrap section.left_img_container > .left_img_container__inner{
	display: grid;
	grid-template-columns: minmax(0, 52%) minmax(0, 48%);
	width: 100%;
	max-width: 100%;
}

body.interview-detail #main_wrap .left_img_container .left_img_container__image{
	min-height: 560px;
}

body.interview-detail #main_wrap .left_img_container .left_img_container__image img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

body.interview-detail #main_wrap .left_img_container .left_img_container__content{
	padding: 80px;
	color: #333;
}

body.interview-detail #main_wrap .left_img_container .left_img_container__title{
	color: #2684e4;
	font-weight: 700;
}

body.interview-detail #main_wrap .left_img_container .left_img_container__title::before,
body.interview-detail #main_wrap .left_img_container .left_img_container__title::after{
	display: none;
}

body.interview-detail #main_wrap .left_img_container .left_img_container__content p{
	margin: 0;
	color: #333;
}

body.interview-detail #main_wrap .left_img_container .left_img_container__content p + p{
	margin-top: 24px;
}

@media screen and (max-width: 1200px) {
	body.interview-detail #main_wrap .left_img_container .left_img_container__content{
		padding: 56px;
	}

	body.interview-detail #main_wrap .left_img_container .left_img_container__title{
	}
}

@media screen and (max-width: 1023px) {
	body.interview-detail.page-template-page-lp-link #main_wrap section.left_img_container > .left_img_container__inner{
		grid-template-columns: 1fr;
	}

	body.interview-detail #main_wrap .left_img_container .left_img_container__image{
		min-height: 284px;
	}

	body.interview-detail #main_wrap .left_img_container .left_img_container__content{
		padding: 40px 4%;
	}

	body.interview-detail #main_wrap .left_img_container .left_img_container__title{
		margin-bottom: 24px;
	}

	body.interview-detail #main_wrap .left_img_container .left_img_container__content p{
		font-size: 100%;
	}
}

@media screen and (max-width: 768px) {

	body.interview-detail #main_wrap .left_img_container .left_img_container__title{
        margin-top: 0;
	}

}

body.interview-detail.page-template-page-lp-link #main_wrap section#interview_cont2{
	padding-top: 120px;
	padding-bottom: 0;
	background: #fff;
}

body.interview-detail #main_wrap #interview_cont2 .interview_cont2__inner{
	position: relative;
    width: 100%;
	max-width: 100%;
	margin: 0 auto;
	padding: 0;
}

body.interview-detail #main_wrap #interview_cont2 .interview_cont2__panel{
	width: 80%;
	padding: 80px 160px 332px calc((100% - 1200px) / 2);
	background: #2684e4;
	color: #fff;
	box-sizing: border-box;
}

body.interview-detail #main_wrap #interview_cont2 .interview_cont2__title{
	color: #fff;
}

body.interview-detail #main_wrap #interview_cont2 .interview_cont2__title::before,
body.interview-detail #main_wrap #interview_cont2 .interview_cont2__title::after{
	display: none;
}

body.interview-detail #main_wrap #interview_cont2 .interview_cont2__panel p{
	margin: 0;
	color: #fff;
}

body.interview-detail #main_wrap #interview_cont2 .interview_cont2__panel p + p{
	margin-top: 24px;
}

body.interview-detail #main_wrap #interview_cont2 .interview_cont2__image{
	position: relative;
	left: calc((100% - 1200px) / 2);
	right: 0;
	bottom: 286px;
	height: 560px;
	margin: 0;
}

body.interview-detail #main_wrap #interview_cont2 .interview_cont2__image img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media screen and (max-width: 1200px) {
	body.interview-detail #main_wrap #interview_cont2 .interview_cont2__panel{
		width: 86%;
		padding: 56px 56px 292px;
	}

	body.interview-detail #main_wrap #interview_cont2 .interview_cont2__title{
		font-size: 280%;
	}

	body.interview-detail #main_wrap #interview_cont2 .interview_cont2__image{
		left: 56px;
		height: 360px;
	}
}

@media screen and (max-width: 1023px) {
	body.interview-detail #main_wrap #interview_cont2 .interview_cont2__inner{
		padding-bottom: 0;
	}

	body.interview-detail #main_wrap #interview_cont2 .interview_cont2__panel{
		width: 100%;
		padding: 40px 4%;
	}

	body.interview-detail #main_wrap #interview_cont2 .interview_cont2__title{
		margin-bottom: 22px;
		font-size: 220%;
	}

	body.interview-detail #main_wrap #interview_cont2 .interview_cont2__panel p{
		font-size: 100%;
		line-height: 1.9;
	}

	body.interview-detail #main_wrap #interview_cont2 .interview_cont2__image{
		position: static;
		height: 260px;
	}
}

@media screen and (max-width: 768px) {

	body.interview-detail.page-template-page-lp-link #main_wrap section#interview_cont2 {
	    padding-top: 40px;
	}
}

body.interview-detail.page-template-page-lp-link #main_wrap section.right_img_container{
	padding-top: 80px;
	padding-bottom: 0;
	background: #fff;
}

body.interview-detail.page-template-page-lp-link #main_wrap section.right_img_container > .right_img_container__inner{
	display: grid;
	grid-template-columns: minmax(0, 46%) minmax(0, 54%);
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	align-items: stretch;
}

body.interview-detail #main_wrap .right_img_container .right_img_container__content{
	padding: 0 80px 80px 100px;
	color: #333;
}

body.interview-detail #main_wrap .right_img_container .right_img_container__title{
	color: #2684e4;
}

body.interview-detail #main_wrap .right_img_container .right_img_container__title::before,
body.interview-detail #main_wrap .right_img_container .right_img_container__title::after{
	display: none;
}

body.interview-detail #main_wrap .right_img_container .right_img_container__content p{
	margin: 0;
	color: #333;
}

body.interview-detail #main_wrap .right_img_container .right_img_container__content p + p{
	margin-top: 24px;
}

body.interview-detail #main_wrap .right_img_container .right_img_container__image{
	margin: 0;
	min-height: 620px;
}

body.interview-detail #main_wrap .right_img_container .right_img_container__image img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media screen and (max-width: 1200px) {
	body.interview-detail #main_wrap .right_img_container .right_img_container__content{
		padding: 0 40px 0 56px;
	}

	body.interview-detail #main_wrap .right_img_container .right_img_container__title{
		font-size: 240%;
	}
}

@media screen and (max-width: 1023px) {
	body.interview-detail.page-template-page-lp-link #main_wrap section.right_img_container{
		padding-top: 56px;
	}

	body.interview-detail.page-template-page-lp-link #main_wrap section.right_img_container > .right_img_container__inner{
		grid-template-columns: 1fr;
	}

	body.interview-detail #main_wrap .right_img_container .right_img_container__content{
		padding: 0 4% 28px;
	}

	body.interview-detail #main_wrap .right_img_container .right_img_container__title{
		margin-bottom: 24px;
		font-size: 200%;
	}

	body.interview-detail #main_wrap .right_img_container .right_img_container__content p{
		font-size: 100%;
		line-height: 1.9;
	}

	body.interview-detail #main_wrap .right_img_container .right_img_container__image{
		min-height: 280px;
	}
}

@media screen and (max-width: 768px) {

    body.interview-detail.page-template-page-lp-link #main_wrap section.right_img_container {
        padding-top: 40px;
    }

	body.interview-detail #main_wrap .right_img_container .right_img_container__title {
        margin-top: 0;
	}
}

body.interview-detail.page-template-page-lp-link #main_wrap section.schedule_container{
	padding-top: 72px;
	padding-bottom: 80px;
	background: #f0f9fe;
}

body.interview-detail #main_wrap .schedule_container .schedule_container__inner{
	width: min(1200px, 100%);
	max-width: 100%;
	margin: 0 auto;
	padding: 0 36px;
	box-sizing: border-box;
}

body.interview-detail #main_wrap .schedule_container .schedule_container__head{
	text-align: center;
}

body.interview-detail #main_wrap .schedule_container .schedule_container__title{
	margin: 0;
	font-weight: 600;
	letter-spacing: 0.03em;
	text-align: center;
	color: #333333;
}

body.interview-detail #main_wrap .schedule_container .schedule_container__title::before,
body.interview-detail #main_wrap .schedule_container .schedule_container__title::after{
	display: none;
}

body.interview-detail #main_wrap .schedule_container .schedule_container__head::after{
	content: "";
	display: block;
	width: 80px;
	height: 6px;
	margin: 24px auto 0;
	background: #2684e4;
}

body.interview-detail #main_wrap .schedule_container .schedule_container__list{
	margin: 72px 0 0;
	padding: 0;
	list-style: none;
}

body.interview-detail #main_wrap .schedule_container .schedule_container__item{
	display: flex;
	align-items: center;
	gap: 24px;
	background: #fff;
    border-radius: 32px;
    padding: 32px 40px;
}

body.interview-detail #main_wrap .schedule_container .schedule_container__item + .schedule_container__item{
	margin-top: 22px;
}

body.interview-detail #main_wrap .schedule_container .schedule_container__time{
    flex: 0 0 100px;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: #2684e4;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 120%;
    letter-spacing: 0.8px;
    font-weight: 700;
    line-height: 1;
}

body.interview-detail #main_wrap .schedule_container .schedule_container__body h3{
margin: 0;
    font-size: 160%;
    font-weight: 700;
    color: #2684e4;
}

body.interview-detail #main_wrap .schedule_container .schedule_container__body h3::before,
body.interview-detail #main_wrap .schedule_container .schedule_container__body h3::after{
	display: none;
}

body.interview-detail #main_wrap .schedule_container .schedule_container__body p{
	margin: 0;
	font-size: 106%;
	color: #333;
}

@media screen and (max-width: 1200px) {

	body.interview-detail #main_wrap .schedule_container .schedule_container__inner{
		padding: 0 24px;
	}

	body.interview-detail #main_wrap .schedule_container .schedule_container__title{
		font-size: 500%;
	}
}

@media screen and (max-width: 1023px) {

	body.interview-detail.page-template-page-lp-link #main_wrap section.schedule_container{
		padding-top: 56px;
		padding-bottom: 56px;
	}

	body.interview-detail #main_wrap .schedule_container .schedule_container__inner{
		padding: 0 16px;
	}

	body.interview-detail #main_wrap .schedule_container .schedule_container__list{
		margin-top: 48px;
	}

	body.interview-detail #main_wrap .schedule_container .schedule_container__item{
		gap: 16px;
		padding: 20px 16px;
		border-radius: 20px;
        margin: 0;
	}

	body.interview-detail #main_wrap .schedule_container .schedule_container__time{
		flex-basis: 76px;
		width: 76px;
		height: 76px;
		font-size: 120%;
	}

	body.interview-detail #main_wrap .schedule_container .schedule_container__body h3{
		font-size: 150%;
	}

	body.interview-detail #main_wrap .schedule_container .schedule_container__body p{
		font-size: 94%;
	}
}

@media screen and (max-width: 768px) {

	body.interview-detail #main_wrap .schedule_container .schedule_container__time{
		font-size: 120%;
	}

    body.interview-detail #main_wrap .schedule_container .schedule_container__body h3 {
        font-size: 120%;
    }
}

body.interview-detail.page-template-page-lp-link #main_wrap section#interview_cont5{
	padding-top: 80px;
	padding-bottom: 80px;
	background: #fff;
}

body.interview-detail #main_wrap #interview_cont5 .interview_cont5__inner{
	width: min(1200px, 100%);
	max-width: 100%;
	margin: 0 auto;
	padding: 0 36px;
	box-sizing: border-box;
}

body.interview-detail #main_wrap #interview_cont5 .interview_cont5__head{
	text-align: center;
}

body.interview-detail #main_wrap #interview_cont5 .interview_cont5__title{
	margin: 0;
	text-align: center;
	color: #333333;
	font-weight: 700;
}

body.interview-detail #main_wrap #interview_cont5 .interview_cont5__head::after{
	content: "";
	display: block;
	width: 80px;
	height: 6px;
	margin: 24px auto 0;
	background: #2684e4;
}

body.interview-detail #main_wrap #interview_cont5 .interview_cont5__body{
	display: grid;
	grid-template-columns: minmax(0, 52%) minmax(0, 48%);
	gap: 40px;
	align-items: start;
	margin-top: 80px;
}

body.interview-detail #main_wrap #interview_cont5 .interview_cont5__image{
	margin: 0;
}

body.interview-detail #main_wrap #interview_cont5 .interview_cont5__image img{
	display: block;
	width: 100%;
	height: auto;
}

body.interview-detail #main_wrap #interview_cont5 .interview_cont5__text p{
	margin: 0;
	color: #333;
	line-height: 2;
}

body.interview-detail #main_wrap #interview_cont5 .interview_cont5__entry{
	display: flex;
	justify-content: center;
	margin-top: 80px;
}

body.interview-detail #main_wrap #interview_cont5 .interview_cont5__entry a{
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 400px;
	height: 80px;
	border-radius: 999px;
	background: linear-gradient(90deg, #1989d8 0%, #22b7d2 100%);
	color: #fff;
	font-size: 160%;
	font-weight: 700;
	text-decoration: none;
	letter-spacing: 0.01em;
}

body.interview-detail #main_wrap #interview_cont5 .interview_cont5__entry a:hover{
	opacity: 0.8;
}

body.interview-detail #main_wrap #interview_cont5 .interview_cont5__entry a::after{
    content: "";
    background: url(../images/common/arrow_w.png);
    display: inline-block;
    width: 26px;
    height: 26px;
    position: absolute;
    right: 24px;
}

@media screen and (max-width: 1200px) {
	body.interview-detail #main_wrap #interview_cont5 .interview_cont5__inner{
		padding: 0 24px;
	}

	body.interview-detail #main_wrap #interview_cont5 .interview_cont5__body{
		grid-template-columns: 1fr;
		gap: 24px;
		margin-top: 56px;
	}
}

@media screen and (max-width: 1023px) {
	body.interview-detail.page-template-page-lp-link #main_wrap section#interview_cont5{
		padding-top: 56px;
		padding-bottom: 56px;
	}

	body.interview-detail #main_wrap #interview_cont5 .interview_cont5__inner{
		padding: 0 16px;
	}

	body.interview-detail #main_wrap #interview_cont5 .interview_cont5__head::after{
		margin-top: 16px;
	}

	body.interview-detail #main_wrap #interview_cont5 .interview_cont5__body{
		margin-top: 40px;
	}

	body.interview-detail #main_wrap #interview_cont5 .interview_cont5__text p{
		font-size: 94%;
		line-height: 1.9;
	}

	body.interview-detail #main_wrap #interview_cont5 .interview_cont5__entry{
		margin-top: 48px;
	}

	body.interview-detail #main_wrap #interview_cont5 .interview_cont5__entry a{

	}
}

body.interview-detail.page-template-page-lp-link #main_wrap section#interview_slider_link{
	background: #c0ebff;
    height: 592px;
	max-width: 100%;
	margin: 0 auto;
	padding: 56px 0 80px;
	overflow: hidden;
}

body.interview-detail #main_wrap section#interview_slider_link .slider-controls{
	max-width: 1200px;
	margin: 0 auto 12px;
	padding: 0 40px;
	position: relative;
	top: 0;
}

body.interview-detail #main_wrap section#interview_slider_link .employees-row{
    display: flex;
    align-items: baseline;
    width: 100%;
    max-width: 100%;
	padding-top: 120px;
}

body.interview-detail #main_wrap section#interview_slider_link .speech-bubble{
	display: none;
	align-items: center;
	justify-content: center;
	background: #fff;
	border-radius: 50%;
	width: 148px;
	height: 104px;
	font-size: 72%;
	color: #333;
	font-weight: 700;
	position: absolute;
	top: 0;
	left: 36px;
}

body.interview-detail #main_wrap section#interview_slider_link .person.is-center .speech-bubble{
	display: flex;
}

body.interview-detail #main_wrap section#interview_slider_link .speech-bubble::after{
	content: "";
	position: absolute;
	bottom: 0;
	right: 10px;
	border-width: 25px 0 0 17px;
	border-style: solid;
	border-color: #fff transparent transparent transparent;
	transform: rotate(316deg);
}

@media screen and (min-width: 768px) and (max-width: 1024px){

	body.interview-detail.page-template-page-lp-link #main_wrap section#interview_slider_link{
		padding: 40px 0 48px;
    	height: 492px;
	}


	body.interview-detail #main_wrap section#interview_slider_link .employees-row{
		padding-top: 148px;
	}

	body.interview-detail #main_wrap section#interview_slider_link .speech-bubble {
	    top: -92px;
	    left: 4px;
	}

}

@media screen and (max-width: 767px){

	body.interview-detail.page-template-page-lp-link #main_wrap section#interview_slider_link{
		padding: 40px 0 48px;
    	height: 492px;
	}

	body.interview-detail #main_wrap section#interview_slider_link .slider-controls{
		padding: 0 20px;
		gap: 14px;
	}

	body.interview-detail #main_wrap section#interview_slider_link .employees-row{
		padding-top: 148px;
	}

	body.interview-detail #main_wrap section#interview_slider_link .speech-bubble {
	    width: 128px;
	    height: 80px;
	    top: -88px;
	    left: 64px;
	}

	body.interview-detail #main_wrap section#interview_slider_link .speech-bubble::after{
		bottom: -14px;
	    right: 44px;
	    border-width: 25px 0 0 32px;
	    transform: rotate(348deg);
	}

}

@media screen and (max-width: 520px){

	body.interview-detail.page-template-page-lp-link #main_wrap section#interview_slider_link{
		padding: 40px 0 48px;
    	height: 440px;
	}

	body.interview-detail #main_wrap section#interview_slider_link .employees-row{
		padding-top: 148px;
	}
}


/*--------------------------------------------------------------------------
offices / office_report_container
--------------------------------------------------------------------------*/
body.work-style.page-template-page-lp-link #contents_wrap > #main_wrap > :not(section){
    max-width: 100%;
}

body.work-style.page-template-page-lp-link #main_wrap section > *{
    max-width: 100%;
    width: 100%;
}

body.work-style.page-template-page-lp-link #main_wrap section#office_report_container{
	padding-top: 0;
	padding-bottom: 0;
	background: #fff;
}

body.work-style #main_wrap #office_report_container .office_report__head{
	padding: 80px;
	text-align: center;
}

body.work-style #main_wrap #office_report_container .office_report__title{

}

body.work-style #main_wrap #office_report_container .office_report__content{
	display: grid;
	grid-template-columns: minmax(0, 56%) minmax(0, 44%);
	width: 100%;
}

body.work-style #main_wrap #office_report_container .office_report__left{
	position: relative;
	background: #bfe8fb;
	padding: 80px 56px 80px 200px;
	overflow: hidden;
}

body.work-style #main_wrap #office_report_container .office_report__left::before{
	content: "";
	position: absolute;
	left: 100px;
	top: 70px;
	width: 360px;
	height: 360px;
	border-radius: 50%;
	background: #2684e4;
}

body.work-style #main_wrap #office_report_container .office_report__topic{
	position: relative;
	z-index: 1;
	margin: 64px 0 0 0;
	color: #fff;
	font-family: "Teko", sans-serif;
	font-size: 240%;
	font-weight: 600;
	letter-spacing: 0.03em;
    line-height: 1;
}

body.work-style #main_wrap #office_report_container .office_report__info{
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 300px) minmax(0, 1fr);
	gap: 40px;
	align-items: start;
	margin-top: 24px;
}

body.work-style #main_wrap #office_report_container .office_report__thumb{
	margin: 0;
}

body.work-style #main_wrap #office_report_container .office_report__thumb img{
	display: block;
	width: 100%;
	height: auto;
}

body.work-style #main_wrap #office_report_container .office_report__text h3{
}

body.work-style #main_wrap #office_report_container .office_report__text h3::before,
body.work-style #main_wrap #office_report_container .office_report__text h3::after{
	display: none;
}

body.work-style #main_wrap #office_report_container .office_report__text p{
	margin: 0;
	color: #333333;
	font-size: 112%;
	line-height: 1.9;
}

body.work-style #main_wrap #office_report_container .office_report__main_image{
	margin: 0;
}

body.work-style #main_wrap #office_report_container .office_report__main_image img{
	display: block;
	width: 100%;
	height: 100%;
	min-height: 620px;
	object-fit: cover;
}

@media screen and (max-width: 1400px){
	body.work-style #main_wrap #office_report_container .office_report__left{
		padding: 72px 32px 56px;
	}

	body.work-style #main_wrap #office_report_container .office_report__info{
		grid-template-columns: minmax(0, 240px) minmax(0, 1fr);
		gap: 24px;
	}

	body.work-style #main_wrap #office_report_container .office_report__text h3{
	}
}

@media screen and (max-width: 1023px){

	body.work-style #main_wrap #office_report_container .office_report__head{
		padding: 56px 16px 64px;
	}

	body.work-style #main_wrap #office_report_container .office_report__content{
		grid-template-columns: 1fr;
	}

	body.work-style #main_wrap #office_report_container .office_report__left{
		padding: 56px 16px 40px;
	}

	body.work-style #main_wrap #office_report_container .office_report__left::before{
		left: -110px;
		top: 40px;
		width: 280px;
		height: 280px;
	}

	body.work-style #main_wrap #office_report_container .office_report__topic{
		margin-left: 4px;
		font-size: 240%;
	}

	body.work-style #main_wrap #office_report_container .office_report__info{
		grid-template-columns: 340px 1fr;
		gap: 24px;
	}

	body.work-style #main_wrap #office_report_container .office_report__thumb{
		max-width: 340px;
	}

	body.work-style #main_wrap #office_report_container .office_report__text h3{
		padding: 0;
        font-size: 112%;
	}

	body.work-style #main_wrap #office_report_container .office_report__text p{
		font-size: 100%;
	}

	body.work-style #main_wrap #office_report_container .office_report__main_image img{
		min-height: 300px;
	}
}

@media screen and (max-width: 520px){

	body.work-style #main_wrap #office_report_container .office_report__info{
		grid-template-columns: 1fr;
	}
}


/*--------------------------------------------------------------------------
offices / osaka_tokyo_container
--------------------------------------------------------------------------*/
body.work-style.page-template-page-lp-link #main_wrap section#osaka_tokyo_container{
	padding-top: 160px;
	padding-bottom: 184px;
	background: #fff;
}

body.work-style #main_wrap #osaka_tokyo_container .osaka_tokyo__inner{
	width: min(1400px, 100%);
	max-width: 100%;
	margin: 0 auto;
	padding: 0 36px;
	box-sizing: border-box;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 30px;
}

body.work-style #main_wrap #osaka_tokyo_container .osaka_tokyo__item{
	display: block;
	position: relative;
	text-decoration: none;
}

body.work-style #main_wrap #osaka_tokyo_container .osaka_tokyo__item:hover{
	text-decoration: none;
	opacity: 0.8;
}

body.work-style #main_wrap #osaka_tokyo_container .osaka_tokyo__header{
	display: flex;
	align-items: baseline;
	gap: 16px;
	margin-bottom: 0;
}

body.work-style #main_wrap #osaka_tokyo_container .osaka_tokyo__city{
	margin: 0;
	color: #2684e4;
	font-family: "Teko", sans-serif;
    font-size: 560%;
    font-weight: 500;
	line-height: 1;
	letter-spacing: 0.02em;
}

body.work-style #main_wrap #osaka_tokyo_container .osaka_tokyo__city::before,
body.work-style #main_wrap #osaka_tokyo_container .osaka_tokyo__city::after{
	display: none;
}

body.work-style #main_wrap #osaka_tokyo_container .osaka_tokyo__office{
	margin: 0;
	font-size: 100%;
	font-weight: 700;
}

body.work-style #main_wrap #osaka_tokyo_container .osaka_tokyo__image{
	margin: 0;
}

body.work-style #main_wrap #osaka_tokyo_container .osaka_tokyo__image img{
	display: block;
	width: 100%;
	height: auto;
}

body.work-style #main_wrap #osaka_tokyo_container .osaka_tokyo__building{
	position: absolute;
	right: 0;
	bottom: -32px;
	margin: 0;
	min-width: 64%;
	padding: 16px 24px;
	background: linear-gradient(90deg, rgba(47, 132, 219, 0.9) 0%, rgba(36, 193, 197, 0.9) 100%);
	color: #fff;
	font-size: 136%;
	font-weight: 700;
	text-align: center;
	box-sizing: border-box;
}

@media screen and (max-width: 1200px){
	body.work-style #main_wrap #osaka_tokyo_container .osaka_tokyo__inner{
		padding: 0 24px;
		gap: 20px;
	}

	body.work-style #main_wrap #osaka_tokyo_container .osaka_tokyo__city{
		font-size: 560%;
	}

	body.work-style #main_wrap #osaka_tokyo_container .osaka_tokyo__office{
		font-size: 156%;
	}

	body.work-style #main_wrap #osaka_tokyo_container .osaka_tokyo__building{
		font-size: 130%;
		padding: 14px 16px;
	}
}

@media screen and (max-width: 1023px){
	body.work-style.page-template-page-lp-link #main_wrap section#osaka_tokyo_container{
		padding-top: 40px;
		padding-bottom: 56px;
	}

	body.work-style #main_wrap #osaka_tokyo_container .osaka_tokyo__inner{
		grid-template-columns: 1fr;
		padding: 0 16px;
		gap: 56px;
	}

	body.work-style #main_wrap #osaka_tokyo_container .osaka_tokyo__header{
		gap: 12px;
		margin-bottom: 14px;
	}

	body.work-style #main_wrap #osaka_tokyo_container .osaka_tokyo__city{
		font-size: 420%;
	}

	body.work-style #main_wrap #osaka_tokyo_container .osaka_tokyo__office{
		font-size: 120%;
	}

	body.work-style #main_wrap #osaka_tokyo_container .osaka_tokyo__building{
		right: 0;
		left: auto;
		bottom: -20px;
        min-width: 100%;
        font-size: 112%;
        padding: 12px;
        line-height: 1.4;
	}
}

/*--------------------------------------------------------------------------
offices / from_offices_container
--------------------------------------------------------------------------*/
body.work-style.page-template-page-lp-link #main_wrap section#from_offices_container{
	padding-top: 86px;
	padding-bottom: 92px;
	background: #f0f9fe;
}

body.work-style #main_wrap #from_offices_container .from_offices__inner{
	width: min(1400px, 100%);
	max-width: 100%;
	margin: 0 auto;
	padding: 0 36px;
	box-sizing: border-box;
	display: grid;
	grid-template-columns: minmax(320px, 1fr) minmax(0, 1.6fr);
	gap: 24px;
	align-items: start;
}

body.work-style #main_wrap #from_offices_container .from_offices__title{
	margin: 0;
    text-align: left;
}

body.work-style #main_wrap #from_offices_container .from_offices__title::before{
	display: none;
}

body.work-style #main_wrap #from_offices_container .from_offices__title::after{
	left: 0;
}

body.work-style #main_wrap #from_offices_container .from_offices__lead p{
	margin: 80px 0 0;
	line-height: 2;
}

body.work-style #main_wrap #from_offices_container .from_offices__lead p + p{
}

body.work-style #main_wrap #from_offices_container .from_offices__map_wrap{
	position: relative;
}

body.work-style #main_wrap #from_offices_container .from_offices__map{
	margin: 0;
}

body.work-style #main_wrap #from_offices_container .from_offices__map img{
	display: block;
	width: 100%;
	height: auto;
}

body.work-style #main_wrap #from_offices_container .from_offices__pins{
	position: absolute;
	inset: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.work-style #main_wrap #from_offices_container .from_offices__pin{
	position: absolute;
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background: #5fa6d4;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	color: #fff;
	font-weight: 700;
}

body.work-style #main_wrap #from_offices_container .from_offices__pin_link{
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	border: 0;
	padding: 0;
	margin: 0;
	border-radius: 50%;
	background: transparent;
	color: inherit;
	cursor: pointer;
}

body.work-style #main_wrap #from_offices_container .from_offices__pin_link:hover{
	opacity: 0.8;
}

body.work-style #main_wrap #from_offices_container .from_offices__city{
    font-size: 100%;
    line-height: 1;
    color: #fff;
}

body.work-style #main_wrap #from_offices_container .from_offices__play{
	display: block;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	position: relative;
}

body.work-style #main_wrap #from_offices_container .from_offices__play::before{
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 20px;
	height: 20px;
	transform: translate(-50%, -50%);
	background: url(../images/work-style/index/icon_arrow_map.png) center center / contain no-repeat;
}

body.work-style #main_wrap #from_offices_container .from_offices__pin.has-movie::after{
	content: "";
	position: absolute;
	right: -14px;
	top: -2px;
	width: 24px;
	height: 24px;
	background: url(../images/work-style/index/icon_movie_map.png) center center / contain no-repeat;
}

body.work-style #main_wrap #from_offices_container .from_offices__pin.is-sapporo{ right: 16%; top: 11%; }
body.work-style #main_wrap #from_offices_container .from_offices__pin.is-sendai{ right: 17%; top: 40%; }
body.work-style #main_wrap #from_offices_container .from_offices__pin.is-niigata{ right: 34%; top: 48%; }
body.work-style #main_wrap #from_offices_container .from_offices__pin.is-tokyo{ right: 27%; top: 59%; }
body.work-style #main_wrap #from_offices_container .from_offices__pin.is-nagoya{ right: 43%; top: 65%; }
body.work-style #main_wrap #from_offices_container .from_offices__pin.is-osaka{ right: 54%; top: 68%; }
body.work-style #main_wrap #from_offices_container .from_offices__pin.is-okayama{ right: 63%; top: 70%; }
body.work-style #main_wrap #from_offices_container .from_offices__pin.is-hiroshima{ right: 72%; top: 70%; }
body.work-style #main_wrap #from_offices_container .from_offices__pin.is-fukuoka{ right: 82%; top: 74%; }

body.from-offices-modal-open{
	overflow: hidden;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal{
	position: fixed;
	inset: 0;
	z-index: 2000;
	display: none;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal.is-open{
	display: block;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__backdrop{
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.72);
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__dialog{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: min(980px, calc(100% - 40px));
	background: #fff;
	max-height: calc(100vh - 40px);
	overflow: auto;
	box-sizing: border-box;
	border-radius: 0 0 18px 18px;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__close{
	position: absolute;
	right: 0;
	top: 0;
	width: 72px;
	height: 72px;
	border: 0;
	background: #2684e4;
	color: #fff;
	font-size: 260%;
	font-weight: 300;
	line-height: 1;
	cursor: pointer;
	z-index: 5;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__standard{
	display: grid;
	grid-template-columns: minmax(0, 48%) minmax(0, 52%);
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__image{
	margin: 0;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__image img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__content{
	padding: 56px 48px 48px;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__content h3{
	margin: 0 0 20px;
	color: #2684e4;
	font-size: 280%;
	font-weight: 700;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__content h3::before,
body.work-style #main_wrap #from_offices_container .from_offices_modal__content h3::after{
	display: none;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__content p{
	margin: 0;
	color: #333333;
	font-size: 112%;
	line-height: 1.9;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__qa_list{
	margin-top: 40px;
	display: grid;
	gap: 28px;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__qa_item{
	background: #f0f9fe;
	border-radius: 22px;
	padding: 30px 34px;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__qa_item h4{
	margin: 0;
	display: flex;
	align-items: center;
	gap: 14px;
	color: #333333;
	font-size: 250%;
	font-weight: 700;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__qa_item h4::before,
body.work-style #main_wrap #from_offices_container .from_offices_modal__qa_item h4::after{
	display: none;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__qa_item .q_badge{
	flex: 0 0 46px;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #2684e4;
	color: #fff;
	font-size: 88%;
	line-height: 1;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__qa_item p{
	margin: 16px 0 0;
	color: #333333;
	font-size: 112%;
	line-height: 1.9;
}

/*
body.work-style #main_wrap #from_offices_container .from_offices_modal__dialog.is-special{
	width: min(1320px, calc(100% - 40px));
	background: transparent;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__dialog.is-special .from_offices_modal__standard{
	display: none;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__dialog.is-special .from_offices_modal__special{
	display: block;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__standard_panel,
body.work-style #main_wrap #from_offices_container .from_offices_modal__special_panel{
	display: none;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__standard_panel.is-active,
body.work-style #main_wrap #from_offices_container .from_offices_modal__special_panel.is-active{
	display: block;
}
*/

@media screen and (max-width: 1200px){

	body.work-style #main_wrap #from_offices_container .from_offices__inner{
		padding: 0 24px;
		grid-template-columns: minmax(280px, 1fr) minmax(0, 1.2fr);
	}

	body.work-style #main_wrap #from_offices_container .from_offices__lead p{
		font-size: 102%;
	}

	body.work-style #main_wrap #from_offices_container .from_offices__pin{
		width: 82px;
		height: 82px;
		gap: 4px;
	}

	body.work-style #main_wrap #from_offices_container .from_offices__city{
		font-size: 108%;
	}

	body.work-style #main_wrap #from_offices_container .from_offices__play{
		width: 22px;
		height: 22px;
	}

	body.work-style #main_wrap #from_offices_container .from_offices__play::before{
		width: 16px;
		height: 16px;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__dialog{
		width: min(900px, calc(100% - 36px));
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__close{
		width: 56px;
		height: 56px;
		font-size: 200%;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__content{
		padding: 44px 34px 38px;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__content h3{
		font-size: 220%;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__content p{
		font-size: 100%;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__qa_item{
		padding: 24px 20px;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__qa_item h4{
		font-size: 180%;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__qa_item p{
		font-size: 100%;
	}
}

@media screen and (min-width: 1024px) and (max-width: 1200px){

	body.work-style #main_wrap #from_offices_container .from_offices__pin {
        width: 64px;
        height: 64px;
	}

	body.work-style #main_wrap #from_offices_container .from_offices__city {
        font-size: 80%;
    }

}

@media screen and (max-width: 1023px){
	body.work-style.page-template-page-lp-link #main_wrap section#from_offices_container{
		padding-top: 56px;
		padding-bottom: 56px;
	}

	body.work-style #main_wrap #from_offices_container .from_offices__inner{
		grid-template-columns: 1fr;
		padding: 0 16px;
		gap: 34px;
	}

	body.work-style #main_wrap #from_offices_container .from_offices__lead p{
		margin-top: 36px;
		font-size: 94%;
		line-height: 1.9;
	}

	body.work-style #main_wrap #from_offices_container .from_offices__lead p + p{
		margin-top: 24px;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__dialog{
		width: calc(100% - 24px);
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__image{
		height: 220px;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__content{
		padding: 22px 18px 24px;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__content h3{
		font-size: 170%;
		margin-bottom: 12px;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__content p{
		font-size: 94%;
		line-height: 1.8;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__qa_list{
		margin-top: 18px;
		gap: 14px;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__qa_item{
		border-radius: 14px;
		padding: 14px 12px;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__qa_item h4{
		gap: 8px;
		font-size: 130%;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__qa_item .q_badge{
		flex-basis: 32px;
		width: 32px;
		height: 32px;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__qa_item p{
		margin-top: 10px;
		font-size: 84%;
		line-height: 1.7;
	}
}

@media screen and (max-width: 768px){

	body.work-style #main_wrap #from_offices_container .from_offices__pin{
		width: 64px;
		height: 64px;
		gap: 4px;
	}

	body.work-style #main_wrap #from_offices_container .from_offices__pin_link {
	    gap: 0;
	}

    body.work-style #main_wrap #from_offices_container .from_offices__city {
        font-size: 80%;
    }

	body.work-style #main_wrap #from_offices_container .from_offices__play {
        width: 20px;
        height: 20px;
    }
}

@media screen and (max-width: 520px){

	body.work-style #main_wrap #from_offices_container .from_offices__pin{
		width: 40px;
		height: 40px;
		gap: 4px;
	}

	body.work-style #main_wrap #from_offices_container .from_offices__play::before{
		width: 11px;
		height: 11px;
	}
}


/* 東京・札幌以外のモーダルレイアウト */
body.work-style #main_wrap #from_offices_container .from_offices_modal__dialog:not(.is-special){
	width: min(1320px, calc(100% - 40px));
	background: #fff;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__dialog:not(.is-special) .from_offices_modal__standard{
	display: block;
	padding: 74px 54px 62px;
	background: #fff;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__standard_head{
	text-align: center;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__standard_head h3{
	margin: 0;
	font-size: 240%;
	font-weight: 700;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__standard_head h3::before,
body.work-style #main_wrap #from_offices_container .from_offices_modal__standard_head h3::after{
	display: none;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__standard_head::after{
	content: "";
	display: block;
	width: 80px;
	height: 6px;
	margin: 24px auto 0;
	background: #2684e4;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__dialog:not(.is-special) .from_offices_modal__standard_images{
	margin-top: 56px;
}

@media screen and (max-width: 1200px){
	body.work-style #main_wrap #from_offices_container .from_offices_modal__dialog:not(.is-special){
		width: calc(100% - 24px);
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__dialog:not(.is-special) .from_offices_modal__standard{
		padding: 58px 26px 34px;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__standard_head h3{
		font-size: 340%;
	}
}

@media screen and (max-width: 767px){
	body.work-style #main_wrap #from_offices_container .from_offices_modal__dialog:not(.is-special) .from_offices_modal__standard{
		padding: 52px 14px 20px;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__standard_head h3{
		font-size: 230%;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__standard_head::after{
		margin-top: 14px;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__dialog:not(.is-special) .from_offices_modal__standard_images{
		margin-top: 24px;
	}
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__standard_panel,
body.work-style #main_wrap #from_offices_container .from_offices_modal__special_panel{
	display: none;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__standard_panel.is-active,
body.work-style #main_wrap #from_offices_container .from_offices_modal__special_panel.is-active{
	display: block;
}

/* 東京・札幌モーダル専用レイアウト */
body.work-style #main_wrap #from_offices_container .from_offices_modal__dialog.is-special{
	width: min(1460px, calc(100% - 36px));
	background: #fff;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__dialog.is-special .from_offices_modal__special{
	display: block;
	padding: 80px 0px 40px;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__special_head{
	text-align: center;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__special_head h3{
	margin: 0;
	color: #2f343a;
	font-size: 240%;
	font-weight: 700;
	letter-spacing: 0.02em;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__special_head h3::before,
body.work-style #main_wrap #from_offices_container .from_offices_modal__special_head h3::after{
	display: none;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__special_head::after{
	content: "";
	display: block;
	width: 96px;
	height: 6px;
	margin: 40px auto 0;
	background: #2684e4;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_intro{
	margin-top: 80px;
    margin-right: 100px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 100px;
	align-items: start;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_intro::after{
	content: "";
    position: absolute;
    left: 200px;
    right: 0;
    margin-top: 300px;
    height: 500px;
    background: #f0f9fe;
    z-index: 0;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_main{
	margin: 0;
    position: relative;
    z-index: 1;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_main img{
	display: block;
	width: 100%;
	height: 450px;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_main figcaption{
    margin-top: 32px;
    font-size: 96%;
    text-align: right;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_sub{
	position: relative;
	padding-bottom: 22px;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_sub p{
	position: relative;
	z-index: 1;
	margin: 0;
	color: #2f343a;
	font-size: 160%;
	font-weight: 700;
	line-height: 2;
	letter-spacing: 0.01em;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_sub figure{
	position: relative;
	z-index: 1;
	margin: 28px 0 0;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_sub figure img{
	display: block;
	width: 100%;
    height: 500px;
    object-fit: cover;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_message{
	margin: 160px 0 0 80px;
	font-size: 160%;
	font-weight: 700;
	letter-spacing: 0.01em;
    position: relative;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_gallery{
	margin-top: 34px;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding-bottom: 120px;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_gallery figure{
	margin: 0 0 0 80px;
	width: 40%;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_gallery figure.is-center{
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: 26%;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_gallery img{
	display: block;
	width: 100%;
	height: auto;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_gallery figure.is-right{
	width: 48%;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_gallery figure.is-right img{
	height: 534px;
    object-fit: cover;
    object-position: bottom;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_slider{
	margin-top: 48px;
    padding: 0 16px;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_slider_view{
	overflow: hidden;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_slider_track{
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	gap: 16px;
	transition: transform 0.45s ease;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_slide{
	flex: 0 0 calc((100% - 48px) / 4);
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_slide figure{
	margin: 0;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_slide img{
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_slide p{
	margin: 10px 0 0;
	font-size: 90%;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_slider_controls{
	margin-top: 16px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 20px;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_slider_dots{
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_slider_dots .dot{
	width: 10px;
	height: 10px;
	border: 0;
	border-radius: 50%;
	background: #d6dce2;
	padding: 0;
	cursor: pointer;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_slider_dots .dot.is-active{
	background: #2684e4;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_slider_arrows{
	display: inline-flex;
	align-items: center;
	gap: 12px;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_arrow{
	width: 42px;
	height: 42px;
	border: 0;
	border-radius: 50%;
	background: #fff;
	color: #2684e4;
	font-size: 180%;
	line-height: 1;
	cursor: pointer;
}

body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_arrow:disabled{
	opacity: 0.4;
	cursor: default;
}

@media screen and (max-width: 1200px){

	body.work-style #main_wrap #from_offices_container .from_offices_modal__dialog.is-special{
		width: calc(100% - 24px);
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__dialog.is-special .from_offices_modal__special{
		padding: 68px 26px 28px;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__special_head h3{
		font-size: 160%;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_sub::after{
		left: -26px;
		right: -26px;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_sub p{
		font-size: 180%;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_message{
		font-size: 220%;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_slide{
		flex-basis: calc((100% - 16px) / 2);
	}
}

@media screen and (max-width: 767px){
	body.work-style #main_wrap #from_offices_container .from_offices_modal__close{
		width: 52px;
		height: 52px;
		font-size: 170%;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__dialog.is-special .from_offices_modal__special{
		padding: 56px 16px 16px;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__special_head h3{
		font-size: 144%;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__special_head::after{
		width: 72px;
		height: 4px;
		margin-top: 16px;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_intro{
		grid-template-columns: 1fr;
		gap: 16px;        margin-top: 28px;
        margin: 24px 0;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_intro::after {
	    left: 64%;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_main img {
	    height: 258px;
	    object-fit: cover;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_main figcaption{
		font-size: 80%;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_sub{
		padding-bottom: 0;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_sub::after{
		display: none;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_sub p{
		font-size: 120%;
		line-height: 1.6;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_sub figure{
		margin-top: 12px;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_sub figure img {
	    height: 258px;
	    object-fit: cover;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_message{
		margin: 24px 0 0 0px;
		font-size: 120%;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_gallery{
		margin-top: 20px;
		display: grid;
		grid-template-columns: 1fr;
		gap: 12px;
		padding-bottom: 0;
        overflow: hidden;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_gallery figure{
        width: 100%;
        margin: 0;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_gallery figure.is-center{
		position: static;
		transform: none;
		grid-column: 1 / -1;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_gallery figure.is-center {
	    width: 100%;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_gallery figure.is-right {
	    width: 100%;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_gallery figure.is-right img{
	    height: 258px;
	    object-fit: cover;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_slider{
		margin-top: 24px;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_slide{
		flex-basis: 100%;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_slider_controls{
		margin-top: 12px;
		gap: 14px;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_slider_dots{
		gap: 8px;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_slider_dots .dot{
		width: 8px;
		height: 8px;
	}

	body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_arrow{
		width: 36px;
		height: 36px;
		font-size: 130%;
	}
}

/* from_offices 通常モーダル（東京/札幌以外）を見本レイアウトに固定 */
body.work-style #main_wrap #from_offices_container #from_offices_modal .from_offices_modal__dialog{
	width: min(1320px, calc(100% - 40px));
	background: #fff;
	border-radius: 40px;
}

body.work-style #main_wrap #from_offices_container #from_offices_modal .from_offices_modal__standard{
	display: block;
	padding: 74px 54px 62px;
	background: #fff;
}

body.work-style #main_wrap #from_offices_container #from_offices_modal .from_offices_modal__standard_head{
	text-align: center;
}

body.work-style #main_wrap #from_offices_container #from_offices_modal .from_offices_modal__standard_head h3{
	margin: 0;
	font-size: 240%;
	font-weight: 700;
}

body.work-style #main_wrap #from_offices_container #from_offices_modal .from_offices_modal__standard_head h3::before,
body.work-style #main_wrap #from_offices_container #from_offices_modal .from_offices_modal__standard_head h3::after{
	display: none;
}

body.work-style #main_wrap #from_offices_container #from_offices_modal .from_offices_modal__standard_head::after{
	content: "";
	display: block;
	width: 80px;
	height: 6px;
	margin: 24px auto 0;
	background: #2684e4;
}

body.work-style #main_wrap #from_offices_container #from_offices_modal .from_offices_modal__standard_images{
	margin-top: 56px;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

body.work-style #main_wrap #from_offices_container #from_offices_modal .from_offices_modal__standard_images figure{
	margin: 0;
}

body.work-style #main_wrap #from_offices_container #from_offices_modal .from_offices_modal__standard_images img{
	display: block;
	width: 100%;
	height: 320px;
	object-fit: cover;
}

body.work-style #main_wrap #from_offices_container #from_offices_modal .from_offices_modal__qa_list{
	margin-top: 40px;
	display: grid;
	gap: 28px;
}

body.work-style #main_wrap #from_offices_container #from_offices_modal .from_offices_modal__qa_item{
	background: #f0f9fe;
	border-radius: 22px;
	padding: 30px 34px;
}

body.work-style #main_wrap #from_offices_container #from_offices_modal .from_offices_modal__qa_item h4{
	margin: 0;
	display: flex;
	align-items: center;
	gap: 16px;
	background: none;
	font-size: 160%;
	font-weight: 700;
}

body.work-style #main_wrap #from_offices_container #from_offices_modal .from_offices_modal__qa_item h4::before,
body.work-style #main_wrap #from_offices_container #from_offices_modal .from_offices_modal__qa_item h4::after{
	display: none;
}

body.work-style #main_wrap #from_offices_container #from_offices_modal .from_offices_modal__qa_item .q_badge{
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    padding-bottom: 4px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #2684e4;
    color: #fff;
    font-size: 88%;
    line-height: 0;
}

body.work-style #main_wrap #from_offices_container #from_offices_modal .from_offices_modal__qa_item p{
    margin: 16px 0 0;
    padding: 0 24px;
    color: #333333;
    font-size: 88%;
}

@media screen and (max-width: 1200px){

	body.work-style #main_wrap #from_offices_container #from_offices_modal .from_offices_modal__dialog{
		width: calc(100% - 24px);
	}

	body.work-style #main_wrap #from_offices_container #from_offices_modal .from_offices_modal__standard{
		padding: 58px 26px 34px;
	}

	body.work-style #main_wrap #from_offices_container #from_offices_modal .from_offices_modal__standard_head h3{
		font-size: 160%;
	}

	body.work-style #main_wrap #from_offices_container #from_offices_modal .from_offices_modal__standard_images img{
		height: 260px;
	}

	body.work-style #main_wrap #from_offices_container #from_offices_modal .from_offices_modal__qa_item{
		padding: 24px 20px;
	}

	body.work-style #main_wrap #from_offices_container #from_offices_modal .from_offices_modal__qa_item h4{
		font-size: 180%;
	}

	body.work-style #main_wrap #from_offices_container #from_offices_modal .from_offices_modal__qa_item p{
		font-size: 100%;
	}
}

@media screen and (min-width: 961px) and (max-width: 1200px){

	body.work-style #main_wrap #from_offices_container #from_offices_modal .from_offices_modal__qa_item h4{
		font-size: 120%;
	}

    body.work-style #main_wrap #from_offices_container #from_offices_modal .from_offices_modal__qa_item p {
        font-size: 88%;
    }

    body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_sub p {
        font-size: 120%;
    }

	body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_message {
        font-size: 120%;
    }

	body.work-style #main_wrap #from_offices_container .from_offices_modal__tour_intro {
	    gap: 40px;
	    margin-right: 4%;
	}
}

@media screen and (max-width: 767px){

	body.work-style #main_wrap #from_offices_container #from_offices_modal .from_offices_modal__standard{
		padding: 52px 14px 20px;
	}

	body.work-style #main_wrap #from_offices_container #from_offices_modal .from_offices_modal__standard_head h3{
		font-size: 144%;
	}

	body.work-style #main_wrap #from_offices_container #from_offices_modal .from_offices_modal__standard_head::after{
		margin-top: 14px;
	}

	body.work-style #main_wrap #from_offices_container #from_offices_modal .from_offices_modal__standard_images{
		margin-top: 24px;
		grid-template-columns: 1fr;
		gap: 12px;
	}

	body.work-style #main_wrap #from_offices_container #from_offices_modal .from_offices_modal__standard_images img{
		height: 200px;
	}

	body.work-style #main_wrap #from_offices_container #from_offices_modal .from_offices_modal__qa_list{
		margin-top: 18px;
		gap: 14px;
	}

	body.work-style #main_wrap #from_offices_container #from_offices_modal .from_offices_modal__qa_item{
		border-radius: 14px;
		padding: 14px 12px;
	}

	body.work-style #main_wrap #from_offices_container #from_offices_modal .from_offices_modal__qa_item h4{
		gap: 8px;
		font-size: 130%;
	}

	body.work-style #main_wrap #from_offices_container #from_offices_modal .from_offices_modal__qa_item .q_badge{
		flex-basis: 32px;
		width: 32px;
		height: 32px;
	}

	body.work-style #main_wrap #from_offices_container #from_offices_modal .from_offices_modal__qa_item p{
		margin-top: 10px;
		font-size: 84%;
		line-height: 1.7;
	}
}

/* from_offices モーダルのスクロールバーと角丸はみ出し対策 */
body.work-style #main_wrap #from_offices_container #from_offices_modal .from_offices_modal__dialog,
body.work-style #main_wrap #from_offices_container #from_offices_modal_special .from_offices_modal__dialog{
	border-radius: 40px;
	overflow-x: hidden;
	overflow-y: auto;
	scrollbar-gutter: stable;
	clip-path: inset(0 round 40px);
	scrollbar-width: thin;
	scrollbar-color: #828282 #ffffff;
}

body.work-style #main_wrap #from_offices_container #from_offices_modal .from_offices_modal__dialog::-webkit-scrollbar,
body.work-style #main_wrap #from_offices_container #from_offices_modal_special .from_offices_modal__dialog::-webkit-scrollbar{
	width: 12px;
}

body.work-style #main_wrap #from_offices_container #from_offices_modal .from_offices_modal__dialog::-webkit-scrollbar-track,
body.work-style #main_wrap #from_offices_container #from_offices_modal_special .from_offices_modal__dialog::-webkit-scrollbar-track{
	background: #dce6ef;
	border-radius: 999px;
	margin: 14px 8px 14px 0;
}

body.work-style #main_wrap #from_offices_container #from_offices_modal .from_offices_modal__dialog::-webkit-scrollbar-thumb,
body.work-style #main_wrap #from_offices_container #from_offices_modal_special .from_offices_modal__dialog::-webkit-scrollbar-thumb{
	background: linear-gradient(180deg, #4ea2e0 0%, #2684e4 100%);
	border-radius: 999px;
	border: 2px solid #dce6ef;
}

body.work-style #main_wrap #from_offices_container #from_offices_modal .from_offices_modal__dialog::-webkit-scrollbar-thumb:hover,
body.work-style #main_wrap #from_offices_container #from_offices_modal_special .from_offices_modal__dialog::-webkit-scrollbar-thumb:hover{
	background: linear-gradient(180deg, #5fb0e9 0%, #3d93e3 100%);
}

/*--------------------------------------------------------------------------
benefits / work_data_container
--------------------------------------------------------------------------*/
body.attempt.page-template-page-lp-link #contents_wrap > #main_wrap > :not(section){
    max-width: 100%;
}

body.attempt.page-template-page-lp-link #main_wrap section > *{
    max-width: 100%;
    width: 100%;
}

body.attempt.page-template-page-lp-link #main_wrap section#work_data_container{
	padding-top: 86px;
	padding-bottom: 96px;
	background: #fff;
}

body.attempt #main_wrap #work_data_container .work_data__inner{
	max-width: 1220px;
	margin: 0 auto;
	padding: 0 20px;
}

body.attempt #main_wrap #work_data_container .work_data__lead{
	text-align: center;
}

body.attempt #main_wrap #work_data_container .work_data__lead p{
	margin: 0;
	font-weight: 500;
}

body.attempt #main_wrap #work_data_container .work_data__grid{
	margin-top: 80px;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 30px;
}

body.attempt #main_wrap #work_data_container .work_data__grid_4{
	margin-top: 32px;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 30px;
}

body.attempt #main_wrap #work_data_container .work_data__card{
	padding: 38px 20px 34px;
	background: #f0f9fe;
	border-radius: 30px;
	text-align: center;
}

body.attempt #main_wrap #work_data_container .work_data__card h3{
	margin: 0;
	font-weight: 700;
}

body.attempt #main_wrap #work_data_container .work_data__card h3::before,
body.attempt #main_wrap #work_data_container .work_data__card h3::after{
	display: none;
}

body.attempt #main_wrap #work_data_container .work_data__icon{
	margin: 24px auto 0;
	height: 128px;
	display: flex;
	align-items: center;
	justify-content: center;
}

body.attempt #main_wrap #work_data_container .work_data__icon img{
	max-width: 180px;
	max-height: 120px;
	width: auto;
	height: auto;
}

body.attempt #main_wrap #work_data_container .work_data__value{
	margin: 24px 0 0;
	line-height: 1;
}

body.attempt #main_wrap #work_data_container .jikan_yuukyuu .work_data__value{
    font-size: 136%;
    font-weight: 600;
    color: #2684e4;
}

body.attempt #main_wrap #work_data_container .work_data__value .num{
    color: #2684e4;
    font-family: "Teko", sans-serif;
    font-size: 480%;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0;
}

body.attempt #main_wrap #work_data_container .work_data__value .unit{
	margin-left: 4px;
	color: #333333;
	font-size: 250%;
	font-weight: 700;
}

body.attempt #main_wrap #work_data_container .work_data__year{
    margin: 16px 0 0;
    font-size: 88%;
    font-weight: 400;
}

body.attempt #main_wrap #work_data_container .work_data__support_grid{
	margin-top: 32px;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 30px;
}

body.attempt #main_wrap #work_data_container .work_data__support_card{
	padding: 34px 34px 28px;
	background: #f0f9fe;
	border-radius: 30px;
	text-align: center;
}

body.attempt #main_wrap #work_data_container .work_data__support_card h3{
    margin: 0;
    font-weight: 700;
}

body.attempt #main_wrap #work_data_container .work_data__support_card h3::before,
body.attempt #main_wrap #work_data_container .work_data__support_card h3::after{
	display: none;
}

body.attempt #main_wrap #work_data_container .work_data__support_note{
	margin: 12px 0 0;
	color: #333333;
	font-weight: 500;
}

body.attempt #main_wrap #work_data_container .work_data__support_metric{
	margin-top: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
}

body.attempt #main_wrap #work_data_container .work_data__support_icon{
	margin: 0;
	flex: 0 0 152px;
	height: 118px;
	display: flex;
	align-items: center;
	justify-content: center;
}

body.attempt #main_wrap #work_data_container .work_data__support_icon img{
	max-width: 152px;
	max-height: 118px;
	width: auto;
	height: auto;
}

body.attempt #main_wrap #work_data_container .work_data__support_value{
	margin: 0;
	line-height: 1;
	white-space: nowrap;
}

body.attempt #main_wrap #work_data_container .work_data__support_value .label{
	margin-right: 10px;
	color: #333333;
	font-size: 250%;
	font-weight: 700;
}

body.attempt #main_wrap #work_data_container .work_data__support_value .num{
    color: #2684e4;
    font-family: "Teko", sans-serif;
    font-size: 480%;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0;
}

body.attempt #main_wrap #work_data_container .work_data__support_value .unit{
	margin-left: 4px;
	color: #333333;
	font-size: 250%;
	font-weight: 700;
}

body.attempt #main_wrap #work_data_container .work_data__support_text{
	margin: 24px 0 0;
	color: #333333;
    font-size: 88%;
    font-weight: 400;
}

@media screen and (max-width: 1200px){

	body.attempt #main_wrap #work_data_container .work_data__grid{
		gap: 20px;
	}

	body.attempt #main_wrap #work_data_container .work_data__grid_4{
		margin-top: 32px;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 30px;
	}

	body.attempt #main_wrap #work_data_container .work_data__card{
		padding: 30px 14px 28px;
	}

	body.attempt #main_wrap #work_data_container .work_data__card h3{
	}

	body.attempt #main_wrap #work_data_container .work_data__value .num{
		font-size: 420%;
	}

	body.attempt #main_wrap #work_data_container .work_data__value .unit{
		font-size: 200%;
	}

	body.attempt #main_wrap #work_data_container .work_data__support_grid{
		gap: 20px;
	}

	body.attempt #main_wrap #work_data_container .work_data__support_card{
		padding: 28px 18px 24px;
	}

	body.attempt #main_wrap #work_data_container .work_data__support_card h3{
	}

	body.attempt #main_wrap #work_data_container .work_data__support_metric {
	    flex-direction: column;
	}

	body.attempt #main_wrap #work_data_container .work_data__support_note,
	body.attempt #main_wrap #work_data_container .work_data__support_text{
		font-size: 128%;
	}

	body.attempt #main_wrap #work_data_container .work_data__support_icon{
		flex-basis: 118px;
		height: 100px;
	}

	body.attempt #main_wrap #work_data_container .work_data__support_icon img{
		max-width: 118px;
		max-height: 96px;
	}

	body.attempt #main_wrap #work_data_container .work_data__support_value .label,
	body.attempt #main_wrap #work_data_container .work_data__support_value .unit{
		font-size: 200%;
	}

	body.attempt #main_wrap #work_data_container .work_data__support_value .num{
		font-size: 420%;
	}
}

@media screen and (min-width: 961px) and (max-width: 1200px){

	body.attempt #main_wrap #work_data_container .work_data__support_note,
	body.attempt #main_wrap #work_data_container .work_data__support_text{
		font-size: 88%;
	}
}

@media screen and (max-width: 1023px){

	body.attempt.page-template-page-lp-link #main_wrap section#work_data_container{
		padding-top: 56px;
		padding-bottom: 64px;
	}

	body.attempt #main_wrap #work_data_container .work_data__inner{
		padding: 0 16px;
	}

	body.attempt #main_wrap #work_data_container .work_data__lead p{
		line-height: 1.85;
	}

	body.attempt #main_wrap #work_data_container .work_data__grid{
		margin-top: 42px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.attempt #main_wrap #work_data_container .work_data__grid_4{
		margin-top: 32px;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 30px;
	}

	body.attempt #main_wrap #work_data_container .work_data__support_grid{
		margin-top: 20px;
	}

	body.attempt #main_wrap #work_data_container .work_data__support_note,
	body.attempt #main_wrap #work_data_container .work_data__support_text{
		font-size: 88%;
	}
}

@media screen and (max-width: 767px){

	body.attempt #main_wrap #work_data_container .work_data__grid{
		grid-template-columns: 1fr;
		gap: 16px;
	}

	body.attempt #main_wrap #work_data_container .work_data__grid_4{
		margin-top: 32px;
		display: grid;
		grid-template-columns: repeat(1, minmax(0, 1fr));
		gap: 30px;
	}

	body.attempt #main_wrap #work_data_container .work_data__card{
		border-radius: 20px;
	}

	body.attempt #main_wrap #work_data_container .work_data__card h3{
	}

	body.attempt #main_wrap #work_data_container .work_data__icon{
		height: 108px;
	}

	body.attempt #main_wrap #work_data_container .work_data__icon img{
		max-height: 96px;
	}

	body.attempt #main_wrap #work_data_container .work_data__value{
		margin-top: 18px;
	}

	body.attempt #main_wrap #work_data_container .work_data__value .num{
		font-size: 360%;
	}

	body.attempt #main_wrap #work_data_container .work_data__value .unit{
		font-size: 180%;
	}

	body.attempt #main_wrap #work_data_container .work_data__year{
	}

	body.attempt #main_wrap #work_data_container .work_data__support_grid{
		grid-template-columns: 1fr;
		gap: 16px;
	}

	body.attempt #main_wrap #work_data_container .work_data__support_card{
		padding: 22px 12px 20px;
		border-radius: 20px;
	}

	body.attempt #main_wrap #work_data_container .work_data__support_card h3{
	}

	body.attempt #main_wrap #work_data_container .work_data__support_note,
	body.attempt #main_wrap #work_data_container .work_data__support_text{
		font-size: 100%;
	}

	body.attempt #main_wrap #work_data_container .work_data__support_metric{
    	flex-direction: column;
		margin-top: 12px;
		gap: 10px;
	}

	body.attempt #main_wrap #work_data_container .work_data__support_icon{
		flex-basis: 92px;
		height: 84px;
	}

	body.attempt #main_wrap #work_data_container .work_data__support_icon img{
		max-width: 92px;
		max-height: 82px;
	}

	body.attempt #main_wrap #work_data_container .work_data__support_value .label,
	body.attempt #main_wrap #work_data_container .work_data__support_value .unit{
		font-size: 170%;
	}

	body.attempt #main_wrap #work_data_container .work_data__support_value .num{
		font-size: 360%;
	}

	body.attempt #main_wrap #work_data_container .work_data__support_text{
		margin-top: 16px;
	}
}

/*--------------------------------------------------------------------------
benefits / initiative_container
--------------------------------------------------------------------------*/
body.attempt.page-template-page-lp-link #main_wrap section#initiative_container{
	padding-top: 0;
	padding-bottom: 0;
	background: #fff;
}

body.attempt #main_wrap #initiative_container .initiative__columns{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.attempt #main_wrap #initiative_container .initiative__column{
	padding: 100px 34px 96px;
}

body.attempt #main_wrap #initiative_container .initiative__column.is-recent{
	background: #2684e4;
}

body.attempt #main_wrap #initiative_container .initiative__column.is-future{
	background: #8cc63f;
}

body.attempt #main_wrap #initiative_container .initiative__column h2{
	margin: 0;
	color: #fff;
	font-weight: 700;
	text-align: center;
}

body.attempt #main_wrap #initiative_container .initiative__column h2::before,
body.attempt #main_wrap #initiative_container .initiative__column h2::after{
	display: none;
}

body.attempt #main_wrap #initiative_container .initiative__list{
	margin: 78px 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

body.attempt #main_wrap #initiative_container .initiative__item{
	text-align: center;
}

body.attempt #main_wrap #initiative_container .initiative__circle{
	width: 186px;
	height: 186px;
	margin: 0 auto;
	border-radius: 50%;
	background: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

body.attempt #main_wrap #initiative_container .initiative__circle figure{
	margin: 0;
	height: 62px;
	display: flex;
	align-items: center;
	justify-content: center;
}

body.attempt #main_wrap #initiative_container .initiative__circle figure img{
	max-width: 74px;
	max-height: 58px;
	width: auto;
	height: auto;
}

body.attempt #main_wrap #initiative_container .initiative__circle p{
	margin: 12px 0 0;
	color: #333333;
	font-weight: 700;
	line-height: 1.35;
}

body.attempt #main_wrap #initiative_container .initiative__text{
	width: fit-content;
	max-width: 100%;
	margin: 24px auto 0;
	color: #fff;
	font-size: 88%;
	text-align: left;
}

@media screen and (max-width: 1200px){

	body.attempt #main_wrap #initiative_container .initiative__column{
		padding: 78px 18px 76px;
	}

	body.attempt #main_wrap #initiative_container .initiative__column h2{
        font-size: 200%;
	}

	body.attempt #main_wrap #initiative_container .initiative__list{
		margin-top: 54px;
		gap: 14px;
	}

	body.attempt #main_wrap #initiative_container .initiative__circle{
		width: 160px;
		height: 160px;
	}

	body.attempt #main_wrap #initiative_container .initiative__circle p{
		font-size: 100%;
	}

	body.attempt #main_wrap #initiative_container .initiative__text{
		font-size: 88%;
	}
}

@media screen and (max-width: 1023px){

	body.attempt #main_wrap #initiative_container .initiative__columns{
		grid-template-columns: 1fr;
	}

	body.attempt #main_wrap #initiative_container .initiative__column{
		padding: 66px 16px 64px;
	}

	body.attempt #main_wrap #initiative_container .initiative__column h2{
	}

	body.attempt #main_wrap #initiative_container .initiative__list{
		margin-top: 40px;
	}

    body.attempt #main_wrap #initiative_container .initiative__circle p {
        font-size: 100%;
    }

	body.attempt #main_wrap #initiative_container .initiative__text{
		font-size: 88%;
	}
}

@media screen and (max-width: 767px){

	body.attempt #main_wrap #initiative_container .initiative__list{
		grid-template-columns: 1fr;
		gap: 24px;
	}

	body.attempt #main_wrap #initiative_container .initiative__circle{
		width: 172px;
		height: 172px;
	}

	body.attempt #main_wrap #initiative_container .initiative__circle p{
		font-size: 120%;
	}

	body.attempt #main_wrap #initiative_container .initiative__text{
		text-align: center;
		font-size: 100%;
	}
}

/*--------------------------------------------------------------------------
benefits / career_model_container
--------------------------------------------------------------------------*/
body.attempt.page-template-page-lp-link #main_wrap section#career_model_container{
	padding-top: 92px;
	padding-bottom: 110px;
	background: #f0f9fe;
}

body.attempt #main_wrap #career_model_container .career_model__inner{
	max-width: 1220px;
	margin: 0 auto;
	padding: 0 20px;
}

body.attempt #main_wrap #career_model_container .career_model__head{
	text-align: center;
}

body.attempt #main_wrap #career_model_container .career_model__head h2{
	margin: 0;
	font-weight: 700;
}

body.attempt #main_wrap #career_model_container .career_model__head h2::before,
body.attempt #main_wrap #career_model_container .career_model__head h2::after{
	display: none;
}

body.attempt #main_wrap #career_model_container .career_model__head::after{
	content: "";
	display: block;
	width: 96px;
	height: 6px;
	margin: 28px auto 0;
	background: #2684e4;
}

body.attempt #main_wrap #career_model_container #career_container.career_model__panel{
    margin-top: 80px;
    padding: 40px 56px;
	background: #fff;
	border-radius: 40px;
}

body.attempt #main_wrap #career_model_container .career_model__top{
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 40px;
	align-items: start;
}

body.attempt #main_wrap #career_model_container .career_model__copy h3{
    position: relative;
    margin: 0;
    padding: 16px;
    padding-left: 64px;
    font-size: 184%;
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
    background: #2684e4;
    color: #fff;
    font-weight: 700;
    left: -68px;
}

body.attempt #main_wrap #career_model_container .career_model__copy h3::before,
body.attempt #main_wrap #career_model_container .career_model__copy h3::after{
	display: none;
}

body.attempt #main_wrap #career_model_container .career_model__copy h3 span{
	display: inline-block;
}

body.attempt #main_wrap #career_model_container .career_model__copy h3::after{
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: -12px;
	width: 0;
	height: 0;
	border-top: 12px solid #2a6fb8;
	border-left: 12px solid transparent;
}

body.attempt #main_wrap #career_model_container .career_model__copy .lead{
    margin: 32px 0 0;
    color: #2684e4;
    font-size: 128%;
    font-weight: 700;
    line-height: 1.6;
    text-align: left;
}

body.attempt #main_wrap #career_model_container .career_model__copy p{
	margin: 16px 0 0;
	color: #333333;
    font-size: 88%;
}

body.attempt #main_wrap #career_model_container .career_model__img{
	margin: 0;
}

body.attempt #main_wrap #career_model_container .career_model__img img{
	display: block;
	width: 100%;
	height: auto;
	border-radius: 28px;
}

body.attempt #main_wrap #career_model_container .career_model__bottom{
	margin-top: 44px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 40px;
	align-items: start;
}

body.attempt #main_wrap #career_model_container .career_model__desc p{
	margin: 0;
	color: #333333;
    font-size: 88%;
}

body.attempt #main_wrap #career_model_container .career_model__desc p + p{
	margin-top: 24px;
}

body.attempt #main_wrap #career_model_container .career_model__illust{
	margin: 24px 0 0;
	text-align: center;
}

body.attempt #main_wrap #career_model_container .career_model__illust img{
	display: inline-block;
	width: min(100%, 374px);
	height: auto;
}

body.attempt #main_wrap #career_model_container #salary_container.career_model__subpanel,
body.attempt #main_wrap #career_model_container #allowances_container.career_model__subpanel{
	margin-top: 56px;
	padding: 46px 54px 52px;
	background: #fff;
	border-radius: 40px;
}

body.attempt #main_wrap #career_model_container #allowances_container.career_model__subpanel{
	margin-top: 42px;
}

body.attempt #main_wrap #career_model_container .career_model__subbody{
	display: grid;
	grid-template-columns: minmax(0, 47%) minmax(0, 53%);
	gap: 34px;
	align-items: start;
}

body.attempt #main_wrap #career_model_container .career_model__subcopy h3{
	position: relative;
    margin: 0;
    padding: 16px;
    padding-left: 64px;
    font-size: 184%;
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
    background: #2684e4;
    color: #fff;
    font-weight: 700;
    left: -68px;
}

body.attempt #main_wrap #career_model_container .career_model__subcopy h3::before,
body.attempt #main_wrap #career_model_container .career_model__subcopy h3::after{
	display: none;
}

body.attempt #main_wrap #career_model_container .career_model__subcopy h3::after{
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: -12px;
	width: 0;
	height: 0;
	border-top: 12px solid #2a6fb8;
	border-left: 12px solid transparent;
}

body.attempt #main_wrap #career_model_container .career_model__subcopy p{
	margin: 32px 0 0;
	color: #333333;
    font-size: 88%;
}

body.attempt #main_wrap #career_model_container .career_model__salary_list{

}

body.attempt #main_wrap #career_model_container .career_model__salary_list ul{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.attempt #main_wrap #career_model_container .career_model__salary_item{
	text-align: center;
}

body.attempt #main_wrap #career_model_container .career_model__salary_icon{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 144px;
	height: 144px;
	margin: 0 auto 14px;
	border-radius: 50%;
	background: #f1f0de;
}

body.attempt #main_wrap #career_model_container .career_model__salary_icon img{
	display: block;
	width: 116px;
	height: auto;
}

body.attempt #main_wrap #career_model_container .career_model__salary_item p{
	margin: 0;
	color: #333333;
	font-weight: 700;
    line-height: 1.6;
}

body.attempt #main_wrap #career_model_container .career_model__salary_list p{
	margin-top: 16px;
	font-size: 80%;
}

body.attempt #main_wrap #career_model_container .career_model__allowances_list{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.attempt #main_wrap #career_model_container .career_model__allowances_item{
	text-align: center;
}

body.attempt #main_wrap #career_model_container .career_model__allowances_icon{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 144px;
	height: 144px;
	margin: 0 auto 12px;
	border-radius: 50%;
	background: #eaf2f8;
}

body.attempt #main_wrap #career_model_container .career_model__allowances_icon img{
	display: block;
	width: auto;
	height: auto;
}

body.attempt #main_wrap #career_model_container .career_model__allowances_item p{
	margin: 0;
	color: #333333;
	font-weight: 500;
	line-height: 1.5;
}

@media screen and (max-width: 1200px){

	body.attempt #main_wrap #career_model_container .career_model__head h2{
	}

	body.attempt #main_wrap #career_model_container #career_container.career_model__panel{
		padding: 36px 24px 36px;
		border-radius: 30px;
	}

	body.attempt #main_wrap #career_model_container .career_model__top,
	body.attempt #main_wrap #career_model_container .career_model__bottom{
		gap: 24px;
	}

	body.attempt #main_wrap #career_model_container .career_model__copy h3{
		font-size: 144%;
	}

	body.attempt #main_wrap #career_model_container .career_model__copy .lead{

	}

    body.attempt #main_wrap #career_model_container .career_model__copy p,
	body.attempt #main_wrap #career_model_container .career_model__desc p {
        font-size: 80%;
        line-height: 1.6;
    }

	body.attempt #main_wrap #career_model_container #salary_container.career_model__subpanel,
	body.attempt #main_wrap #career_model_container #allowances_container.career_model__subpanel{
		padding: 36px 24px 36px;
		border-radius: 30px;
	}

	body.attempt #main_wrap #career_model_container .career_model__subbody{
		gap: 24px;
	}

	body.attempt #main_wrap #career_model_container .career_model__subcopy h3{
	}

	body.attempt #main_wrap #career_model_container .career_model__subcopy p{
		margin-top: 24px;
		font-size: 88%;
	}

	body.attempt #main_wrap #career_model_container .career_model__salary_icon,
	body.attempt #main_wrap #career_model_container .career_model__allowances_icon{
		width: 124px;
		height: 124px;
	}

	body.attempt #main_wrap #career_model_container .career_model__salary_icon img{
		width: 100px;
	}

	body.attempt #main_wrap #career_model_container .career_model__salary_item p{
		font-size: 88%;
	}

	body.attempt #main_wrap #career_model_container .career_model__allowances_item p{
		font-size: 88%;
	}
}

@media screen and (max-width: 1023px){

	body.attempt.page-template-page-lp-link #main_wrap section#career_model_container{
		padding-top: 64px;
		padding-bottom: 72px;
	}

	body.attempt #main_wrap #career_model_container .career_model__inner{
		padding: 0 16px;
	}

	body.attempt #main_wrap #career_model_container .career_model__head h2{
		line-height: 1.45;
	}

	body.attempt #main_wrap #career_model_container .career_model__head::after{
		width: 72px;
		height: 4px;
		margin-top: 16px;
	}

	body.attempt #main_wrap #career_model_container #career_container.career_model__panel{
		margin-top: 40px;
		padding: 40px 16px 24px;
		border-radius: 24px;
	}

	body.attempt #main_wrap #career_model_container .career_model__top,
	body.attempt #main_wrap #career_model_container .career_model__bottom{
		grid-template-columns: 1fr;
		gap: 18px;
	}

	body.attempt #main_wrap #career_model_container .career_model__copy h3{
        font-size: 120%;
        padding: 12px;
        left: -26px;
	}

	body.attempt #main_wrap #career_model_container .career_model__copy h3::after{
		bottom: -10px;
		border-top-width: 10px;
		border-right-width: 10px;
	}

	body.attempt #main_wrap #career_model_container .career_model__copy .lead{
		margin-top: 16px;
	}

	body.attempt #main_wrap #career_model_container .career_model__copy p,
	body.attempt #main_wrap #career_model_container .career_model__desc p{
		font-size: 80%;
		line-height: 1.6;
	}

	body.attempt #main_wrap #career_model_container .career_model__img img{
		border-radius: 16px;
	}

	body.attempt #main_wrap #career_model_container .career_model__bottom{
		margin-top: 20px;
	}

	body.attempt #main_wrap #career_model_container .career_model__desc p + p{
		margin-top: 16px;
	}

	body.attempt #main_wrap #career_model_container .career_model__illust{
		margin-top: 16px;
	}

	body.attempt #main_wrap #career_model_container #salary_container.career_model__subpanel,
	body.attempt #main_wrap #career_model_container #allowances_container.career_model__subpanel{
		margin-top: 26px;
		padding: 24px 14px 26px;
		border-radius: 20px;
	}

	body.attempt #main_wrap #career_model_container .career_model__subbody{
		grid-template-columns: 1fr;
		gap: 16px;
	}

	body.attempt #main_wrap #career_model_container .career_model__subcopy h3{
        font-size: 120%;
        padding: 12px;
        left: -26px;
	}

	body.attempt #main_wrap #career_model_container .career_model__subcopy h3::after{
		bottom: -10px;
		border-top-width: 10px;
		border-right-width: 10px;
	}

	body.attempt #main_wrap #career_model_container .career_model__subcopy p{
		margin-top: 16px;
		font-size: 100%;
		line-height: 1.6;
	}

	body.attempt #main_wrap #career_model_container .career_model__salary_list ul{
		gap: 14px 10px;
	}

	body.attempt #main_wrap #career_model_container .career_model__salary_icon,
	body.attempt #main_wrap #career_model_container .career_model__allowances_icon{
		width: 96px;
		height: 96px;
		margin-bottom: 10px;
	}

	body.attempt #main_wrap #career_model_container .career_model__salary_icon img{
		width: 76px;
	}

	body.attempt #main_wrap #career_model_container .career_model__salary_item p{
		font-size: 100%;
	}

	body.attempt #main_wrap #career_model_container .career_model__allowances_list{
		gap: 12px 8px;
	}

	body.attempt #main_wrap #career_model_container .career_model__allowances_icon img{
		width: 52px;
	}

	body.attempt #main_wrap #career_model_container .career_model__allowances_item p{
		font-size: 100%;
	}
}

@media screen and (max-width: 767px){

    body.attempt #main_wrap #career_model_container .career_model__copy p,
	body.attempt #main_wrap #career_model_container .career_model__desc p {
        font-size: 100%;
    }

	body.attempt #main_wrap #career_model_container .career_model__salary_list ul,
	body.attempt #main_wrap #career_model_container .career_model__allowances_list{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/*--------------------------------------------------------------------------
training / training_program_container
--------------------------------------------------------------------------*/
body.education.page-template-page-lp-link #contents_wrap > #main_wrap > :not(section){
    max-width: 100%;
}

body.education.page-template-page-lp-link #main_wrap section > *{
    max-width: 100%;
    width: 100%;
}

body.education.page-template-page-lp-link #main_wrap section#training_program_container{
	padding-top: 82px;
	padding-bottom: 96px;
	background: #fff;
}

body.education #main_wrap #training_program_container .training_program__inner{
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 20px;
}

body.education #main_wrap #training_program_container .training_program__lead{
	text-align: center;
}

body.education #main_wrap #training_program_container .training_program__lead p{
	margin: 0;
	color: #333;
	font-weight: 500;
}

body.education #main_wrap #training_program_container .training_program__lead p + p{
	margin-top: 8px;
}

body.education #main_wrap #training_program_container .training_program__head{
	margin-top: 80px;
	text-align: center;
}

body.education #main_wrap #training_program_container .training_program__head h2{
	margin: 0;
	color: #333;
}

body.education #main_wrap #training_program_container .training_program__head h2::before,
body.education #main_wrap #training_program_container .training_program__head h2::after{
	display: none;
}

body.education #main_wrap #training_program_container .training_program__head::after{
	content: "";
	display: block;
	width: 96px;
	height: 6px;
	margin: 28px auto 0;
	background: #2684e4;
}

body.education #main_wrap #training_program_container .training_program__chart{
	margin: 62px auto 0;
	max-width: 980px;
}

body.education #main_wrap #training_program_container .training_program__chart img{
	display: block;
	width: 100%;
	height: auto;
}

@media screen and (max-width: 1200px){

	body.education #main_wrap #training_program_container .training_program__lead p{
		font-size: 88%;
	}

	body.education #main_wrap #training_program_container .training_program__head h2{
		font-size: 200%;
	}
}

@media screen and (max-width: 1023px){
	body.education.page-template-page-lp-link #main_wrap section#training_program_container{
		padding-top: 58px;
		padding-bottom: 66px;
	}

	body.education #main_wrap #training_program_container .training_program__inner{
		padding: 0 16px;
	}

	body.education #main_wrap #training_program_container .training_program__lead p{
		font-size: 112%;
		line-height: 1.85;
	}

	body.education #main_wrap #training_program_container .training_program__head{
		margin-top: 48px;
	}

	body.education #main_wrap #training_program_container .training_program__head h2{
		font-size: 320%;
		line-height: 1.45;
	}

	body.education #main_wrap #training_program_container .training_program__head::after{
		width: 72px;
		height: 4px;
		margin-top: 16px;
	}

	body.education #main_wrap #training_program_container .training_program__chart{
		margin-top: 34px;
		max-width: none;
	}
}

/*--------------------------------------------------------------------------
training / certification_container
--------------------------------------------------------------------------*/
body.education.page-template-page-lp-link #main_wrap section#certification_container{
	padding-top: 80px;
	padding-bottom: 104px;
	background: #f0f9fe;
}

body.education #main_wrap #certification_container .certification__inner{
	max-width: 1220px;
	margin: 0 auto;
	padding: 0 20px;
}

body.education #main_wrap #certification_container .certification__head{
	text-align: center;
}

body.education #main_wrap #certification_container .certification__head h2{
	margin: 0;
	color: #333;
}

body.education #main_wrap #certification_container .certification__head h2::before,
body.education #main_wrap #certification_container .certification__head h2::after{
	display: none;
}

body.education #main_wrap #certification_container .certification__head::after{
	content: "";
	display: block;
	width: 96px;
	height: 6px;
	margin: 28px auto 0;
	background: #2684e4;
}

body.education #main_wrap #certification_container .certification__lead{
	margin: 80px 0 0;
	color: #333;
	text-align: center;
}


body.education #main_wrap #certification_container .certification__lead span {
    display: inline-block;
    font-size: 0.8em;
    text-align: right;
    padding-top: 14px;
}

body.education #main_wrap #certification_container .certification__panel{
	margin-top: 72px;
	padding: 80px 60px;
	min-height: 980px;
	background: #fff;
	border-radius: 40px;
}

body.education #main_wrap #certification_container .certification__panel table thead th {
    background: #0d4ea2;
}

body.education #main_wrap #certification_container .certification__panel table tbody th {
    background: #f0f9fe;
    width: 32%;
	color: #333;
    word-break: auto-phrase;
}

body.education #main_wrap #certification_container .certification__panel table tbody td {
    word-break: auto-phrase;
}

body.education #main_wrap #certification_container .certification__panel h3{
	margin: 0 0 24px;
	color: #333;
	text-align: center;
    font-size: 160%;
}

body.education #main_wrap #certification_container .certification__panel h3::before,
body.education #main_wrap #certification_container .certification__panel h3::after{
	display: none;
}

@media screen and (max-width: 1200px){

	body.education #main_wrap #certification_container .certification__head h2{
		font-size: 200%;
	}

	body.education #main_wrap #certification_container .certification__lead{
	}

	body.education #main_wrap #certification_container .certification__panel{
		padding: 88px 30px 60px;
		min-height: 760px;
		border-radius: 30px;
	}

	body.education #main_wrap #certification_container .certification__panel h3{
	}
}

@media screen and (max-width: 1023px){
	body.education.page-template-page-lp-link #main_wrap section#certification_container{
		padding-top: 58px;
		padding-bottom: 72px;
	}

	body.education #main_wrap #certification_container .certification__inner{
		padding: 0 16px;
	}

	body.education #main_wrap #certification_container .certification__head h2{
	}

	body.education #main_wrap #certification_container .certification__head::after{
		width: 72px;
		height: 4px;
		margin-top: 16px;
	}

	body.education #main_wrap #certification_container .certification__lead{
		margin-top: 40px;
	}

	body.education #main_wrap #certification_container .certification__panel{
		margin-top: 40px;
		padding: 48px 14px 40px;
		min-height: 420px;
		border-radius: 20px;
	}

	body.education #main_wrap #certification_container .certification__panel h3{
	}
}

/*--------------------------------------------------------------------------
internship-2027 / schedule_container
--------------------------------------------------------------------------*/
body.internship.page-template-page-lp-link #contents_wrap > #main_wrap > :not(section){
    max-width: 100%;
}

body.internship.page-template-page-lp-link #main_wrap section > *{
    max-width: 100%;
    width: 100%;
}

body.internship.page-template-page-lp-link #main_wrap section#schedule_container{
	padding-top: 76px;
	padding-bottom: 110px;
	background: #fff;
}

body.internship #main_wrap #schedule_container .internship_schedule__inner{
	max-width: 1260px;
	margin: 0 auto;
	padding: 0 20px;
}

body.internship #main_wrap #schedule_container .internship_schedule__lead{
	text-align: center;
}

body.internship #main_wrap #schedule_container .internship_schedule__lead p{
	margin: 0;
	color: #333;
	font-weight: 500;
}

body.internship #main_wrap #schedule_container .internship_schedule__lead p + p{

}

body.internship #main_wrap #schedule_container .internship_schedule__head{
	margin-top: 80px;
	text-align: center;
}

body.internship #main_wrap #schedule_container .internship_schedule__head h2{
	margin: 0;
	color: #333;
}

body.internship #main_wrap #schedule_container .internship_schedule__head h2::before,
body.internship #main_wrap #schedule_container .internship_schedule__head h2::after{
	display: none;
}

body.internship #main_wrap #schedule_container .internship_schedule__head::after{
	content: "";
	display: block;
	width: 96px;
	height: 6px;
	margin: 28px auto 0;
	background: #2684e4;
}

body.internship #main_wrap #schedule_container .internship_schedule__tabs{
	display: flex;
	align-items: flex-end;
	gap: 10px;
	margin: 74px auto 0;
	padding: 0 60px;
	list-style: none;
}

body.internship #main_wrap #schedule_container .internship_schedule__tabs li{
	flex: 0 0 280px;
    height: 64px;
    border-radius: 24px 24px 0 0;
    background: #2684e4;
    color: #fff;
    font-size: 112%;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
}

body.internship #main_wrap #schedule_container .internship_schedule__tabs li.is-active{
	background: #d4eeff;
	color: #333;
}

body.internship #main_wrap #schedule_container .internship_schedule__tabbtn{
	width: 100%;
	height: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	font-weight: inherit;
	cursor: pointer;
}

body.internship #main_wrap #schedule_container .internship_schedule__tabbtn:hover{
	background: #d4eeff;
    border-radius: 24px 24px 0 0;
	color: #333;
}

body.internship #main_wrap #schedule_container .internship_schedule__tabbtn:focus-visible{
	outline: 2px solid #fff;
	outline-offset: -4px;
}

body.internship #main_wrap #schedule_container .internship_schedule__tabs li.is-active .internship_schedule__tabbtn:focus-visible{
	outline-color: #2684e4;
}

body.internship #main_wrap #schedule_container .internship_schedule__board_wrap{
	margin-top: 0;
}

body.internship #main_wrap #schedule_container .internship_schedule__pane{
	display: none;
}

body.internship #main_wrap #schedule_container .internship_schedule__pane.is-active{
	display: block;
}

body.internship #main_wrap #schedule_container .internship_schedule__board{
	padding: 34px 40px 40px;
	border-radius: 32px;
	background: #d4eeff;
}

body.internship #main_wrap #schedule_container .internship_schedule__months{
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	margin: 0;
	padding: 0;
	list-style: none;
}

body.internship #main_wrap #schedule_container .internship_schedule__months li{
	height: 96px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #333;
	font-size: 120%;
	font-weight: 700;
	line-height: 1;
}

body.internship #main_wrap #schedule_container .internship_schedule__months li:nth-child(odd){
	background: #fff;
}

body.internship #main_wrap #schedule_container .internship_schedule__months li:nth-child(even){
	background: #f4f4f4;
}

body.internship #main_wrap #schedule_container .internship_schedule__tracks {
    position: relative;
    min-height: 420px;
    background: linear-gradient(
        to right,
        #fff 0%, #fff 14.2857%,
        #f4f4f4 14.2857%, #f4f4f4 28.5714%,
        #fff 28.5714%, #fff 42.8571%,
        #f4f4f4 42.8571%, #f4f4f4 57.1428%,
        #fff 57.1428%, #fff 71.4285%,
        #f4f4f4 71.4285%, #f4f4f4 85.7142%,
        #fff 85.7142%, #fff 100%
    );
}

body.internship #main_wrap #schedule_container .internship_schedule__event{
    position: absolute;
    display: flex;              /* ← 有効化 */
    flex-direction: column;     /* ← 縦並び */
    align-items: center;        /* ← 横中央 */
    justify-content: center;    /* ← 縦中央（必要なら） */
    gap: 10px;
    padding: 18px 14px;
    text-align: center;         /* ← テキストも中央寄せ */
}

body.internship #main_wrap #schedule_container .internship_schedule__event p{
	margin: 0;
	color: #333;
    font-size: 80%;
}

body.internship #main_wrap #schedule_container .internship_schedule__event.is-top{
	top: 0px;
	left: 15.5%;
	width: 55.5%;
}

body.internship #main_wrap #schedule_container .internship_schedule__event.is-top-1{
	top: 0px;
    left: 13.5%;
    width: 16%;
}

body.internship #main_wrap #schedule_container .internship_schedule__event.is-top-3{
	top: 0px;
	left: 28%;
	width: 16%;
}

body.internship #main_wrap #schedule_container .internship_schedule__event.is-top-4{
	top: 0px;
	left: 70.75%;
	width: 16%;
}


body.internship #main_wrap #schedule_container .internship_schedule__event.is-top-5{
	top: 0px;
    left: 1%;
    width: 98%;
}


body.internship #main_wrap #schedule_container .internship_schedule__event.is-middle-1{
    top: 220px;
    left: 1%;
    width: 98%;
}

body.internship #main_wrap #schedule_container .internship_schedule__event.is-middle-2{
    top: 210px;
    left: 13.5%;
    width: 30.5%;
}

body.internship #main_wrap #schedule_container .internship_schedule__event.is-middle{
	top: 123px;
	left: 37%;
	width: 55.5%;
}

body.internship #main_wrap #schedule_container .internship_schedule__event.is-bottom{
	top: 246px;
	left: 43.5%;
	width: 55.5%;
}

body.internship #main_wrap #schedule_container .internship_schedule__event.is-purple{
	background: #e4cfec;
}

body.internship #main_wrap #schedule_container .internship_schedule__event.is-mint{
	background: #cfecea;
}

body.internship #main_wrap #schedule_container .internship_schedule__event.is-beige{
	background: #ede7cf;
}

body.internship #main_wrap #schedule_container .internship_schedule__more{
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
    height: 44px;
    padding: 0px 34px 0 24px;
	border-radius: 999px;
    font-size: 80%;
	background: #fff;
	color: #333;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}

body.internship #main_wrap #schedule_container .internship_schedule__more::after{
	font-family: "fontello";
    content: '\e800';
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #d9d9d9;
    color: #fff;
    font-size: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
}

body.internship #main_wrap #schedule_container .internship_schedule__event.is-purple .internship_schedule__more::after{
	background: #e4cfec;
}

body.internship #main_wrap #schedule_container .internship_schedule__event.is-mint .internship_schedule__more::after{
	background: #cfecea;
}

body.internship #main_wrap #schedule_container .internship_schedule__event.is-beige .internship_schedule__more::after{
	background: #ede7cf;
}

@media screen and (max-width: 1200px){

	body.internship #main_wrap #schedule_container .internship_schedule__lead p{
		font-size: 88%;
	}

	body.internship #main_wrap #schedule_container .internship_schedule__head h2{
		font-size: 200%;
	}

	body.internship #main_wrap #schedule_container .internship_schedule__tabs{
		padding: 0 20px;
	}

	body.internship #main_wrap #schedule_container .internship_schedule__tabs li{
		flex-basis: 30%;
	}

	body.internship #main_wrap #schedule_container .internship_schedule__months li{
	}

	body.internship #main_wrap #schedule_container .internship_schedule__event p{
	}

	body.internship #main_wrap #schedule_container .internship_schedule__more{
	}
}

@media screen and (max-width: 1023px){

	body.internship.page-template-page-lp-link #main_wrap section#schedule_container{
		padding-top: 58px;
		padding-bottom: 72px;
	}

	body.internship #main_wrap #schedule_container .internship_schedule__inner{
		padding: 0 16px;
	}

	body.internship #main_wrap #schedule_container .internship_schedule__lead p{
		font-size: 100%;
	}

	body.internship #main_wrap #schedule_container .internship_schedule__head{
		margin-top: 42px;
	}

	body.internship #main_wrap #schedule_container .internship_schedule__head h2{
		font-size: 320%;
		line-height: 1.45;
	}

	body.internship #main_wrap #schedule_container .internship_schedule__head::after{
		width: 72px;
		height: 4px;
		margin-top: 16px;
	}

	body.internship #main_wrap #schedule_container .internship_schedule__tabs{
        gap: 4px;
        margin-top: 40px;
        padding: 0 12px;
        font-size: 60%;
        line-height: 1.4;
	}

	body.internship #main_wrap #schedule_container .internship_schedule__tabs li{
		height: 56px;
		border-radius: 14px 14px 0 0;
		font-size: 170%;
	}

	body.internship #main_wrap #schedule_container .internship_schedule__board_wrap{
		overflow-x: auto;
	}

	body.internship #main_wrap #schedule_container .internship_schedule__board{
		width: 1080px;
		padding: 20px 20px 24px;
		border-radius: 18px;
	}

	body.internship #main_wrap #schedule_container .internship_schedule__months li{
		height: 56px;
		font-size: 120%;
	}

	body.internship #main_wrap #schedule_container .internship_schedule__tracks{
		min-height: 286px;
	}

	body.internship #main_wrap #schedule_container .internship_schedule__event{
		padding: 12px 14px;
		gap: 12px;
	}

	body.internship #main_wrap #schedule_container .internship_schedule__event p{
		font-size: 100%;
	}

	body.internship #main_wrap #schedule_container .internship_schedule__event.is-middle {
	    top: 93px;
	}

	body.internship #main_wrap #schedule_container .internship_schedule__event.is-bottom {
	    top: 186px;
	}

	body.internship #main_wrap #schedule_container .internship_schedule__more{
		height: 38px;
		padding: 0 42px 0 18px;
		font-size: 92%;
	}

	body.internship #main_wrap #schedule_container .internship_schedule__more::after{
		width: 24px;
		height: 24px;
		font-size: 90%;
    	line-height: 1;
	}
}

@media screen and (max-width: 1023px){

	body.internship #main_wrap #schedule_container .internship_schedule__tracks {
        min-height: 348px;
    }

	body.internship #main_wrap #schedule_container .internship_schedule__event p{
		font-size: 80%;
	}
}


@media screen and (max-width: 520px){

	body.internship #main_wrap #schedule_container .internship_schedule__tracks{
		min-height: 286px;
	}

	body.internship #main_wrap #schedule_container .internship_schedule__event p{
		font-size: 100%;
	}
}

/*--------------------------------------------------------------------------
internship-2027 / program_container
--------------------------------------------------------------------------*/
body.internship.page-template-page-lp-link #main_wrap section#program_container{
    padding-top: 120px;
    padding-bottom: 120px;
    background: #f0f9fe;
}

body.internship #main_wrap #program_container .internship_program__inner{
	max-width: 1260px;
	margin: 0 auto;
	padding: 0 20px;
}

body.internship #main_wrap #program_container .internship_program__head{
	text-align: center;
}

body.internship #main_wrap #program_container .internship_program__head h2{
	margin: 0;
	color: #333;
}

body.internship #main_wrap #program_container .internship_program__head h2::before,
body.internship #main_wrap #program_container .internship_program__head h2::after{
	display: none;
}

body.internship #main_wrap #program_container .internship_program__head::after{
	content: "";
	display: block;
	width: 96px;
	height: 6px;
	margin: 28px auto 0;
	background: #2684e4;
}

body.internship #main_wrap #program_container .internship_program__list{
	margin-top: 72px;
	display: grid;
	gap: 26px;
}

body.internship #main_wrap #program_container .internship_program__card{
	display: grid;
	grid-template-columns: 200px minmax(0, 1fr) 232px;
	gap: 28px;
	align-items: center;
	padding: 30px;
	background: #fff;
	border-radius: 30px;
}

body.internship #main_wrap #program_container .internship_program__thumb{
	margin: 0;
}

body.internship #main_wrap #program_container .internship_program__thumb img{
	display: block;
	width: 100%;
	height: auto;
}

body.internship #main_wrap #program_container .internship_program__meta{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

body.internship #main_wrap #program_container .internship_program__meta span{
	height: 32px;
    padding: 0 24px;
    background: #2684e4;
	color: #fff;
    font-size: 80%;
	font-weight: 500;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

body.internship #main_wrap #program_container .internship_program__meta .is-area{
	min-width: 104px;
}

body.internship #main_wrap #program_container .internship_program__meta .is-period{
	min-width: 346px;
}

body.internship #main_wrap #program_container .internship_program__meta .is-status{
	min-width: 144px;
	background: #8cc63f;
}

body.internship #main_wrap #program_container .internship_program__content h3{
    display: inline-block;
	margin: 16px 0 0;
	color: #333;
    font-size: 100%;
}

body.internship #main_wrap #program_container .internship_program__content h3::before,
body.internship #main_wrap #program_container .internship_program__content h3::after{
	display: none;
}

body.internship #main_wrap #program_container .internship_program__tags{
    margin: 16px 0 0 16px;
    color: #2684e4;
    font-weight: 500;
    font-size: 76%;
    display: inline-block;
}

body.internship #main_wrap #program_container .internship_program__desc{
	margin: 10px 0 0;
	color: #333;
    font-weight: 500;
    font-size: 80%;
}

body.internship #main_wrap #program_container .internship_program__actions{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
    align-items: center;
}

body.internship #main_wrap #program_container a.none{
background: #e8e7e7;
}


body.internship #main_wrap #program_container .internship_program__btn{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 96px;
    padding-bottom: 24px;
	background: #fff770;
    font-size: 80%;
	color: #333;
	font-weight: 700;
	text-decoration: none;
}




body.internship #main_wrap #program_container .internship_program__btn::after{
	font-family: "fontello";
    content: '\e800';
    position: absolute;
    left: 50%;
    bottom: 20px;
    transform: translateX(-50%);
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #fff;
    color: #333;
    font-size: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media screen and (max-width: 1200px){
	body.internship #main_wrap #program_container .internship_program__head h2{
	}

	body.internship #main_wrap #program_container .internship_program__card{
		grid-template-columns: 170px minmax(0, 1fr) 190px;
		gap: 20px;
		padding: 20px;
	}

	body.internship #main_wrap #program_container .internship_program__meta span{
	}

	body.internship #main_wrap #program_container .internship_program__meta .is-period{
		min-width: 390px;
	}

	body.internship #main_wrap #program_container .internship_program__content h3{
	}

	body.internship #main_wrap #program_container .internship_program__tags{
	}

	body.internship #main_wrap #program_container .internship_program__desc{
	}

	body.internship #main_wrap #program_container .internship_program__btn{
		min-height: 118px;
	}
}

@media screen and (max-width: 1023px){
	body.internship.page-template-page-lp-link #main_wrap section#program_container{
		padding-top: 58px;
		padding-bottom: 72px;
	}

	body.internship #main_wrap #program_container .internship_program__inner{
		padding: 0 16px;
	}

	body.internship #main_wrap #program_container .internship_program__head h2{
		font-size: 320%;
		line-height: 1.45;
	}

	body.internship #main_wrap #program_container .internship_program__head::after{
		width: 72px;
		height: 4px;
		margin-top: 16px;
	}

	body.internship #main_wrap #program_container .internship_program__list{
		margin-top: 38px;
		gap: 16px;
	}

	body.internship #main_wrap #program_container .internship_program__card{
		grid-template-columns: 1fr;
		gap: 14px;
		padding: 14px;
		border-radius: 20px;
	}

	body.internship #main_wrap #program_container .internship_program__thumb img{
	max-width: 340px;
    margin: 0 auto;
	}

	body.internship #main_wrap #program_container .internship_program__meta{
		gap: 6px;
        font-size: 64%;
	}

	body.internship #main_wrap #program_container .internship_program__meta span{
		height: 34px;
		padding: 0 12px;
		font-size: 130%;
	}

	body.internship #main_wrap #program_container .internship_program__meta .is-area{
		min-width: auto;
	}

	body.internship #main_wrap #program_container .internship_program__meta .is-period{
		min-width: auto;
	}

	body.internship #main_wrap #program_container .internship_program__meta .is-status{
		min-width: auto;
	}

	body.internship #main_wrap #program_container .internship_program__content h3{
		margin-top: 8px;
		font-size: 120%;
	}

	body.internship #main_wrap #program_container .internship_program__tags{
        font-size: 80%;
        margin: 0;
	}

	body.internship #main_wrap #program_container .internship_program__desc{
		margin-top: 8px;
		font-size: 100%;
	}

	body.internship #main_wrap #program_container .internship_program__actions{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.internship #main_wrap #program_container .internship_program__btn{
		min-height: 80px;
		font-size: 100%;
	}

	body.internship #main_wrap #program_container .internship_program__btn::after{
		bottom: 10px;
		width: 24px;
		height: 24px;
    	font-size: 10px;
	}
}

body.internship #main_wrap #program_container #interview_link_container{
	margin-top: 64px;
	display: flex;
	justify-content: center;
}

body.internship #main_wrap #program_container #interview_link_container .internship_related{
	display: flex;
	align-items: center;
	gap: 20px;
}

body.internship #main_wrap #program_container #interview_link_container .internship_related__thumb{
	margin: 0;
	width: 122px;
	height: 122px;
	border-radius: 50%;
	overflow: hidden;
}

body.internship #main_wrap #program_container #interview_link_container .internship_related__thumb img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

body.internship #main_wrap #program_container #interview_link_container .internship_related__meta{
	margin: 0;
	display: flex;
	align-items: center;
	gap: 12px;
	color: #333;
	line-height: 1;
}

body.internship #main_wrap #program_container #interview_link_container .internship_related__meta .is-related{
	font-weight: 700;
}

body.internship #main_wrap #program_container #interview_link_container .internship_related__meta .is-line{
	width: 42px;
	height: 2px;
	background: #2684e4;
}

body.internship #main_wrap #program_container #interview_link_container .internship_related__meta .is-name{
	font-size: 100%;
	font-weight: 500;
}

body.internship #main_wrap #program_container #interview_link_container .internship_related__link{
	position: relative;
    margin-top: 16px;
    display: inline-flex;
    align-items: center;
    height: 64px;
    min-width: 264px;
    padding: 0 64px 0 32px;
    border-radius: 999px;
	background: #fff;
	color: #333;
	font-size: 100%;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
}

body.internship #main_wrap #program_container #interview_link_container .internship_related__link::after{
	font-family: "fontello";
    content: '\e800';
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: linear-gradient(90deg, #208ae3 0%, #17b4d9 100%);
    color: #fff;
    font-size: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media screen and (max-width: 1200px){
	body.internship #main_wrap #program_container #interview_link_container .internship_related__meta .is-related{
	}

	body.internship #main_wrap #program_container #interview_link_container .internship_related__meta .is-name{
	}

	body.internship #main_wrap #program_container #interview_link_container .internship_related__link{
		min-width: 310px;
	}
}

@media screen and (max-width: 1023px){
	body.internship #main_wrap #program_container #interview_link_container{
		margin-top: 36px;
	}

	body.internship #main_wrap #program_container #interview_link_container .internship_related{
		width: 100%;
		flex-direction: column;
		align-items: center;
		gap: 12px;
	}

	body.internship #main_wrap #program_container #interview_link_container .internship_related__thumb{
		width: 92px;
		height: 92px;
	}

	body.internship #main_wrap #program_container #interview_link_container .internship_related__meta{
		justify-content: center;
	}

	body.internship #main_wrap #program_container #interview_link_container .internship_related__meta .is-related{
	}

	body.internship #main_wrap #program_container #interview_link_container .internship_related__meta .is-name{
	}

	body.internship #main_wrap #program_container #interview_link_container .internship_related__link{
		margin-top: 10px;
		min-width: 270px;
		height: 60px;
		padding: 0 58px 0 26px;
	}

	body.internship #main_wrap #program_container #interview_link_container .internship_related__link::after{

	}
}

/*--------------------------------------------------------------------------
entry / requirements_container
--------------------------------------------------------------------------*/
body.recruit.page-template-page-lp-link #contents_wrap > #main_wrap > :not(section){
    max-width: 100%;
}

body.recruit.page-template-page-lp-link #main_wrap section > *{
    max-width: 100%;
    width: 100%;
}

body.recruit.page-template-page-lp-link #contents_wrap > #main_wrap > :not(section){
	max-width: 100%;
	width: 100%;
}

body.recruit.page-template-page-lp-link #main_wrap section#requirements_container{
	padding-top: 84px;
	padding-bottom: 96px;
	background: #fff;
}

body.recruit #main_wrap #requirements_container .requirements__inner{
	max-width: 1220px;
	margin: 0 auto;
	padding: 0 20px;
}

body.recruit #main_wrap #requirements_container .requirements__head{
	text-align: center;
}

body.recruit #main_wrap #requirements_container .requirements__head h2{
	margin: 0;
	color: #333;
}

body.recruit #main_wrap #requirements_container .requirements__head h2::before,
body.recruit #main_wrap #requirements_container .requirements__head h2::after{
	display: none;
}

body.recruit #main_wrap #requirements_container .requirements__head::after{
	content: "";
	display: block;
	width: 96px;
	height: 6px;
	margin: 28px auto 0;
	background: #2684e4;
}

body.recruit #main_wrap #requirements_container .requirements__table{
	margin-top: 76px;
	display: grid;
	gap: 16px;
    font-size: 88%;
}

body.recruit #main_wrap #requirements_container .requirements__row{
	display: grid;
	grid-template-columns: 210px minmax(0, 1fr);
    gap: 2px;
	background: #fff;
}

body.recruit #main_wrap #requirements_container .requirements__th{
    padding: 24px;
    background: #f0f9fe;
    color: #333;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: left;
    text-align: left;
}

body.recruit #main_wrap #requirements_container .requirements__td{
	padding: 24px 30px 20px;
	color: #333;
    background: #f7f7f7;
}

body.recruit #main_wrap #requirements_container .requirements__td p{
	margin: 0;
}

body.recruit #main_wrap #requirements_container .requirements__td p + p{
	margin-top: 12px;
}

body.recruit #main_wrap #requirements_container .requirements__td .is-strong{
	margin-top: 18px;
	font-weight: 700;
}

body.recruit #main_wrap #requirements_container .requirements__td .is-strong-sub{
	margin-top: 8px;
	font-weight: 700;
}

body.recruit #main_wrap #requirements_container .requirements__td .is-note{
	margin-top: 14px;
	font-size: 88%;
	line-height: 1.7;
}

body.recruit #main_wrap #requirements_container .requirements__td a{
	color: #2684e4;
	text-decoration: underline;
	text-underline-offset: 2px;
}

body.recruit #main_wrap #requirements_container .requirements__ratio{
	margin-top: 14px;
	max-width: 720px;
}

body.recruit #main_wrap #requirements_container .requirements__ratio table{
	width: 100%;
	border-collapse: collapse;
	background: #fff;
}

body.recruit #main_wrap #requirements_container .requirements__ratio th,
body.recruit #main_wrap #requirements_container .requirements__ratio td{
	padding: 12px 16px;
	border: 1px solid #e8e8e8;
    background: none;
	color: #333;
	font-size: 100%;
	font-weight: 400;
	line-height: 1.4;
	text-align: center;
	white-space: nowrap;
}

body.recruit #main_wrap #requirements_container .requirements__ratio thead th:first-child,
body.recruit #main_wrap #requirements_container .requirements__ratio tbody th{
	text-align: left;
	font-weight: 400;
	white-space: normal;
/*	width: 50%;*/
}

@media screen and (max-width: 1200px){

	body.recruit #main_wrap #requirements_container .requirements__head h2{
	}

	body.recruit #main_wrap #requirements_container .requirements__row{
		grid-template-columns: 180px minmax(0, 1fr);
	}

	body.recruit #main_wrap #requirements_container .requirements__th{
	}

	body.recruit #main_wrap #requirements_container .requirements__td{
	}

	body.recruit #main_wrap #requirements_container .requirements__ratio th,
	body.recruit #main_wrap #requirements_container .requirements__ratio td{
		padding: 10px 12px;
	}
}

@media screen and (max-width: 1023px){

	body.recruit.page-template-page-lp-link #main_wrap section#requirements_container{
		padding-top: 58px;
		padding-bottom: 72px;
	}

	body.recruit #main_wrap #requirements_container .requirements__inner{
		padding: 0 16px;
	}

	body.recruit #main_wrap #requirements_container .requirements__head h2{
		font-size: 320%;
		line-height: 1.45;
	}

	body.recruit #main_wrap #requirements_container .requirements__head::after{
		width: 72px;
		height: 4px;
		margin-top: 16px;
	}

	body.recruit #main_wrap #requirements_container .requirements__table{
		margin-top: 38px;
		gap: 12px;
		font-size: 80%;
	}

	body.recruit #main_wrap #requirements_container .requirements__row{
		grid-template-columns: 1fr;
	}

	body.recruit #main_wrap #requirements_container .requirements__th{
		padding: 16px;
		justify-content: flex-start;
	}

	body.recruit #main_wrap #requirements_container .requirements__td{
		padding: 16px;
		overflow-x: auto;
	}

	body.recruit #main_wrap #requirements_container .requirements__td .is-note{
		font-size: 100%;
	}

	body.recruit #main_wrap #requirements_container .requirements__ratio{
		overflow-x: auto;
	}

	body.recruit #main_wrap #requirements_container .requirements__ratio table{
		min-width: 520px;
	}
}

@media screen and (min-width: 521px) and (max-width: 960px){

	body.recruit #main_wrap #requirements_container .requirements__table{
		font-size: 80%;
	}

	body.recruit #main_wrap #requirements_container .requirements__ratio tbody th {
	    width: 36%;
	}

}

@media screen and (max-width: 520px){

	body.recruit #main_wrap #requirements_container .requirements__table{
		font-size: 100%;
	}

	body.recruit #main_wrap #requirements_container .requirements__ratio th,
	body.recruit #main_wrap #requirements_container .requirements__ratio td{
	/*	white-space: normal;*/
	}

	body.recruit #main_wrap #requirements_container .requirements__ratio.is-transposed{
		overflow-x: visible;
	}

	body.recruit #main_wrap #requirements_container .requirements__ratio.is-transposed table{
		width: 100%;
		min-width: 0;
	}

	body.recruit #main_wrap #requirements_container .requirements__ratio.is-transposed thead th:first-child,
	body.recruit #main_wrap #requirements_container .requirements__ratio.is-transposed tbody th{
		width: auto;
		white-space: nowrap;
	}
}

/*--------------------------------------------------------------------------
entry / inquiry_container
--------------------------------------------------------------------------*/
body.recruit.page-template-page-lp-link #main_wrap section#inquiry_container{
	padding-top: 76px;
	padding-bottom: 96px;
	background: #fff;
}

body.recruit #main_wrap #inquiry_container .inquiry__inner{
	max-width: 100%;
	margin: 0 auto;
	padding: 0;
}

body.recruit #main_wrap #inquiry_container .inquiry__head{
	text-align: center;
	padding: 0 20px;
}

body.recruit #main_wrap #inquiry_container .inquiry__head h2{
	margin: 0;
	color: #333;
}

body.recruit #main_wrap #inquiry_container .inquiry__head h2::before,
body.recruit #main_wrap #inquiry_container .inquiry__head h2::after{
	display: none;
}

body.recruit #main_wrap #inquiry_container .inquiry__head::after{
	content: "";
	display: block;
	width: 96px;
	height: 6px;
	margin: 28px auto 0;
	background: #2684e4;
}

body.recruit #main_wrap #inquiry_container .inquiry__offices{
	margin-top: 72px;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.recruit #main_wrap #inquiry_container .inquiry__office{
	min-height: 760px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

body.recruit #main_wrap #inquiry_container .inquiry__office.is-osaka{
	background-image: url(../images/work-style/index/osaka.jpg);
}

body.recruit #main_wrap #inquiry_container .inquiry__office.is-tokyo{
	background-image: url(../images/work-style/index/tokyo.jpg);
}

body.recruit #main_wrap #inquiry_container .inquiry__card{
	width: min(560px, 100%);
	padding: 88px 40px 64px;
	border-radius: 32px;
	background: rgba(255, 255, 255, 0.88);
	backdrop-filter: blur(1px);
	text-align: center;
}

body.recruit #main_wrap #inquiry_container .inquiry__card h3{
	margin: 0;
	color: #333;
    font-size: 184%;
}

body.recruit #main_wrap #inquiry_container .inquiry__card h3::before,
body.recruit #main_wrap #inquiry_container .inquiry__card h3::after{
	display: none;
}

body.recruit #main_wrap #inquiry_container .inquiry__card p.inquiry__region{
	margin-top: 0;
	margin-bottom: 32px;
    font-weight: 500;
}

body.recruit #main_wrap #inquiry_container .inquiry__card p{
	margin: 0;
	color: #333;
}

body.recruit #main_wrap #inquiry_container .inquiry__card a{
	color: #2684e4;
	text-decoration: underline;
	text-underline-offset: 2px;
}

body.recruit #main_wrap #inquiry_container .inquiry__entry{
	padding: 88px 24px 0;
	display: flex;
	justify-content: center;
}

body.recruit #main_wrap #inquiry_container .inquiry__entry_btn{
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
    height: 76px;
    min-width: 372px;
    font-size: 144%;
    padding: 0 80px 0 48px;
    border-radius: 999px;
	background: linear-gradient(90deg, #1989d8 0%, #22b7d2 100%);
	color: #fff;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
}

body.recruit #main_wrap #inquiry_container .inquiry__entry_btn::after{
    content: "";
	font-family: "fontello";
    content: '\e800';
    position: absolute;
    right: 32px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #fff;
    color: #1a90d7;
    font-size: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}


@media screen and (max-width: 1200px){

	body.recruit #main_wrap #inquiry_container .inquiry__head h2{
	}

	body.recruit #main_wrap #inquiry_container .inquiry__office{
		min-height: 620px;
	}

	body.recruit #main_wrap #inquiry_container .inquiry__card{
		padding: 56px 24px 44px;
	}

	body.recruit #main_wrap #inquiry_container .inquiry__card h3{
	}

	body.recruit #main_wrap #inquiry_container .inquiry__region{
	}

	body.recruit #main_wrap #inquiry_container .inquiry__card p{
	}

	body.recruit #main_wrap #inquiry_container .inquiry__entry_btn{
	}
}

@media screen and (max-width: 1023px){

	body.recruit.page-template-page-lp-link #main_wrap section#inquiry_container{
		padding-top: 58px;
		padding-bottom: 72px;
	}

	body.recruit #main_wrap #inquiry_container .inquiry__head{
		padding: 0 16px;
	}

	body.recruit #main_wrap #inquiry_container .inquiry__head h2{
	}

	body.recruit #main_wrap #inquiry_container .inquiry__head::after{
		width: 72px;
		height: 4px;
		margin-top: 16px;
	}

	body.recruit #main_wrap #inquiry_container .inquiry__offices{
		margin-top: 38px;
		grid-template-columns: 1fr;
	}

	body.recruit #main_wrap #inquiry_container .inquiry__office{
		min-height: 520px;
		padding: 16px;
	}

	body.recruit #main_wrap #inquiry_container .inquiry__card{
		padding: 40px 14px 30px;
		border-radius: 20px;
	}

	body.recruit #main_wrap #inquiry_container .inquiry__card h3{
	}

	body.recruit #main_wrap #inquiry_container .inquiry__region{
		margin-top: 10px;
	}

	body.recruit #main_wrap #inquiry_container .inquiry__card p{
		margin-top: 10px;
	}

	body.recruit #main_wrap #inquiry_container .inquiry__entry{
		padding-top: 44px;
	}

	body.recruit #main_wrap #inquiry_container .inquiry__entry_btn{
		min-width: 270px;
		height: 72px;
		padding: 0 64px 0 30px;
	}

	body.recruit #main_wrap #inquiry_container .inquiry__entry_btn::after{
		width: 34px;
		height: 34px;
		right: 14px;
	}
}

@media screen and (min-width: 521px) and (max-width: 960px){

    body.recruit #main_wrap #inquiry_container .inquiry__card {
        padding: 24px;
        font-size: 80%;
	}
}


/*--------------------------------------------------------------------------
recruit / referral_container
--------------------------------------------------------------------------*/
body.recruit.page-template-page-lp-link #main_wrap section#referral_container{
	padding: 80px 0 0;
	background: #e9f1f8;
}

body.recruit #main_wrap #referral_container .referral__head{
	text-align: center;
}


/* 右画像レイアウト
--------------------------------------------------------------------------*/
body.recruit.page-template-page-lp-link #main_wrap .right_img_container{
	margin-top: 80px;
	padding-top: 0;
	padding-bottom: 0;
}

body.recruit.page-template-page-lp-link #main_wrap .right_img_container > .right_img_container__inner{
	display: grid;
	grid-template-columns: minmax(0, 53%) minmax(0, 47%);
	width: 100%;
	max-width: 100%;
}

body.recruit .right_img_container .right_img_container__content{
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
	background: #2684e4;
	padding: 120px;
	color: #fff;
}

body.recruit #main_wrap .right_img_container .right_img_container__title{
	margin: 0 0 30px;
	display: flex;
    flex-wrap: wrap;
    align-items: baseline;
	gap: 0 16px;
	color: #fff;
    font-size: 216%;
    font-weight: 500;
}

body.recruit #main_wrap .right_img_container .right_img_container__title::before,
body.recruit #main_wrap .right_img_container .right_img_container__title::after{
	display: none;
}

body.recruit .right_img_container .right_img_container__title .ja{
	color: #fff;
}

body.recruit .right_img_container .right_img_container__title .en{
	font-size: 48%;
    font-weight: 500;
	color: #fff;
}

body.recruit #contents_wrap .right_img_container .right_img_container__content p{
	margin: 0;
    margin-bottom: 1.6em;
	color: #fff;
}

body.recruit #contents_wrap .right_img_container .right_img_container__content p + p{
	margin-top: 24px;
}

body.recruit .right_img_container .right_img_container__image{
	min-height: 520px;
}

body.recruit #main_wrap .right_img_container .right_img_container__image img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media screen and (max-width: 1200px) {
	body.recruit .right_img_container .right_img_container__content{
		padding: 72px 56px;
	}

	body.recruit .right_img_container .right_img_container__title .ja{
	}

	body.recruit .right_img_container .right_img_container__title .en{
		font-size: 64%;
	}

	body.recruit #contents_wrap .right_img_container .right_img_container__content p{
	}
}

@media screen and (max-width: 1023px) {
	body.recruit.page-template-page-lp-link #main_wrap .right_img_container > .right_img_container__inner{
		grid-template-columns: 1fr;
	}

	body.recruit .right_img_container .right_img_container__content{
		order: 2;
		padding: 48px 24px;
	}

	body.recruit .right_img_container .right_img_container__image{
		order: 1;
		min-height: 300px;
	}

	body.recruit .right_img_container .right_img_container__title .ja{
	}

	body.recruit .right_img_container .right_img_container__title .en{
		font-size: 64%;
	}

	body.recruit #contents_wrap .right_img_container .right_img_container__content p{
	}
}

@media screen and (max-width: 767px) {
	body.recruit .right_img_container .right_img_container__title .ja{
	}

	body.recruit .right_img_container .right_img_container__title .en{
	}

	body.recruit #contents_wrap .right_img_container .right_img_container__content p{
	}
}

@media screen and (min-width: 521px) and (max-width: 960px){

	body.recruit #main_wrap .right_img_container .right_img_container__title {
	    font-size: 144%;
	}


	body.recruit #contents_wrap .right_img_container .right_img_container__content p{
	    font-size: 80%;
	}

}

@media screen and (max-width: 520px) {

	body.recruit #main_wrap .right_img_container .right_img_container__title {
	    font-size: 128%;
	}

}


/* 下部
--------------------------------------------------------------------------*/
body.recruit #main_wrap #referral_container .referral__entry_lead{
	margin-top: 88px;
	text-align: center;
}

body.recruit #main_wrap #referral_container .referral__entry_lead p{
	margin: 0;
	color: #333;
	font-weight: 700;
}

body.recruit #main_wrap #referral_container .referral__entry{
	margin-top: 54px;
	text-align: center;
}

body.recruit #main_wrap #referral_container .referral__entry_btn{
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 76px;
    min-width: 372px;
    font-size: 144%;
    padding: 0 80px 0 48px;
    border-radius: 999px;
    background: linear-gradient(90deg, #1989d8 0%, #22b7d2 100%);
    color: #fff;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
}

body.recruit #main_wrap #referral_container .referral__entry_btn::after{
    content: "";
	font-family: "fontello";
    content: '\e800';
    position: absolute;
    right: 32px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #fff;
    color: #1a90d7;
    font-size: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

body.recruit #main_wrap #referral_container .referral__entry_btn:hover{
	filter: brightness(1.05);
}

body.recruit #main_wrap #referral_container .referral__entry_text{
	display: flex;
	gap: 4%;
    justify-content: center;
    margin: 40px 0;
}

body.recruit #main_wrap #referral_container .referral__entry_text .inquiry__office{
    background: #fff;
    padding: 64px;
    border-radius: 24px;
    text-align: center;
}

body.recruit #contents_wrap #main_wrap #referral_container .referral__entry_text h3 {
    margin-bottom: 0;
	font-size: 160%;
}

body.recruit #contents_wrap #main_wrap #referral_container .referral__entry_text h3::before{
	display: none;
}

body.recruit #contents_wrap #main_wrap #referral_container .referral__entry_text p.inquiry__region{
	margin-top: 0;
    margin-bottom: 16px;
    font-size: 92%;
    font-weight: bold;
}

body.recruit #contents_wrap #main_wrap #referral_container .referral__entry_text p{
	margin-bottom: 0;
    word-break: auto-phrase;
}

@media screen and (max-width: 1296px){

	body.recruit #main_wrap #referral_container .referral__entry_lead{
	    padding: 0 4%
	}

	body.recruit #main_wrap #referral_container .referral__entry_text {
	    padding: 0 4%
	}
}

@media screen and (max-width: 1200px){

	body.recruit #main_wrap #referral_container .referral__entry_lead p{
	}
}

@media screen and (max-width: 1023px){


	body.recruit #main_wrap #referral_container .referral__entry_lead{
		margin-top: 44px;
	}

	body.recruit #main_wrap #referral_container .referral__entry_lead p{
		line-height: 1.75;
	}

	body.recruit #main_wrap #referral_container .referral__entry{
		margin-top: 36px;
	}

	body.recruit #main_wrap #referral_container .referral__entry_btn{
		min-width: 290px;
		height: 64px;
		padding: 0 68px 0 28px;
	}
}

@media screen and (min-width: 521px) and (max-width: 960px){

	body.recruit #main_wrap #referral_container .referral__entry_text{
        flex-direction: column;
        gap: 24px 0;
	}

	body.recruit #main_wrap #referral_container .referral__entry_text .inquiry__office{
    	padding: 40px;
	}

	body.recruit #main_wrap #referral_container .referral__entry_btn{
        font-size: 120%;
	}
}

@media screen and (max-width: 520px) {

	body.recruit #main_wrap #referral_container .referral__entry_text{
        flex-direction: column;
        gap: 24px 0;
	}

	body.recruit #main_wrap #referral_container .referral__entry_text .inquiry__office{
    	padding: 40px;
	}

    body.recruit #main_wrap #referral_container .referral__entry_lead {
        padding: 0 4%;
        font-size: 120%;
    }

}


/*--------------------------------------------------------------------------
message-student / message_west_container
--------------------------------------------------------------------------*/
body.message.page-template-page-lp-link #contents_wrap > #main_wrap > :not(section){
    max-width: 100%;
}

body.message.page-template-page-lp-link #main_wrap section > *{
    max-width: 100%;
    width: 100%;
}

body.message.page-template-page-lp-link #main_wrap section#message_west_container{
	padding-top: 84px;
	padding-bottom: 96px;
	background: #fff;
}

body.message #main_wrap #message_west_container .message_west__inner{
	max-width: 1320px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

body.message #main_wrap #message_west_container .message_west__head{
	text-align: center;
}

body.message #main_wrap #message_west_container .message_west__head h2{
	margin: 0;
	color: #333;
}

body.message #main_wrap #message_west_container .message_west__head h2::before,
body.message #main_wrap #message_west_container .message_west__head h2::after{
	display: none;
}

body.message #main_wrap #message_west_container .message_west__head::after{
	content: "";
	display: block;
	width: 96px;
	height: 6px;
	margin: 28px auto 0;
	background: #2684e4;
}

body.message #main_wrap #message_west_container .message_west__content{
	margin-top: 74px;
	display: block;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 54px;
	align-items: start;
}

body.message #main_wrap #message_west_container .message_west__image{
	margin: 0;
    width: 48%;
    float: left;
    margin-right: 4%;
}

body.message #main_wrap #message_west_container .message_west__image img{
	display: block;
	width: 100%;
	height: auto;
}

body.message #main_wrap #message_west_container .message_west__text h3{
	margin: 0;
	color: #2684e4;
	font-size: 200%;
	font-weight: 700;
	line-height: 1.6;
	word-break: auto-phrase;
}

body.message #main_wrap #message_west_container .message_west__text h3::before,
body.message #main_wrap #message_west_container .message_west__text h3::after{
	display: none;
}

body.message #main_wrap #message_west_container .message_west__text p{
	margin: 48px 0 0;
	color: #333;
}

@media screen and (max-width: 1296px){

	body.message.page-template-page-lp-link #main_wrap section#message_west_container{
		padding-left: 4%;
		padding-right: 4%;
	}

}

@media screen and (max-width: 1200px){

	body.message.page-template-page-lp-link #main_wrap section#message_west_container{

	}

	body.message #main_wrap #message_west_container .message_west__head h2{
	}

	body.message #main_wrap #message_west_container .message_west__content{
		gap: 26px;
	}

	body.message #main_wrap #message_west_container .message_west__text h3{
	}

	body.message #main_wrap #message_west_container .message_west__text p{
		margin-top: 24px;
	}
}

@media screen and (max-width: 1023px){

	body.message.page-template-page-lp-link #main_wrap section#message_west_container{
		padding-top: 58px;
		padding-bottom: 72px;
	}

	body.message #main_wrap #message_west_container .message_west__inner{
		padding: 0 16px;
	}

	body.message #main_wrap #message_west_container .message_west__head h2{
		font-size: 320%;
		line-height: 1.45;
	}

	body.message #main_wrap #message_west_container .message_west__head::after{
		width: 72px;
		height: 4px;
		margin-top: 16px;
	}

	body.message #main_wrap #message_west_container .message_west__content{
		margin-top: 36px;
		grid-template-columns: 1fr;
		gap: 20px;
	}

	body.message #main_wrap #message_west_container .message_west__text h3{
		font-size: 120%;
	}

	body.message #main_wrap #message_west_container .message_west__text p{
		margin-top: 16px;
	}
}

@media screen and (min-width: 521px) and (max-width: 960px){

	body.message #main_wrap #message_west_container .message_west__text p{
        font-size: 80%;
    }

}

@media screen and (max-width: 660px){

	body.message #main_wrap #message_west_container .message_west__image {
	    margin: 0;
	    width: 100%;
	    float: none;
	    margin-right: 0;
	    margin-bottom: 24px;
	}
}

@media screen and (max-width: 520px){

	body.message #main_wrap #message_west_container .message_west__text h3 br{
		display: none;
	}
}

/*--------------------------------------------------------------------------
message-student / message_east_container
--------------------------------------------------------------------------*/
body.message.page-template-page-lp-link #main_wrap section#message_east_container{
	padding-top: 76px;
	padding-bottom: 96px;
	background: #fff;
}

body.message #main_wrap #message_east_container .message_east__inner{
	max-width: 1320px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

body.message #main_wrap #message_east_container .message_east__head{
	text-align: center;
}

body.message #main_wrap #message_east_container .message_east__head h2{
	margin: 0;
	color: #333;
}

body.message #main_wrap #message_east_container .message_east__head h2::before,
body.message #main_wrap #message_east_container .message_east__head h2::after{
	display: none;
}

body.message #main_wrap #message_east_container .message_east__head::after{
	content: "";
	display: block;
	width: 96px;
	height: 6px;
	margin: 28px auto 0;
	background: #2684e4;
}

body.message #main_wrap #message_east_container .message_east__content{
	margin-top: 74px;
	display: block;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 54px;
	align-items: start;
}

body.message #main_wrap #message_east_container .message_east__text h3{
	margin: 0;
	color: #2684e4;
	font-size: 200%;
	line-height: 1.6;
}

body.message #main_wrap #message_east_container .message_east__text h3::before,
body.message #main_wrap #message_east_container .message_east__text h3::after{
	display: none;
}

body.message #main_wrap #message_east_container .message_east__text p{
	margin: 48px 0 0;
	color: #333;
}

body.message #main_wrap #message_east_container .message_east__image{
	min-height: 840px;
	background: #c8c8c8;
}

body.message #main_wrap #message_east_container .message_east__entry{
	padding-top: 82px;
	display: flex;
	justify-content: center;
}

body.message #main_wrap #message_east_container .message_east__entry_btn{
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 100px;
	min-width: 380px;
	padding: 0 92px 0 46px;
	border-radius: 999px;
	background: linear-gradient(90deg, #1989d8 0%, #22b7d2 100%);
	color: #fff;
	font-size: 680%;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
}

body.message #main_wrap #message_east_container .message_east__entry_btn::after{
	font-family: "fontello";
    content: '\e800';
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.86);
	color: #4f8fc8;
	font-size: 120%;
	display: flex;
	align-items: center;
	justify-content: center;
}

@media screen and (max-width: 1296px){

	body.message.page-template-page-lp-link #main_wrap section#message_east_container{
		padding-left: 4%;
		padding-right: 4%;
	}

}

@media screen and (max-width: 1200px){
	body.message #main_wrap #message_east_container .message_east__head h2{
	}

	body.message #main_wrap #message_east_container .message_east__content{
		gap: 26px;
	}

	body.message #main_wrap #message_east_container .message_east__text h3{
	}

	body.message #main_wrap #message_east_container .message_east__text p{
		margin-top: 24px;
	}

	body.message #main_wrap #message_east_container .message_east__image{
		min-height: 660px;
	}

	body.message #main_wrap #message_east_container .message_east__entry_btn{
	}
}

@media screen and (max-width: 1023px){

	body.message.page-template-page-lp-link #main_wrap section#message_east_container{
		padding-top: 58px;
		padding-bottom: 72px;
	}

	body.message #main_wrap #message_east_container .message_east__inner{
		padding: 0 16px;
	}

	body.message #main_wrap #message_east_container .message_east__head h2{
	}

	body.message #main_wrap #message_east_container .message_east__head::after{
		width: 72px;
		height: 4px;
		margin-top: 16px;
	}

	body.message #main_wrap #message_east_container .message_east__content{
		margin-top: 36px;
		grid-template-columns: 1fr;
		gap: 20px;
	}

	body.message #main_wrap #message_east_container .message_east__text h3{
		font-size: 120%;
	}

	body.message #main_wrap #message_east_container .message_east__text p{
		margin-top: 16px;
	}

	body.message #main_wrap #message_east_container .message_east__image{
		min-height: 420px;
	}

	body.message #main_wrap #message_east_container .message_east__entry{
		padding-top: 44px;
	}

	body.message #main_wrap #message_east_container .message_east__entry_btn{
		min-width: 270px;
		height: 72px;
		padding: 0 64px 0 30px;
	}

	body.message #main_wrap #message_east_container .message_east__entry_btn::after{
		width: 34px;
		height: 34px;
		right: 14px;
	}
}

@media screen and (max-width: 520px){

	body.message #main_wrap #message_east_container .message_east__text h3 br{
		display: none;
	}
}

/*--------------------------------------------------------------------------
message-parent / lead_container
--------------------------------------------------------------------------*/
body.for_guardian.page-template-page-lp-link #contents_wrap > #main_wrap > :not(section){
    max-width: 100%;
}

body.for_guardian.page-template-page-lp-link #main_wrap section > *{
    max-width: 100%;
    width: 100%;
}

body.for_guardian.page-template-page-lp-link #main_wrap section#lead_container{
	padding-top: 80px;
	padding-bottom: 80px;
	background: #fff;
}

body.for_guardian #main_wrap #lead_container .lead__inner{
	margin: 0 auto;
}

body.for_guardian #main_wrap #lead_container .lead__intro{
	margin: 0;
	text-align: center;
	color: #333;
	font-weight: 500;
}

body.for_guardian #main_wrap #lead_container .lead__content{
	margin-top: 80px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 58px;
	align-items: start;
}

body.for_guardian #main_wrap #lead_container .lead__text{
	max-width: 660px;
    margin-left: auto;
}

body.for_guardian #main_wrap #lead_container .lead__text p{
	margin: 0;
	color: #333;
}

body.for_guardian #main_wrap #lead_container .lead__text p + p{
	margin-top: 78px;
}

body.for_guardian #main_wrap #lead_container .lead__image{
	margin: 0;
	height: 100%;
	min-height: 720px;
	overflow: hidden;
}

body.for_guardian #main_wrap #lead_container .lead__image img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media screen and (max-width: 1200px){

	body.for_guardian #main_wrap #lead_container .lead__intro{
	}

	body.for_guardian #main_wrap #lead_container .lead__content{
		gap: 24px;
	}

	body.for_guardian #main_wrap #lead_container .lead__text p{
	}

	body.for_guardian #main_wrap #lead_container .lead__text p + p{
		margin-top: 44px;
	}

	body.for_guardian #main_wrap #lead_container .lead__image{
		min-height: 560px;
	}
}

@media screen and (max-width: 1023px){

	body.for_guardian.page-template-page-lp-link #main_wrap section#lead_container{
		padding-top: 56px;
		padding-bottom: 56px;
	}

	body.for_guardian #main_wrap #lead_container .lead__inner{
		padding: 0 16px;
	}

	body.for_guardian #main_wrap #lead_container .lead__intro{
		text-align: left;
	}

	body.for_guardian #main_wrap #lead_container .lead__intro br{
		display: none;
	}

	body.for_guardian #main_wrap #lead_container .lead__content{
		margin-top: 34px;
		grid-template-columns: 1fr;
		gap: 28px;
	}

	body.for_guardian #main_wrap #lead_container .lead__text {
	    max-width: 100%;
	}

	body.for_guardian #main_wrap #lead_container .lead__text p{
	}

	body.for_guardian #main_wrap #lead_container .lead__text p + p{
		margin-top: 28px;
	}

	body.for_guardian #main_wrap #lead_container .lead__image{
		min-height: 360px;
	}
}

@media screen and (min-width: 521px) and (max-width: 960px){

	body.for_guardian #main_wrap #lead_container .lead__text p{
        font-size: 80%;
    }

}
/*--------------------------------------------------------------------------
message-parent / strengths_container
--------------------------------------------------------------------------*/
body.for_guardian.page-template-page-lp-link #main_wrap section#strengths_container{
	padding-top: 80px;
	padding-bottom: 80px;
	background: #fff;
}

body.for_guardian #main_wrap #strengths_container .strengths__inner{
	margin: 0 auto;
}

body.for_guardian #main_wrap #strengths_container .strengths__head{
	text-align: center;
}

body.for_guardian #main_wrap #strengths_container .strengths__head h2{
	margin: 0;
	color: #333;
}

body.for_guardian #main_wrap #strengths_container .strengths__head h2::before,
body.for_guardian #main_wrap #strengths_container .strengths__head h2::after{
	display: none;
}

body.for_guardian #main_wrap #strengths_container .strengths__head p{
	margin: 12px 0 0;
	color: #2684e4;
    font-weight: 500;
    font-size: 160%;
}

body.for_guardian #main_wrap #strengths_container .strengths__head::after{
	content: "";
	display: block;
	width: 112px;
	height: 6px;
	margin: 44px auto 0;
	background: #2684e4;
}

body.for_guardian #main_wrap #strengths_container .strengths__content{
	margin-top: 86px;
	display: grid;
	grid-template-columns: 49.5% minmax(0, 1fr);
	gap: 56px;
	align-items: start;
}

body.for_guardian #main_wrap #strengths_container .strengths__image{
	margin: 0;
}

body.for_guardian #main_wrap #strengths_container .strengths__image img{
	display: block;
	width: 100%;
	height: auto;
}

body.for_guardian #main_wrap #strengths_container .strengths__text{
    max-width: 660px;
}

body.for_guardian #main_wrap #strengths_container .strengths__text p{
	margin: 0;
	color: #333;
}

body.for_guardian #main_wrap #strengths_container .strengths__text p + p{
	margin-top: 80px;
}

@media screen and (max-width: 1200px){

	body.for_guardian #main_wrap #strengths_container .strengths__head h2{
	}

	body.for_guardian #main_wrap #strengths_container .strengths__head p{
	}

	body.for_guardian #main_wrap #strengths_container .strengths__head::after{
		margin-top: 28px;
	}

	body.for_guardian #main_wrap #strengths_container .strengths__content{
		margin-top: 48px;
		gap: 26px;
	}

	body.for_guardian #main_wrap #strengths_container .strengths__text{
		padding-right: 20px;
	}

	body.for_guardian #main_wrap #strengths_container .strengths__text p{
	}

	body.for_guardian #main_wrap #strengths_container .strengths__text p + p{
		margin-top: 30px;
	}
}

@media screen and (max-width: 1023px){

	body.for_guardian.page-template-page-lp-link #main_wrap section#strengths_container{
		padding-top: 56px;
		padding-bottom: 64px;
	}

	body.for_guardian #main_wrap #strengths_container .strengths__inner{
		padding: 0 16px;
	}

	body.for_guardian #main_wrap #strengths_container .strengths__head h2{
		font-size: 430%;
	}

	body.for_guardian #main_wrap #strengths_container .strengths__head p{
		margin-top: 12px;
	}

	body.for_guardian #main_wrap #strengths_container .strengths__head::after{
		width: 72px;
		height: 4px;
		margin-top: 16px;
	}

	body.for_guardian #main_wrap #strengths_container .strengths__content{
		margin-top: 34px;
		grid-template-columns: 1fr;
		gap: 24px;
	}

	body.for_guardian #main_wrap #strengths_container .strengths__text{
	    max-width: 100%;
		padding-right: 0;
	}

	body.for_guardian #main_wrap #strengths_container .strengths__text p{
	}

	body.for_guardian #main_wrap #strengths_container .strengths__text p + p{
		margin-top: 24px;
	}
}

@media screen and (min-width: 521px) and (max-width: 960px){

	body.for_guardian #main_wrap #strengths_container .strengths__text p{
        font-size: 80%;
    }
}

/*--------------------------------------------------------------------------
message-parent / expectations_container
--------------------------------------------------------------------------*/
body.for_guardian.page-template-page-lp-link #main_wrap section#expectations_container{
	padding-top: 76px;
	padding-bottom: 96px;
	background: #fff;
}

body.for_guardian #main_wrap #expectations_container .expectations__inner{
	margin: 0 auto;
}

body.for_guardian #main_wrap #expectations_container .expectations__head{
	text-align: center;
}

body.for_guardian #main_wrap #expectations_container .expectations__head h2{
	margin: 0;
	color: #333;
}

body.for_guardian #main_wrap #expectations_container .expectations__head h2::before,
body.for_guardian #main_wrap #expectations_container .expectations__head h2::after{
	display: none;
}

body.for_guardian #main_wrap #expectations_container .expectations__head p{
    margin: 12px 0 0;
    color: #2684e4;
    font-weight: 500;
    font-size: 160%;
}

body.for_guardian #main_wrap #expectations_container .expectations__head::after{
	content: "";
	display: block;
	width: 96px;
	height: 6px;
	margin: 44px auto 0;
	background: #2684e4;
}

body.for_guardian #main_wrap #expectations_container .expectations__block{
	margin-top: 86px;
}

body.for_guardian #main_wrap #expectations_container .expectations__block--with-image{
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 56px;
	align-items: start;
}

body.for_guardian #main_wrap #expectations_container .expectations__text {
    max-width: 660px;
	margin-left: auto;
}

body.for_guardian #main_wrap #expectations_container .expectations__text h3{
	margin: 0;
	color: #2684e4;
    font-size: 200%;
    font-weight: 600;
}

body.for_guardian #main_wrap #expectations_container .expectations__text h3::before,
body.for_guardian #main_wrap #expectations_container .expectations__text h3::after{
	display: none;
}

body.for_guardian #main_wrap #expectations_container .expectations__text p{
	margin: 64px 0 0;
	color: #333;
}

body.for_guardian #main_wrap #expectations_container .expectations__text p + p{
	margin-top: 88px;
}

body.for_guardian #main_wrap #expectations_container .expectations__image{
	margin: 0;
}

body.for_guardian #main_wrap #expectations_container .expectations__image img{
	display: block;
	width: 100%;
	height: auto;
}

body.for_guardian #main_wrap #expectations_container .expectations__block--text{
	margin-top: 100px;
}

body.for_guardian #main_wrap #expectations_container .expectations__block--text .expectations__text{
    max-width: 1320px;
	margin: 0 auto;
}

body.for_guardian #main_wrap #expectations_container .expectations__block--image-left{
	margin-top: 108px;
}

body.for_guardian #main_wrap #expectations_container .expectations__block--image-left .expectations__text{
    max-width: 660px;
    margin-left: 0;
}

body.for_guardian #main_wrap #expectations_container .expectations__entry{
	padding-top: 92px;
	display: flex;
	justify-content: center;
}

body.for_guardian #main_wrap #expectations_container .expectations__entry_btn{
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 390px;
	height: 102px;
	padding: 0 94px 0 46px;
	border-radius: 999px;
	background: linear-gradient(90deg, #1989d8 0%, #22b7d2 100%);
	color: #fff;
	font-size: 680%;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
}

body.for_guardian #main_wrap #expectations_container .expectations__entry_btn::after{
	font-family: "fontello";
    content: '\e800';
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.86);
	color: #4f8fc8;
	font-size: 120%;
	display: flex;
	align-items: center;
	justify-content: center;
}

@media screen and (max-width: 1200px){

	body.for_guardian #main_wrap #expectations_container .expectations__head h2{
	}

	body.for_guardian #main_wrap #expectations_container .expectations__head p{
	}

	body.for_guardian #main_wrap #expectations_container .expectations__head::after{
		margin-top: 24px;
	}

	body.for_guardian #main_wrap #expectations_container .expectations__block{
		margin-top: 52px;
	}

	body.for_guardian #main_wrap #expectations_container .expectations__block--with-image{
		gap: 24px;
	}

	body.for_guardian #main_wrap #expectations_container .expectations__text h3{
	}

	body.for_guardian #main_wrap #expectations_container .expectations__text p{
		margin-top: 24px;
	}

	body.for_guardian #main_wrap #expectations_container .expectations__text p + p{
		margin-top: 32px;
	}

	body.for_guardian #main_wrap #expectations_container .expectations__block--text{
		margin-top: 64px;
	}

	body.for_guardian #main_wrap #expectations_container .expectations__block--image-left{
		margin-top: 64px;
	}

	body.for_guardian #main_wrap #expectations_container .expectations__entry{
		padding-top: 56px;
	}

	body.for_guardian #main_wrap #expectations_container .expectations__entry_btn{
	}
}

@media screen and (max-width: 1023px){

	body.for_guardian.page-template-page-lp-link #main_wrap section#expectations_container{
		padding-top: 56px;
		padding-bottom: 64px;
	}

	body.for_guardian #main_wrap #expectations_container .expectations__inner{
		padding: 0 16px;
	}

	body.for_guardian #main_wrap #expectations_container .expectations__head h2{
	}

	body.for_guardian #main_wrap #expectations_container .expectations__head p{
		margin-top: 8px;
	}

	body.for_guardian #main_wrap #expectations_container .expectations__head::after{
		width: 72px;
		height: 4px;
		margin-top: 18px;
	}

	body.for_guardian #main_wrap #expectations_container .expectations__block{
		margin-top: 36px;
	}

	body.for_guardian #main_wrap #expectations_container .expectations__block--with-image{
		grid-template-columns: 1fr;
		gap: 24px;
	}

	body.for_guardian #main_wrap #expectations_container .expectations__block--image-left .expectations__text{
		max-width: 100%;
	}

	body.for_guardian #main_wrap #expectations_container .expectations__text {
	    max-width: 100%;
	}

	body.for_guardian #main_wrap #expectations_container .expectations__text h3{
        font-size: 144%;
	}

	body.for_guardian #main_wrap #expectations_container .expectations__text p{
		margin-top: 24px;
	}

	body.for_guardian #main_wrap #expectations_container .expectations__text p + p{
		margin-top: 24px;
	}

	body.for_guardian #main_wrap #expectations_container .expectations__block--text{
		margin-top: 44px;
	}

	body.for_guardian #main_wrap #expectations_container .expectations__block--image-left{
		margin-top: 44px;
	}

	body.for_guardian #main_wrap #expectations_container .expectations__entry{
		padding-top: 44px;
	}

	body.for_guardian #main_wrap #expectations_container .expectations__entry_btn{
		min-width: 272px;
		height: 72px;
		padding: 0 64px 0 32px;
	}

	body.for_guardian #main_wrap #expectations_container .expectations__entry_btn::after{
		width: 34px;
		height: 34px;
		font-size: 100%;
		right: 14px;
	}
}

@media screen and (min-width: 521px) and (max-width: 960px){

	body.for_guardian #main_wrap #expectations_container .expectations__text p{
        font-size: 80%;
    }

}

/*--------------------------------------------------------------------------
faq
--------------------------------------------------------------------------*/
body.faq.page-template-page-lp-link #contents_wrap > #main_wrap > :not(section){
    max-width: 100%;
}

body.faq.page-template-page-lp-link #main_wrap section > *{
    max-width: 100%;
    width: 100%;
}

/*--------------------------------------------------------------------------
faq / faq_nav
--------------------------------------------------------------------------*/
body.faq.page-template-page-lp-link #main_wrap nav#faq_nav{
	padding-top: 74px;
	padding-bottom: 64px;
	background: #fff;
}

body.faq #main_wrap #faq_nav .faq_nav__list{
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 20px;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

body.faq #main_wrap #faq_nav .faq_nav__item{
	margin: 0;
}

body.faq #main_wrap #faq_nav .faq_nav__link{
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 80px;
    padding: 0 64px 0 32px;
    border-radius: 999px;
    background: #f4f4f4;
    color: #333;
    font-weight: 700;
    font-size: 92%;
    line-height: 1.4;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease;
}

body.faq #main_wrap #faq_nav .faq_nav__link::after{
	content: "";
	position: absolute;
	right: 26px;
	top: 50%;
	width: 11px;
	height: 11px;
	border-right: 3px solid #2684e4;
	border-bottom: 3px solid #2684e4;
	transform: translateY(-68%) rotate(45deg);
}

body.faq #main_wrap #faq_nav .faq_nav__item.is-active .faq_nav__link{
	background: #2684e4;
	color: #fff;
}

body.faq #main_wrap #faq_nav .faq_nav__item.is-active .faq_nav__link::after{
	border-right-color: #fff;
	border-bottom-color: #fff;
}

body.faq #main_wrap #faq_nav .faq_nav__link:hover{
	background: #2684e4;
	color: #fff;
}

body.faq #main_wrap #faq_nav .faq_nav__link:hover::after{
	border-right-color: #fff;
	border-bottom-color: #fff;
}

@media screen and (max-width: 1200px){
	body.faq #main_wrap #faq_nav .faq_nav__list{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.faq #main_wrap #faq_nav .faq_nav__link{
	}
}

@media screen and (max-width: 1023px){
	body.faq.page-template-page-lp-link #main_wrap nav#faq_nav{
		padding-top: 56px;
		padding-bottom: 44px;
	}

	body.faq #main_wrap #faq_nav .faq_nav__list{
		padding: 0 16px;
		grid-template-columns: 1fr;
		gap: 12px;
	}

	body.faq #main_wrap #faq_nav .faq_nav__link{
		min-height: 64px;
		padding: 0 56px 0 24px;
		font-size: 100%;
	}

	body.faq #main_wrap #faq_nav .faq_nav__link::after{
		right: 20px;
		width: 9px;
		height: 9px;
		border-right-width: 2px;
		border-bottom-width: 2px;
	}
}

/*--------------------------------------------------------------------------
faq / faq_container
--------------------------------------------------------------------------*/
body.faq.page-template-page-lp-link #main_wrap section.faq_container{
	padding-top: 80px;
	padding-bottom: 80px;
	background: #fff;
}

body.faq.page-template-page-lp-link #main_wrap section#faq_assign_hr_container,
body.faq.page-template-page-lp-link #main_wrap section#faq_work_job_container{
	background: #f0f9fe;
}

body.faq #main_wrap .faq_container .faq_recruitment__inner{
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 20px;
}

body.faq #main_wrap .faq_container .faq_recruitment__head{
	text-align: center;
}

body.faq #main_wrap .faq_container .faq_recruitment__head h2{
	margin: 0;
	color: #333;
	font-weight: 700;
}

body.faq #main_wrap .faq_container .faq_recruitment__head h2::before,
body.faq #main_wrap .faq_container .faq_recruitment__head h2::after{
	display: none;
}

body.faq #main_wrap .faq_container .faq_recruitment__head::after{
	content: "";
	display: block;
	width: 96px;
	height: 6px;
	margin: 42px auto 0;
	background: #2684e4;
}

body.faq #main_wrap .faq_container .faq_recruitment__list{
	margin-top: 74px;
}

body.faq #main_wrap .faq_container details.faq_recruitment__item{
	margin: 0;
	padding: 0;
	border-radius: 24px;
	background: #f0f9fe;
    font-size: 100%;
	position: relative;
}

body.faq.page-template-page-lp-link #main_wrap section#faq_assign_hr_container.faq_container details.faq_recruitment__item,
body.faq.page-template-page-lp-link #main_wrap section#faq_work_job_container.faq_container details.faq_recruitment__item{
	background: #fff;
}

body.faq #main_wrap .faq_container details.faq_recruitment__item + details.faq_recruitment__item{
	margin-top: 18px;
}

body.faq #main_wrap .faq_container details.faq_recruitment__item::before,
body.faq #main_wrap .faq_container details.faq_recruitment__item::after{
	content: "";
	position: absolute;
	right: 42px;
	top: 48px;
	width: 30px;
	height: 2px;
	background: #2684e4;
	transform: none;
	pointer-events: none;
}

body.faq #main_wrap .faq_container details.faq_recruitment__item::after{
	transform: rotate(90deg);
	transition: opacity 0.2s ease;
}

body.faq #main_wrap .faq_container details.faq_recruitment__item[open]::after,
body.faq #main_wrap .faq_container details.faq_recruitment__item.open::after{
	opacity: 0;
}

body.faq #main_wrap .faq_container details.faq_recruitment__item .faq_recruitment__question{
	display: flex;
	align-items: center;
	min-height: 96px;
	padding: 24px 100px 24px 32px;
	font-weight: 700;
	color: #333;
}

body.faq #main_wrap .faq_container details.faq_recruitment__item summary.faq_recruitment__question{
	list-style: none;
	cursor: pointer;
}

body.faq #main_wrap .faq_container details.faq_recruitment__item summary.faq_recruitment__question::-webkit-details-marker{
	display: none;
}

body.faq #main_wrap .faq_container details.faq_recruitment__item .faq_recruitment__question .faq-label{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-right: 18px;
	min-width: 24px;
	color: #2684e4;
	font-size: 150%;
	font-weight: 700;
	line-height: 1;
}

body.faq #main_wrap .faq_container details.faq_recruitment__item .faq_recruitment__answer{
	display: none;
	padding: 4px 100px 34px 28px;
	color: #333;
	line-height: 1.72;
}

body.faq #main_wrap .faq_container details.faq_recruitment__item[open] .faq_recruitment__answer,
body.faq #main_wrap .faq_container details.faq_recruitment__item.open .faq_recruitment__answer{
	display: flex;
	align-items: flex-start;
}

body.faq #main_wrap .faq_container details.faq_recruitment__item .faq_recruitment__answer .faq-label{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-right: 18px;
	min-width: 24px;
	color: #8bc53f;
	font-size: 150%;
	font-weight: 700;
	line-height: 1;
}

body.faq #main_wrap .faq_container .faq_recruitment__answer_text p{
	margin: 0;
}

body.faq #main_wrap .faq_container .faq_recruitment__answer_text p + p{
	margin-top: 12px;
}

@media screen and (max-width: 1200px){
	body.faq #main_wrap .faq_container .faq_recruitment__head h2{
	}

	body.faq #main_wrap .faq_container .faq_recruitment__head::after{
		margin-top: 28px;
	}

	body.faq #main_wrap .faq_container .faq_recruitment__list{
		margin-top: 48px;
	}

	body.faq #main_wrap .faq_container details.faq_recruitment__item .faq_recruitment__question{
	}

	body.faq #main_wrap .faq_container details.faq_recruitment__item .faq_recruitment__answer{
	}
}

@media screen and (max-width: 1023px){
	body.faq.page-template-page-lp-link #main_wrap section.faq_container{
		padding-top: 14px;
		padding-bottom: 64px;
	}

	body.faq #main_wrap .faq_container .faq_recruitment__inner{
		padding: 0 16px;
	}

	body.faq #main_wrap .faq_container .faq_recruitment__head h2{
	}

	body.faq #main_wrap .faq_container .faq_recruitment__head::after{
		width: 72px;
		height: 4px;
		margin-top: 16px;
	}

	body.faq #main_wrap .faq_container .faq_recruitment__list{
		margin-top: 36px;
	}

	body.faq #main_wrap .faq_container details.faq_recruitment__item{
		border-radius: 16px;
	}

	body.faq #main_wrap .faq_container details.faq_recruitment__item + details.faq_recruitment__item{
		margin-top: 12px;
	}

	body.faq #main_wrap .faq_container details.faq_recruitment__item::before,
	body.faq #main_wrap .faq_container details.faq_recruitment__item::after{
		right: 16px;
		top: 32px;
		width: 24px;
	}

	body.faq #main_wrap .faq_container details.faq_recruitment__item .faq_recruitment__question{
		min-height: 64px;
		padding: 16px 52px 16px 16px;
        line-height: 1.4;
	}

	body.faq #main_wrap .faq_container details.faq_recruitment__item .faq_recruitment__question .faq-label{
		margin-right: 12px;
		min-width: 16px;
	}

	body.faq #main_wrap .faq_container details.faq_recruitment__item .faq_recruitment__answer{
		padding: 8px 52px 24px 16px;
    	font-size: 100%;
        position: relative;
        top: -4px;
	}

	body.faq #main_wrap .faq_container details.faq_recruitment__item .faq_recruitment__answer .faq-label{
		margin-right: 12px;
		min-width: 16px;
	}
}

@media screen and (min-width: 521px) and (max-width: 960px){

	body.faq #main_wrap .faq_container .faq_recruitment__answer_text p{
        font-size: 80%;
    }

}

/*--------------------------------------------------------------------------
career / career_nav
--------------------------------------------------------------------------*/
body.career.page-template-page-lp-link #contents_wrap > #main_wrap > :not(section){
    max-width: 100%;
}

body.career.page-template-page-lp-link #main_wrap section > *{
    max-width: 100%;
    width: 100%;
}

body.career #mainimage #career_nav{
    display: flex;
	background: #2a78d4;
    height: auto;
    width: 100%;
    position: absolute;
	bottom: 0;
	left: 0;
}

body.career #mainimage #career_nav .career_nav__list{
    display: flex;
	margin: 0;
	padding: 0;
    width: 100%;
	list-style: none;
}

body.career #mainimage #career_nav .career_nav__item{
	border-left: 1px solid rgba(255, 255, 255, 0.28);
	width: 20%;
}

body.career #mainimage #career_nav .career_nav__item:first-child{
	border-left: 0;
}

body.career #mainimage #career_nav .career_nav__link{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 76px;
	padding: 10px 16px;
	color: #fff;
	font-size: 120%;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
	transition: background-color 0.2s ease;
}

body.career #mainimage #career_nav .career_nav__link::after{
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: translateY(-2px) rotate(45deg);
}

body.career #mainimage #career_nav .career_nav__link:hover{
	background: rgba(255, 255, 255, 0.12);
}

body.career #mainimage #career_nav .career_nav__link:focus-visible{
	outline: 2px solid #fff;
	outline-offset: -2px;
}

@media screen and (max-width: 1023px){

	body.career #mainimage #career_nav .career_nav__item:nth-child(2n + 1){
		border-left: 0;
	}

	body.career #mainimage #career_nav .career_nav__item:nth-child(n + 3){
		border-top: 1px solid rgba(255, 255, 255, 0.28);
	}

	body.career #mainimage #career_nav .career_nav__link {
        min-height: 48px;
        width: 100%;
        font-size: 100%;
    }
}

@media screen and (min-width: 961px) and (max-width: 1296px){

	body.career #mainimage {
	    background-position: 32% top;
	}

	body.career #mainimage .catch_wrap {
    	top: 286px;
	    left: 4%;
	    padding: 32px;
        width: 576px;
	}

	body.career #mainimage .catch_wrap .catch {
	}

	body.career #mainimage #career_nav .career_nav__list{
		flex-direction: row;
	}

	body.career #mainimage #career_nav .career_nav__item{
        display: flex;
	    width: 100%;
		height: 100%;
		border-left: 0;
		border-top: 1px solid rgba(255, 255, 255, 0.28);
	}

	body.career #mainimage #career_nav .career_nav__item:first-child{
		border-top: 0;
	}
}

@media screen and (min-width: 521px) and (max-width: 960px){

	body.career #mainimage {
	    background-position: 32% top;
	}

	body.career #mainimage > *,
	body.career #mainimage::before {
	    height: 196px;
	}

	body.career #mainimage .catch_wrap {
    	top: 464px;
	    left: 4%;
	    padding: 32px;
        width: 576px;
	    font-size: 80%;
	}

	body.career #mainimage .catch_wrap .catch {
	    font-size: 136%;
	}

	body.career #mainimage #career_nav .career_nav__list{
		flex-direction: row;
	}

	body.career #mainimage #career_nav .career_nav__item{
        display: flex;
	    width: 100%;
		height: 100%;
		border-left: 0;
		border-top: 1px solid rgba(255, 255, 255, 0.28);
	}

	body.career #mainimage #career_nav .career_nav__item:first-child{
		border-top: 0;
	}
}

@media screen and (min-width: 521px) and (max-width: 664px){

	body.career #mainimage .catch_wrap {
	    width: 92%;
    	top: 264px;
	}

	body.career #mainimage #career_nav .career_nav__list{
		flex-direction: column;
	}
}

@media screen and (max-width: 520px){

	body.career #mainimage {
	    background-position: 32% top;
	}

	body.career #mainimage > *,
	body.career #mainimage::before {
	    height: 196px;
	}

	body.career #mainimage .catch_wrap {
    	top: 208px;
	    left: 4%;
	    padding: 32px;
	    width: 92%;
	    font-size: 80%;
	}

	body.career #mainimage .catch_wrap .catch {
	    font-size: 136%;
	}

	body.career #mainimage #career_nav .career_nav__list{
		flex-direction: column;
	}

	body.career #mainimage #career_nav .career_nav__item{
	    width: 100%;
		border-left: 0;
		border-top: 1px solid rgba(255, 255, 255, 0.28);
	}

	body.career #mainimage #career_nav .career_nav__item:first-child{
		border-top: 0;
	}
}

/*--------------------------------------------------------------------------
career / positions_container
--------------------------------------------------------------------------*/
body.career.page-template-page-lp-link #main_wrap section#positions_container{
	padding: 80px 0;
	background: #f0f9fe;
}

body.career #main_wrap #positions_container .positions_head{
	text-align: center;
}

body.career #main_wrap #positions_container .positions_head h2{

}

body.career #main_wrap #positions_container #general_career_container,
body.career #main_wrap #positions_container #clerical_container{
	width: min(1200px, calc(100% - 48px));
	margin: 74px auto 0;
}

body.career #main_wrap #positions_container #clerical_container{
	margin-top: 64px;
}

body.career #main_wrap #positions_container .positions_group__title{
    font-size: 200%;
	color: #2684e4;
}

body.career #main_wrap #positions_container h3.positions_group__title::before{
	display: none;
}

body.career #main_wrap #positions_container .positions_cards{
	margin-top: 36px;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

body.career #main_wrap #positions_container .positions_card{
    min-height: 200px;
    padding: 40px 24px;
	border-radius: 24px;
	background: #fff;
	text-align: center;
	box-sizing: border-box;
}

body.career #main_wrap #positions_container .positions_card h4{
	margin: 0;
    padding: 0;
    background: none;
    font-size: 136%;
}

body.career #main_wrap #positions_container .positions_card p{
	margin: 44px 0 0;
	color: #333;
    font-size: 88%;
	font-weight: 500;
}

body.career #main_wrap #positions_container .positions_card__btn{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 30px;
	min-width: 204px;
	height: 60px;
	padding: 0 62px 0 30px;
	border-radius: 999px;
	background: linear-gradient(90deg, #1b8fd6 0%, #21c1d4 100%);
	color: #fff;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	box-sizing: border-box;
	position: relative;
}

body.career #main_wrap #positions_container .positions_card__btn::after{
    content: "";
    font-family: "fontello";
    content: '\e800';
    position: absolute;
    right: 32px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #fff;
    color: #1a90d7;
    font-size: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

body.career #main_wrap #positions_container .positions_card__btn:hover{
	filter: brightness(1.05);
}

@media screen and (max-width: 1023px){

	body.career.page-template-page-lp-link #main_wrap section#positions_container{
		padding: 40px 0;
	}

	body.career #main_wrap #positions_container .positions_head h2::after{
        width: 72px;
        height: 4px;
        margin-top: 16px;
    	left: calc(50% - 36px);
    }

	body.career #main_wrap #positions_container #general_career_container,
	body.career #main_wrap #positions_container #clerical_container{
		width: calc(100% - 32px);
		margin-top: 52px;
	}

	body.career #main_wrap #positions_container #clerical_container{
		margin-top: 44px;
	}

	body.career #main_wrap #positions_container .positions_cards{
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px;
	}

	body.career #main_wrap #positions_container .positions_card{
		min-height: 200px;
		padding: 28px 16px 24px;
	}
}

@media screen and (min-width: 961px) and (max-width: 1296px){

    body.career #main_wrap #positions_container .positions_group__title {
        font-size: 152%;
    }
}

@media screen and (min-width: 521px) and (max-width: 960px){

    body.career #main_wrap #positions_container .positions_group__title {
        font-size: 152%;
    }
}

@media screen and (max-width: 520px){

	body.career #main_wrap #positions_container .positions_head::after{
		margin-top: 18px;
		height: 4px;
	}

	body.career #main_wrap #positions_container .positions_cards{
	    margin-top: 0;
		grid-template-columns: 1fr;
	}

    body.career #main_wrap #positions_container .positions_group__title {
        font-size: 136%;
    }

    body.career #main_wrap #positions_container .positions_card h4 {
        font-size: 128%;
    }

	body.career #main_wrap #positions_container .positions_card{
		min-height: 168px;
	}

	body.career #main_wrap #positions_container .positions_card p{
		margin-top: 24px;
	}

	body.career #main_wrap #positions_container .positions_card__btn{
		min-width: 184px;
		height: 54px;
		padding: 0 54px 0 24px;
	}
}

/*--------------------------------------------------------------------------
career / positions_flow_container
--------------------------------------------------------------------------*/
body.career #main_wrap #positions_container #positions_flow_container{
	width: min(1200px, calc(100% - 48px));
	margin: 56px auto 0;
}

body.career #main_wrap #positions_container #positions_flow_container .positions_flow__inner{
	background: #fff;
	border-radius: 32px;
	padding: 56px 56px 72px;
	box-sizing: border-box;
}

body.career #main_wrap #positions_container #positions_flow_container .positions_flow__block{
	display: grid;
	grid-template-columns: 72px 1fr;
	gap: 24px;
}

body.career #main_wrap #positions_container #positions_flow_container .positions_flow__block + .positions_flow__block{

}

body.career #main_wrap #positions_container #positions_flow_container .positions_flow__num{
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: #2684e4;
	color: #fff;
    font-size: 144%;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.02em;
	display: flex;
	align-items: center;
	justify-content: center;
}

body.career #main_wrap #positions_container #positions_flow_container .positions_flow__content h3{
	margin: 8px 0 0;
	font-size: 160%;
}

body.career #main_wrap #positions_container #positions_flow_container .positions_flow__content h3::before{
	display: none;
}

body.career #main_wrap #positions_container #positions_flow_container .positions_flow__deflist{
	margin-top: 20px;
	display: grid;
	gap: 28px;
}

body.career #main_wrap #positions_container #positions_flow_container .positions_flow__defitem h4{
	display: inline-block;
	margin: 0;
	padding: 8px 16px;
	min-width: 160px;
	border-radius: 4px;
	background: #2684e4;
    font-weight: 400;
	color: #fff;
	line-height: 1;
	text-align: center;
}

body.career #main_wrap #positions_container #positions_flow_container .positions_flow__defitem p{
	margin: 16px 0 0;
	color: #333;
    font-size: 88%;
}

body.career #main_wrap #positions_container #positions_flow_container .positions_flow__defitem ul{
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
}

body.career #main_wrap #positions_container #positions_flow_container .positions_flow__defitem ul li{
	margin: 0;
	color: #333;
	font-size: 88%;
}

body.career #main_wrap #positions_container #positions_flow_container .positions_flow__defitem ul li::before{
	content: "・";
}

body.career #main_wrap #positions_container #positions_flow_container .positions_flow__defitem .positions_flow__note{
	margin-top: 16px;
    color: #333;
    font-size: 76%;
    line-height: 1;
}

body.career #main_wrap #positions_container #positions_flow_container .positions_flow__steps{
	margin: 30px 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 16px;
}

body.career #main_wrap #positions_container #positions_flow_container .positions_flow__step{
	position: relative;
	background: #f0f9fe;
	border-radius: 16px;
	padding: 40px 8px 24px;
	min-height: 212px;
	text-align: center;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
}

body.career #main_wrap #positions_container #positions_flow_container .positions_flow__step::after{
	content: "";
	position: absolute;
	top: 50%;
	right: -16px;
	width: 16px;
	height: 28px;
	transform: translateY(-50%);
	background: #4bc6de;
}

body.career #main_wrap #positions_container #positions_flow_container .positions_flow__step:nth-child(6)::before{
	content: "";
	position: absolute;
	top: 50%;
    left: -8px;
    width: 24px;
    height: 80px;
	transform: translateY(-50%);
	background: #4bc6de;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    z-index: 1;
}

body.career #main_wrap #positions_container #positions_flow_container .positions_flow__step img{
	display: block;
	width: 58px;
	height: 58px;
	object-fit: contain;
}

body.career #main_wrap #positions_container #positions_flow_container .positions_flow__step:nth-child(1) img{
	width: 42px;
	height: 58px;
}

body.career #main_wrap #positions_container #positions_flow_container .positions_flow__step:nth-child(5) img{
	width: 64px;
	height: 58px;
}

body.career #main_wrap #positions_container #positions_flow_container .positions_flow__step:nth-child(6) img{
	width: 72px;
	height: 58px;
}

body.career #main_wrap #positions_container #positions_flow_container .positions_flow__step h4{
	margin: 8px 0 0;
	color: #333;
    background: none;
}

body.career #main_wrap #positions_container #positions_flow_container .positions_flow__step p{
	margin: 0;
	color: #333;
	font-size: 80%;
	line-height: 1.6;
}

body.career #main_wrap #positions_container #positions_flow_container .positions_flow__entry{
	margin-top: 48px;
	text-align: center;
}

body.career #main_wrap #positions_container #positions_flow_container .positions_flow__entry_btn{
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 76px;
    min-width: 372px;
    font-size: 144%;
    padding: 0 80px 0 48px;
    border-radius: 999px;
    background: linear-gradient(90deg, #1989d8 0%, #22b7d2 100%);
    color: #fff;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
}

body.career #main_wrap #positions_container #positions_flow_container .positions_flow__entry_btn::after{
    content: "";
	font-family: "fontello";
    content: '\e800';
    position: absolute;
    right: 32px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #fff;
    color: #1a90d7;
    font-size: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media screen and (max-width: 1200px){
	body.career #main_wrap #positions_container #positions_flow_container .positions_flow__inner{
		padding: 44px 28px 56px;
	}

	body.career #main_wrap #positions_container #positions_flow_container .positions_flow__content h3{
	}

	body.career #main_wrap #positions_container #positions_flow_container .positions_flow__steps{
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	body.career #main_wrap #positions_container #positions_flow_container .positions_flow__step:not(:last-child)::after{
		display: none;
	}
}

@media screen and (max-width: 767px){

	body.career #main_wrap #positions_container #positions_flow_container{
		width: calc(100% - 32px);
		margin-top: 40px;
	}

	body.career #main_wrap #positions_container #positions_flow_container .positions_flow__inner{
		padding: 32px 16px 40px;
		border-radius: 20px;
	}

	body.career #main_wrap #positions_container #positions_flow_container .positions_flow__block{
		grid-template-columns: 56px 1fr;
		gap: 14px;
	}

	body.career #main_wrap #positions_container #positions_flow_container .positions_flow__num{
		width: 56px;
		height: 56px;
	}

	body.career #main_wrap #positions_container #positions_flow_container .positions_flow__content h3{

	}

	body.career #main_wrap #positions_container #positions_flow_container .positions_flow__defitem h4{
		min-width: 132px;
		padding: 8px 12px;
	}

	body.career #main_wrap #positions_container #positions_flow_container .positions_flow__defitem p,
	body.career #main_wrap #positions_container #positions_flow_container .positions_flow__defitem ul li{
	}

	body.career #main_wrap #positions_container #positions_flow_container .positions_flow__steps{
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	body.career #main_wrap #positions_container #positions_flow_container .positions_flow__step{
		min-height: 164px;
		padding: 18px 8px 14px;
	}

	body.career #main_wrap #positions_container #positions_flow_container .positions_flow__step img{
		width: 52px;
		height: 52px;
	}

	body.career #main_wrap #positions_container #positions_flow_container .positions_flow__step h4{
	}

	body.career #main_wrap #positions_container #positions_flow_container .positions_flow__step p{
	}

	body.career #main_wrap #positions_container #positions_flow_container .positions_flow__entry_btn{
		min-width: 260px;
		height: 62px;
		padding: 0 64px 0 28px;
	}
}

@media screen and (min-width: 521px) and (max-width: 960px){

	body.career #main_wrap #positions_container #positions_flow_container .positions_flow__step:nth-child(6)::before{
		display: none;
	}
}

@media screen and (max-width: 520px){

	body.career #main_wrap #positions_container #positions_flow_container .positions_flow__inner {
        display: flex;
        flex-direction: column;
        gap: 24px;
	}

	body.career #main_wrap #positions_container #positions_flow_container .positions_flow__num {
        width: 48px;
        height: 48px;
    }

	body.career #main_wrap #positions_container #positions_flow_container .positions_flow__content h3 {
	    font-size: 128%;
        text-align: center;
	}

	body.career #main_wrap #positions_container #positions_flow_container .positions_flow__block {
        grid-template-columns: 1fr;
        gap: 0;
        padding: 0;
    }

	body.career #main_wrap #positions_container #positions_flow_container .positions_flow__defitem .positions_flow__note {
	    font-size: 80%;
	    line-height: 1.6;
	}

	body.career #main_wrap #positions_container #positions_flow_container .positions_flow__steps {
        grid-template-columns: 1fr;
        gap: 8px;
		margin: 8px 0 0;
    }

	body.career #main_wrap #positions_container #positions_flow_container .positions_flow__step h4 {
		margin: 8px 0 0;
	}

	body.career #main_wrap #positions_container #positions_flow_container .positions_flow__step {
        min-height: 120px;
        padding: 16px 8px;
    }

	body.career #main_wrap #positions_container #positions_flow_container .positions_flow__step:nth-child(6)::before{
		display: none;
	}

	body.career #main_wrap #positions_container #positions_flow_container .positions_flow__entry {
	    margin-top: 8px;
	}


}


/*--------------------------------------------------------------------------
career / requirements_container
--------------------------------------------------------------------------*/
body.career.page-template-page-lp-link #contents_wrap > #main_wrap > :not(section){
    max-width: 100%;
}

body.career.page-template-page-lp-link #main_wrap section > *{
    max-width: 100%;
    width: 100%;
}

body.career.page-template-page-lp-link #contents_wrap > #main_wrap > :not(section){
	max-width: 100%;
	width: 100%;
}

body.career.page-template-page-lp-link #main_wrap section#requirements_container{
	padding-top: 84px;
	padding-bottom: 96px;
	background: #fff;
}

body.career #main_wrap #requirements_container .requirements__inner{
	max-width: 1220px;
	margin: 0 auto;
	padding: 0 20px;
}

body.career #main_wrap #requirements_container .requirements__head{
	text-align: center;
}

body.career #main_wrap #requirements_container .requirements__head h2{
	margin: 0;
	color: #333;
}

body.career #main_wrap #requirements_container .requirements__head h2::before,
body.career #main_wrap #requirements_container .requirements__head h2::after{
	display: none;
}

body.career #main_wrap #requirements_container .requirements__head::after{
	content: "";
	display: block;
	width: 96px;
	height: 6px;
	margin: 28px auto 0;
	background: #2684e4;
}





body.career #main_wrap #requirements_container .requirements__table{
	margin-top: 76px;
	display: grid;
	gap: 16px;
    font-size: 88%;
}

body.career #main_wrap #requirements_container .requirements__row{
	display: grid;
	grid-template-columns: 210px minmax(0, 1fr);
    gap: 2px;
	background: #fff;
}

body.career #main_wrap #requirements_container .requirements__th{
    padding: 24px;
    background: #f0f9fe;
    color: #333;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: left;
    text-align: left;
}

body.career #main_wrap #requirements_container .requirements__td{
	padding: 24px 30px 20px;
	color: #333;
    background: #f7f7f7;
}

body.career #main_wrap #requirements_container .requirements__td p{
	margin: 0;
}

body.career #main_wrap #requirements_container .requirements__td p + p{
	margin-top: 12px;
}

body.career #main_wrap #requirements_container .requirements__td .is-strong{
	margin-top: 18px;
	font-weight: 700;
}

body.career #main_wrap #requirements_container .requirements__td .is-strong-sub{
	margin-top: 8px;
	font-weight: 700;
}

body.career #main_wrap #requirements_container .requirements__td .is-note{
	margin-top: 14px;
	font-size: 88%;
	line-height: 1.7;
}

body.career #main_wrap #requirements_container .requirements__td a{
	color: #2684e4;
	text-decoration: underline;
	text-underline-offset: 2px;
}

body.career #main_wrap #requirements_container .requirements__ratio{
	margin-top: 14px;
	max-width: 620px;
}

body.career #main_wrap #requirements_container .requirements__ratio table{
	width: 100%;
	border-collapse: collapse;
	background: #fff;
}

body.career #main_wrap #requirements_container .requirements__ratio th,
body.career #main_wrap #requirements_container .requirements__ratio td{
	padding: 12px 16px;
	border: 1px solid #e8e8e8;
    background: none;
	color: #333;
	font-size: 100%;
	font-weight: 400;
	line-height: 1.4;
	text-align: center;
	white-space: nowrap;
}

body.career #main_wrap #requirements_container .requirements__ratio thead th:first-child,
body.career #main_wrap #requirements_container .requirements__ratio tbody th{
	text-align: left;
	font-weight: 400;
	white-space: normal;
	width: 80%;
}

@media screen and (max-width: 1200px){

	body.career #main_wrap #requirements_container .requirements__head h2{
	}

	body.career #main_wrap #requirements_container .requirements__row{
		grid-template-columns: 180px minmax(0, 1fr);
	}

	body.career #main_wrap #requirements_container .requirements__th{
	}

	body.career #main_wrap #requirements_container .requirements__td{
	}

	body.career #main_wrap #requirements_container .requirements__ratio th,
	body.career #main_wrap #requirements_container .requirements__ratio td{
		padding: 10px 12px;
	}
}

@media screen and (max-width: 1023px){

	body.career.page-template-page-lp-link #main_wrap section#requirements_container{
		padding-top: 58px;
		padding-bottom: 72px;
	}

	body.career #main_wrap #requirements_container .requirements__inner{
		padding: 0 16px;
	}

	body.career #main_wrap #requirements_container .requirements__head h2{
		font-size: 320%;
		line-height: 1.45;
	}

	body.career #main_wrap #requirements_container .requirements__head::after{
		width: 72px;
		height: 4px;
		margin-top: 16px;
	}

	body.career #main_wrap #requirements_container .requirements__table{
		margin-top: 38px;
		gap: 12px;
		font-size: 80%;
	}

	body.career #main_wrap #requirements_container .requirements__row{
		grid-template-columns: 1fr;
	}

	body.career #main_wrap #requirements_container .requirements__th{
		padding: 16px;
		justify-content: flex-start;
	}

	body.career #main_wrap #requirements_container .requirements__td{
		padding: 16px;
	}

	body.career #main_wrap #requirements_container .requirements__td .is-note{
		font-size: 100%;
	}

	body.career #main_wrap #requirements_container .requirements__ratio{
		overflow-x: auto;
	}

	body.career #main_wrap #requirements_container .requirements__ratio table{
		min-width: 520px;
	}
}

@media screen and (min-width: 521px) and (max-width: 960px){

	body.career #main_wrap #requirements_container .requirements__table{
		font-size: 80%;
	}

	body.career #main_wrap #requirements_container .requirements__ratio tbody th {
	    width: 36%;
	}

}

@media screen and (max-width: 520px){

	body.career #main_wrap #requirements_container .requirements__table{
		font-size: 100%;
	}

	body.career #main_wrap #requirements_container .requirements__ratio th,
	body.career #main_wrap #requirements_container .requirements__ratio td{
		white-space: normal;
	}

	body.career #main_wrap #requirements_container .requirements__ratio.is-transposed{
		overflow-x: visible;
	}

	body.career #main_wrap #requirements_container .requirements__ratio.is-transposed table{
		width: 100%;
		min-width: 0;
	}

	body.career #main_wrap #requirements_container .requirements__ratio.is-transposed thead th:first-child,
	body.career #main_wrap #requirements_container .requirements__ratio.is-transposed tbody th{
		width: auto;
		white-space: nowrap;
	}
}



/*--------------------------------------------------------------------------
career / referral_container
--------------------------------------------------------------------------*/
body.career.page-template-page-lp-link #main_wrap section#referral_container{
	padding: 80px 0;
	background: #e9f1f8;
}

body.career #main_wrap #referral_container .referral__head{
	text-align: center;
}


/* 右画像レイアウト
--------------------------------------------------------------------------*/
body.career.page-template-page-lp-link #main_wrap .right_img_container{
	margin-top: 80px;
	padding-top: 0;
	padding-bottom: 0;
}

body.career.page-template-page-lp-link #main_wrap .right_img_container > .right_img_container__inner{
	display: grid;
	grid-template-columns: minmax(0, 53%) minmax(0, 47%);
	width: 100%;
	max-width: 100%;
}

body.career .right_img_container .right_img_container__content{
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
	background: #2684e4;
	padding: 120px;
	color: #fff;
}

body.career #main_wrap .right_img_container .right_img_container__title{
	margin: 0 0 30px;
	display: flex;
    flex-wrap: wrap;
    align-items: baseline;
	gap: 0 16px;
	color: #fff;
    font-size: 216%;
    font-weight: 500;
}

body.career #main_wrap .right_img_container .right_img_container__title::before,
body.career #main_wrap .right_img_container .right_img_container__title::after{
	display: none;
}

body.career .right_img_container .right_img_container__title .ja{
	color: #fff;
}

body.career .right_img_container .right_img_container__title .en{
	font-size: 48%;
    font-weight: 500;
	color: #fff;
}

body.career #contents_wrap .right_img_container .right_img_container__content p{
	margin: 0;
    margin-bottom: 1.6em;
	color: #fff;
}

body.career #contents_wrap .right_img_container .right_img_container__content p + p{
	margin-top: 24px;
}

body.career .right_img_container .right_img_container__image{
	min-height: 520px;
}

body.career #main_wrap .right_img_container .right_img_container__image img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media screen and (max-width: 1200px) {
	body.career .right_img_container .right_img_container__content{
		padding: 72px 56px;
	}

	body.career .right_img_container .right_img_container__title .ja{
	}

	body.career .right_img_container .right_img_container__title .en{
		font-size: 64%;
	}

	body.career #contents_wrap .right_img_container .right_img_container__content p{
	}
}

@media screen and (max-width: 1023px) {
	body.career.page-template-page-lp-link #main_wrap .right_img_container > .right_img_container__inner{
		grid-template-columns: 1fr;
	}

	body.career .right_img_container .right_img_container__content{
		order: 2;
		padding: 48px 24px;
	}

	body.career .right_img_container .right_img_container__image{
		order: 1;
		min-height: 300px;
	}

	body.career .right_img_container .right_img_container__title .ja{
	}

	body.career .right_img_container .right_img_container__title .en{
		font-size: 64%;
	}

	body.career #contents_wrap .right_img_container .right_img_container__content p{
	}
}

@media screen and (max-width: 767px) {
	body.career .right_img_container .right_img_container__title .ja{
	}

	body.career .right_img_container .right_img_container__title .en{
	}

	body.career #contents_wrap .right_img_container .right_img_container__content p{
	}
}

@media screen and (min-width: 521px) and (max-width: 960px){

	body.career #main_wrap .right_img_container .right_img_container__title {
	    font-size: 144%;
	}


	body.career #contents_wrap .right_img_container .right_img_container__content p{
	    font-size: 80%;
	}

}

@media screen and (max-width: 520px) {

	body.career #main_wrap .right_img_container .right_img_container__title {
	    font-size: 128%;
	}

}

/* 下部
--------------------------------------------------------------------------*/
body.career #main_wrap #referral_container .referral__entry_lead{
	margin-top: 88px;
	text-align: center;
}

body.career #main_wrap #referral_container .referral__entry_lead p{
	margin: 0;
	color: #333;
	font-weight: 700;
}

body.career #main_wrap #referral_container .referral__entry{
	margin-top: 54px;
	text-align: center;
}

body.career #main_wrap #referral_container .referral__entry_btn{
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 76px;
    min-width: 372px;
    font-size: 144%;
    padding: 0 80px 0 48px;
    border-radius: 999px;
    background: linear-gradient(90deg, #1989d8 0%, #22b7d2 100%);
    color: #fff;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
}

body.career #main_wrap #referral_container .referral__entry_btn::after{
    content: "";
	font-family: "fontello";
    content: '\e800';
    position: absolute;
    right: 32px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #fff;
    color: #1a90d7;
    font-size: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

body.career #main_wrap #referral_container .referral__entry_btn:hover{
	filter: brightness(1.05);
}

body.career #main_wrap #referral_container .referral__entry_text{
	display: flex;
	gap: 4%;
    justify-content: center;
    margin: 40px 0;
}

body.career #main_wrap #referral_container .referral__entry_text .inquiry__office{
    background: #fff;
    padding: 64px;
    border-radius: 24px;
    text-align: center;
}

body.career #contents_wrap #main_wrap #referral_container .referral__entry_text h3 {
    margin-bottom: 0;
	font-size: 160%;
}

body.career #contents_wrap #main_wrap #referral_container .referral__entry_text h3::before{
	display: none;
}

body.career #contents_wrap #main_wrap #referral_container .referral__entry_text p.inquiry__region{
	margin-top: 0;
    margin-bottom: 16px;
    font-size: 92%;
    font-weight: bold;
}

body.career #contents_wrap #main_wrap #referral_container .referral__entry_text p{
	margin-bottom: 0;
    word-break: auto-phrase;
}

@media screen and (max-width: 1296px){

	body.career #main_wrap #referral_container .referral__entry_lead{
	    padding: 0 4%
	}

	body.career #main_wrap #referral_container .referral__entry_text {
	    padding: 0 4%
	}
}

@media screen and (max-width: 1200px){

	body.career #main_wrap #referral_container .referral__entry_lead p{
	}
}

@media screen and (max-width: 1023px){


	body.career #main_wrap #referral_container .referral__entry_lead{
		margin-top: 44px;
	}

	body.career #main_wrap #referral_container .referral__entry_lead p{
		line-height: 1.75;
	}

	body.career #main_wrap #referral_container .referral__entry{
		margin-top: 36px;
	}

	body.career #main_wrap #referral_container .referral__entry_btn{
		min-width: 290px;
		height: 64px;
		padding: 0 68px 0 28px;
	}
}

@media screen and (min-width: 521px) and (max-width: 960px){

	body.career #main_wrap #referral_container .referral__entry_text{
        flex-direction: column;
        gap: 24px 0;
	}

	body.career #main_wrap #referral_container .referral__entry_text .inquiry__office{
    	padding: 40px;
	}

	body.career #main_wrap #referral_container .referral__entry_btn{
        font-size: 120%;
	}
}

@media screen and (max-width: 520px) {

	body.career #main_wrap #referral_container .referral__entry_text{
        flex-direction: column;
        gap: 24px 0;
	}

	body.career #main_wrap #referral_container .referral__entry_text .inquiry__office{
    	padding: 40px;
	}

    body.career #main_wrap #referral_container .referral__entry_lead {
        padding: 0 4%;
        font-size: 120%;
    }

}

/*--------------------------------------------------------------------------
career / faq_container
--------------------------------------------------------------------------*/
body.career.page-template-page-lp-link #main_wrap section.faq_container{
	padding-top: 80px;
	padding-bottom: 80px;
	background: #fff;
}

body.career.page-template-page-lp-link #main_wrap section#faq_assign_hr_container,
body.career.page-template-page-lp-link #main_wrap section#faq_work_job_container{
	background: #f0f9fe;
}

body.career #main_wrap .faq_container .faq_recruitment__inner{
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 20px;
}

body.career #main_wrap .faq_container .faq_recruitment__head{
	text-align: center;
}

body.career #main_wrap .faq_container .faq_recruitment__head h2{
	margin: 0;
	color: #333;
	font-weight: 700;
}

body.career #main_wrap .faq_container .faq_recruitment__head h2::before,
body.career #main_wrap .faq_container .faq_recruitment__head h2::after{
	display: none;
}

body.career #main_wrap .faq_container .faq_recruitment__head::after{
	content: "";
	display: block;
	width: 96px;
	height: 6px;
	margin: 42px auto 0;
	background: #2684e4;
}

body.career #main_wrap .faq_container .faq_recruitment__list{
	margin-top: 74px;
}

body.career #main_wrap .faq_container details.faq_recruitment__item{
	margin: 0;
	padding: 0;
	border-radius: 24px;
	background: #f0f9fe;
    font-size: 100%;
	position: relative;
}

body.career.page-template-page-lp-link #main_wrap section#faq_assign_hr_container.faq_container details.faq_recruitment__item,
body.career.page-template-page-lp-link #main_wrap section#faq_work_job_container.faq_container details.faq_recruitment__item{
	background: #fff;
}

body.career #main_wrap .faq_container details.faq_recruitment__item + details.faq_recruitment__item{
	margin-top: 18px;
}

body.career #main_wrap .faq_container details.faq_recruitment__item::before,
body.career #main_wrap .faq_container details.faq_recruitment__item::after{
	content: "";
	position: absolute;
	right: 42px;
	top: 48px;
	width: 30px;
	height: 2px;
	background: #2684e4;
	transform: none;
	pointer-events: none;
}

body.career #main_wrap .faq_container details.faq_recruitment__item::after{
	transform: rotate(90deg);
	transition: opacity 0.2s ease;
}

body.career #main_wrap .faq_container details.faq_recruitment__item[open]::after,
body.career #main_wrap .faq_container details.faq_recruitment__item.open::after{
	opacity: 0;
}

body.career #main_wrap .faq_container details.faq_recruitment__item .faq_recruitment__question{
	display: flex;
	align-items: center;
	min-height: 96px;
	padding: 24px 100px 24px 32px;
	font-weight: 700;
	color: #333;
}

body.career #main_wrap .faq_container details.faq_recruitment__item summary.faq_recruitment__question{
	list-style: none;
	cursor: pointer;
}

body.career #main_wrap .faq_container details.faq_recruitment__item summary.faq_recruitment__question::-webkit-details-marker{
	display: none;
}

body.career #main_wrap .faq_container details.faq_recruitment__item .faq_recruitment__question .faq-label{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-right: 18px;
	min-width: 24px;
	color: #2684e4;
	font-size: 150%;
	font-weight: 700;
	line-height: 1;
}

body.career #main_wrap .faq_container details.faq_recruitment__item .faq_recruitment__answer{
	display: none;
	padding: 4px 100px 34px 28px;
	color: #333;
	line-height: 1.72;
}

body.career #main_wrap .faq_container details.faq_recruitment__item[open] .faq_recruitment__answer,
body.career #main_wrap .faq_container details.faq_recruitment__item.open .faq_recruitment__answer{
	display: flex;
	align-items: flex-start;
}

body.career #main_wrap .faq_container details.faq_recruitment__item .faq_recruitment__answer .faq-label{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-right: 18px;
	min-width: 24px;
	color: #8bc53f;
	font-size: 150%;
	font-weight: 700;
	line-height: 1;
}

body.career #main_wrap .faq_container .faq_recruitment__answer_text p{
	margin: 0;
}

body.career #main_wrap .faq_container .faq_recruitment__answer_text p + p{
	margin-top: 12px;
}

body.career #main_wrap .faq__entry_lead p {
    margin: 80px 0 0;
    color: #333;
    font-weight: 700;
    text-align: center;
}

@media screen and (max-width: 1200px){
	body.career #main_wrap .faq_container .faq_recruitment__head h2{
	}

	body.career #main_wrap .faq_container .faq_recruitment__head::after{
		margin-top: 28px;
	}

	body.career #main_wrap .faq_container .faq_recruitment__list{
		margin-top: 48px;
	}

	body.career #main_wrap .faq_container details.faq_recruitment__item .faq_recruitment__question{
	}

	body.career #main_wrap .faq_container details.faq_recruitment__item .faq_recruitment__answer{
	}
}

@media screen and (max-width: 1023px){
	body.career.page-template-page-lp-link #main_wrap section.faq_container{
		padding-top: 14px;
		padding-bottom: 64px;
	}

	body.career #main_wrap .faq_container .faq_recruitment__inner{
		padding: 0 16px;
	}

	body.career #main_wrap .faq_container .faq_recruitment__head h2{
	}

	body.career #main_wrap .faq_container .faq_recruitment__head::after{
		width: 72px;
		height: 4px;
		margin-top: 16px;
	}

	body.career #main_wrap .faq_container .faq_recruitment__list{
		margin-top: 36px;
	}

	body.career #main_wrap .faq_container details.faq_recruitment__item{
		border-radius: 16px;
	}

	body.career #main_wrap .faq_container details.faq_recruitment__item + details.faq_recruitment__item{
		margin-top: 12px;
	}

	body.career #main_wrap .faq_container details.faq_recruitment__item::before,
	body.career #main_wrap .faq_container details.faq_recruitment__item::after{
		right: 16px;
		top: 32px;
		width: 24px;
	}

	body.career #main_wrap .faq_container details.faq_recruitment__item .faq_recruitment__question{
		min-height: 64px;
		padding: 16px 52px 16px 16px;
        line-height: 1.4;
	}

	body.career #main_wrap .faq_container details.faq_recruitment__item .faq_recruitment__question .faq-label{
		margin-right: 12px;
		min-width: 16px;
	}

	body.career #main_wrap .faq_container details.faq_recruitment__item .faq_recruitment__answer{
		padding: 8px 52px 24px 16px;
    	font-size: 100%;
        position: relative;
        top: -4px;
	}

	body.career #main_wrap .faq_container details.faq_recruitment__item .faq_recruitment__answer .faq-label{
		margin-right: 12px;
		min-width: 16px;
	}
}

@media screen and (min-width: 521px) and (max-width: 960px){

	body.career #main_wrap .faq_container .faq_recruitment__answer_text p{
        font-size: 80%;
    }

}

/*--------------------------------------------------------------------------
internship / program modal
--------------------------------------------------------------------------*/
body.internship-program-modal-open{
	overflow: hidden;
}

body.internship #main_wrap .internship_program_modal{
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: none;
}

body.internship #main_wrap .internship_program_modal.is-open{
	display: block;
}

body.internship #main_wrap .internship_program_modal__backdrop{
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.72);
}

body.internship #main_wrap .internship_program_modal__dialog{
	position: relative;
	max-width: 1200px;
	width: 92%;
	max-height: calc(100vh - 24px);
	margin: 12px auto;
	background: #fff;
	border-radius: 24px;
	overflow: hidden;
	box-sizing: border-box;
}

body.internship #main_wrap .internship_program_modal__body{
	max-height: calc(100vh - 24px);
	overflow-y: auto;
	padding: 32px 4%;
	background: #fff;
}

body.internship #main_wrap .internship_program_modal__body::-webkit-scrollbar{
	width: 10px;
}

body.internship #main_wrap .internship_program_modal__body::-webkit-scrollbar-track{
	background: #edf1f5;
}

body.internship #main_wrap .internship_program_modal__body::-webkit-scrollbar-thumb{
	background: #8aa4bf;
	border-radius: 999px;
	border: 2px solid #edf1f5;
}

body.internship #main_wrap .internship_program_modal__close{
	position: absolute;
	top: 0;
	right: 0;
	width: 56px;
	height: 56px;
	background: #2b82db;
	border: 0;
	color: #fff;
	font-size: 200%;
	line-height: 1;
	cursor: pointer;
	z-index: 2;
}

body.internship #main_wrap .internship_program_modal__head{

}

body.internship #main_wrap .internship_program_modal__body h3{
    margin: 0;
    color: #333;
    font-size: 264%;
    font-weight: 700;
    line-height: 1.35;
    text-align: center;
    letter-spacing: 0.03em;
    margin-bottom: 40px;
}

body.internship #main_wrap .internship_program_modal__body h3::before{
	display: none;
}

body.internship #main_wrap .internship_program_modal__body h3::after {
    content: "";
    display: block;
    width: 96px;
    height: 6px;
    margin: 28px auto 0;
    background: #2684e4;
}

body.internship #main_wrap .internship_program_modal__head p{
	margin: 24px 0 40px;
	color: #2684e4;
	font-size: 160%;
    font-weight: 500;
    line-height: 1.6;
}

body.internship #main_wrap .internship_program_modal__head + p{
	font-size: 88%;
}

body.internship #main_wrap .internship_program_modal__steps{
	margin-top: 24px;
	display: grid;
	gap: 10px;
}

body.internship #main_wrap .internship_program_modal__step{
    display: flex;
    align-items: center;
	background: #eef7fd;
	border-radius: 16px;
    padding: 24px;
    gap: 24px;
}

body.internship #main_wrap .internship_program_modal__step div.step{
    display: inline-block;
    align-self: flex-start;
    min-width: 112px;
    padding: 0px 16px;
    border-radius: 12px;
    background: #2684e4;
    color: #fff;
    font-size: 96%;
    font-weight: 500;
    line-height: 1.6;
    white-space: nowrap;
    text-align: center;
    letter-spacing: 0.04em;
}

body.internship #main_wrap .internship_program_modal__step span{
    font-size: 160%;
    font-weight: 500;
	color: #fff;
}

body.internship #main_wrap .internship_program_modal__step p{
	margin: 8px 0 0;
	color: #333;
	font-size: 82%;
	line-height: 1.7;
}

body.internship #main_wrap .internship_program_modal__report,
body.internship #main_wrap .internship_program_modal__overview{
	margin-top: 24px;
}

body.internship #main_wrap .internship_program_modal__overview{
    padding-bottom: 0;
}

body.internship #main_wrap .internship_program_modal__report a{
	display: block;
	margin-top: 12px;
}

body.internship #main_wrap .internship_program_modal__report a img{
	display: block;
	width: 100%;
	height: auto;
}

body.internship #main_wrap .internship_program_modal__table{
	margin-top: 16px;
	border-radius: 0;
}

body.internship #main_wrap .internship_program_modal__table .requirements__row{
	display: grid;
	grid-template-columns: 28% 1fr;
}

body.internship #main_wrap .internship_program_modal__table .requirements__row + .requirements__row{
	margin-top: 8px;
}

body.internship #main_wrap .internship_program_modal__table .requirements__th{
	background: #eaf3f9;
	padding: 16px 14px;
	color: #333;
	font-size: 86%;
	font-weight: 700;
	line-height: 1.6;
	display: flex;
	align-items: center;
}

body.internship #main_wrap .internship_program_modal__table .requirements__td{
	background: #f4f6f8;
	padding: 16px 14px;
	color: #333;
}

body.internship #main_wrap .internship_program_modal__table .requirements__td p{
	margin: 0;
	font-size: 80%;
	line-height: 1.8;
	margin-top: 16px;
}

body.internship #main_wrap .internship_program_modal__table .requirements__td p:first-of-type{
	margin-top: 0;
}

body.internship #main_wrap .internship_program_modal__body .entry_wrap{
	margin-bottom: 80px;
}


.requirements__td li {
    font-size: 80%;
    padding: 2px 8px 10px 8px;
}

@media screen and (min-width: 1024px){

	body.internship #main_wrap .internship_program_modal__dialog{
		margin-top: 40px;
		margin-bottom: 40px;
		max-height: calc(100vh - 80px);
		border-radius: 32px;
	}

	body.internship #main_wrap .internship_program_modal__body{
		max-height: calc(100vh - 80px);
		padding: 44px 48px 42px;
	}

	body.internship #main_wrap .internship_program_modal__close{
		width: 72px;
		height: 72px;
		font-size: 280%;
	}

	body.internship #main_wrap .internship_program_modal__steps{
		gap: 14px;
	}

	body.internship #main_wrap .internship_program_modal__step p{
		font-size: 100%;
	}

	body.internship #main_wrap .internship_program_modal__table .requirements__th{
		font-size: 100%;
	}

	body.internship #main_wrap .internship_program_modal__entry{
		margin-top: 30px;
	}

	body.internship #main_wrap .internship_program_modal__entry_btn{
		min-width: 190px;
		height: 54px;
		padding: 0 56px 0 30px;
	}

	body.internship #main_wrap .internship_program_modal__entry_btn::after{
		width: 24px;
		height: 24px;
	}

	body.internship #main_wrap .internship_program_modal__entry_btn::before{
		right: 22px;
		width: 6px;
		height: 6px;
	}
}

@media screen and (min-width: 961px) and (max-width: 1022px){

	body.internship #main_wrap .internship_program_modal__table .requirements__th {
	    font-size: 100%;
	}

	body.internship #main_wrap .internship_program_modal__head + p {
	    font-size: 100%;
	}

	body.internship #main_wrap .internship_program_modal__step p {
	    font-size: 100%;
	}

	body.internship #main_wrap .internship_program_modal__table .requirements__td p {
	    font-size: 100%;
	}


}

@media screen and (min-width: 521px) and (max-width: 960px){

	body.internship #main_wrap .internship_program_modal__step {
	    flex-direction: column;
	    gap: 8px;
	}

	body.internship #main_wrap .internship_program_modal__body {
	    padding: 64px 16px 30px;
	}

	body.internship #main_wrap .internship_program_modal__body h3 {
    	margin-bottom: 0;
	    font-size: 160%;
	}

    body.internship #main_wrap .internship_program_modal__body h3:after {
        margin-top: 24px;
        margin-bottom: 32px;
    }

	body.internship #main_wrap .internship_program_modal__head p {
	    font-size: 144%;
	}

	body.internship #main_wrap .internship_program_modal__head + p {
	    font-size: 100%;
	}

	body.internship #main_wrap .internship_program_modal__step p {
	    font-size: 100%;
	}

	body.internship #main_wrap .internship_program_modal__step div.step {
	    width: 100%;
	}

	body.internship #main_wrap .internship_program_modal__table .requirements__th {
	    font-size: 100%;
	}

	body.internship #main_wrap .internship_program_modal__table .requirements__td p {
	    font-size: 88%;
	    line-height: 1.6;
	}

}

@media screen and (max-width: 520px){

	body.internship #main_wrap .internship_program_modal__step {
	    flex-direction: column;
	    gap: 8px;
	}

	body.internship #main_wrap .internship_program_modal__body {
	    padding: 64px 16px 30px;
	}

	body.internship #main_wrap .internship_program_modal__body h3 {
    	margin-bottom: 0;
	    font-size: 160%;
	}

    body.internship #main_wrap .internship_program_modal__body h3:after {
        margin-top: 24px;
        margin-bottom: 32px;
    }

	body.internship #main_wrap .internship_program_modal__head p {
	    font-size: 144%;
	}

	body.internship #main_wrap .internship_program_modal__head + p {
	    font-size: 100%;
	}

	body.internship #main_wrap .internship_program_modal__step p {
	    font-size: 100%;
	}

	body.internship #main_wrap .internship_program_modal__step div.step {
	    width: 100%;
	}

	body.internship #main_wrap .internship_program_modal__table .requirements__th {
	    font-size: 100%;
	}

	body.internship #main_wrap .internship_program_modal__table .requirements__td p {
	    font-size: 88%;
	    line-height: 1.6;
	}

}
