@charset "utf-8";

/*		Contents
---------------------------------------------------------------------------
	h要素（見出し）
	bg_white（背景：ホワイト）
	bg_mint（背景：ミントグリーン）
	bg_yellow（背景：イエロー）
	bg_pale-yellow（背景：ペールイエロー）
	bg_blue（背景：ブルー）
	bg_green（背景：グリーン）
	paging（ページング）
	widget_ttl（ページタイトル）
	widget_btn（ボタン）
	widget_cat（カテゴリー）
	widget_tab / widget_panel（タブ）
	widget_contact（お問い合わせ）
	widget_entry（投稿詳細）
	list_news（一覧：お知らせ）
	list_interview（一覧：スタッフインタビュー）
	form_select（フォーム：セレクトボックス）
	content_form（コンテンツ：フォーム）
	content_connection（コンテンツ：関連ページ）
------------------------------------------------------------------------ */

/* ========================================================================
	h要素（見出し）
======================================================================== */

/* ----------------------------------------
	h_01
---------------------------------------- */
.h_01{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:15px 0;
	margin:0 0 80px 0;
	line-height:1;
}

.h_01 .en{
	-webkit-text-stroke:1px #1a1a1a;
	text-stroke:1px #1a1a1a;
	font-family:"Changa One", sans-serif;
	font-size:13.0rem;
	color:#f0e412;
}

.h_01 .ja{
	padding:10px 30px;
	background:#ffffff;
	border:1px solid #000000;
	font-size:3.0rem;
	font-weight:700;
}

@media screen and (max-width:767px){
.h_01{
	margin:0 0 40px 0;
}

.h_01 .en{
	font-size:min(15.625vw, 12.0rem); /* 768px */
}

.h_01 .ja{
	font-size:2.0rem;
}
}


/* ----------------------------------------
	h_02
---------------------------------------- */
.h_02{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:25px 0;
	margin:0 0 80px 0;
	font-size:5.0rem;
	font-weight:700;
	line-height:1;
}

.h_02 span{
	padding:0 25px;
	background:#87e9d6;
	border:1px solid #000000;
	font-size:3.0rem;
	line-height:5.0rem;	
}
.bg_mint .h_02 span{ background:#fd9131; }

@media screen and (max-width:767px){
.h_02{
	margin:0 0 40px 0;
	font-size:3.0rem;
}

.h_02 span{
	padding:0 20px;
	font-size:2.0rem;
	line-height:4.0rem;	
}
}


/* ----------------------------------------
	h_03
---------------------------------------- */
.h_03{
	display:flex;
	flex-direction:column;
	align-items:center;
	margin:0 0 80px 0;
	font-size:4.0rem;
	font-weight:700;
	line-height:1;
}

.h_03 span.ja{
	padding:0 0 28px 0;
	border-bottom:4px solid #009e96;
}

.h_03 span.en{
	padding:14px 0 0 0;
	-webkit-text-stroke:1px #00304f;
	text-stroke:1px #00304f;
	font-family:"Changa One", sans-serif;
	font-size:3.6rem;
	color:#87e9d6;
}

@media screen and (max-width:767px){
.h_03{
	margin:0 0 40px 0;
	font-size:2.4rem;
	line-height:3.4rem;
}

.h_03 span.ja{
	padding:0 0 15px 0;
}

.h_03 span.en{
	padding:10px 0 0 0;
	font-size:3.0rem;
	line-height:1;
}
}


/* ----------------------------------------
	h_04
---------------------------------------- */
.h_04{
	display:flex;
	flex-direction:column;
	align-items:center;
	max-width:1400px;
	margin:0 auto 50px;
	line-height:1;
}

.h_04 .en{
	text-align:center;
	-webkit-text-stroke:1px #000000;
	text-stroke:1px #000000;
	font-family:"Changa One", sans-serif;
	font-size:25.0rem;
	color:#fd9131;
}
.bg_yellow .h_04 .en{ color:#3cc19a; }
.bg_green .h_04 .en{ color:#fae32b; }

.h_04 .ja{
	padding:18px 20px;
	background:#f0e412;
	border:1px solid #000000;
	font-size:3.6rem;
	font-weight:700;
}
.bg_yellow .h_04 .ja{ background:#ffffff; }

@media screen and (max-width:767px){
.h_04{
	gap:10px 0;
	margin:0 0 40px 0;
}

.h_04 .en{
	font-size:min(16.92708vw, 13.0rem); /* 768px */
}

.h_04 .ja{
	padding:10px 20px;
	font-size:2.0rem;
}
}


/* ========================================================================
	bg_white（背景：ホワイト）
	bg_mint（背景：ミントグリーン）
	bg_yellow（背景：イエロー）
	（背景：ペールイエロー）
	bg_blue（背景：ブルー）
	bg_green（背景：グリーン）
======================================================================== */
.bg_green{
	background:#3cc19a;
}

.bg_white, .bg_mint, .bg_yellow, .bg_blue, .bg_pale-yellow{
	position:relative;
	padding-top:200px;
}
.bg_mint{ background:#d3f7f2; }
.bg_yellow{ background:#f6f474; }
.bg_blue{ background:#e8f5fe; }
.bg_pale-yellow{ background:#f7f7d3; }

.bg_white::before, .bg_mint::before, .bg_yellow::before, .bg_blue::before, .bg_pale-yellow::before{
	content:"";
	position:absolute;
	top:-92px;
	left:0;
	width:100%;
	height:92px;
	background:url(../../img/common/bg_white.png) repeat-x center top;
	z-index:1;
}
.bg_mint::before{ background-image:url(../../img/common/bg_mint.png); }
.bg_yellow::before{ background-image:url(../../img/common/bg_yellow.png); }
.bg_blue::before{ background-image:url(../../img/common/bg_blue.png); }
.bg_pale-yellow::before{ background-image:url(../../img/common/bg_pale-yellow.png); }

@media screen and (max-width:767px){
.bg_white, .bg_mint, .bg_yellow, .bg_blue, .bg_pale-yellow{
	padding-top:60px;
}

.bg_white::before, .bg_mint::before, .bg_yellow::before, .bg_blue::before, .bg_pale-yellow::before{
	top:-23px;
	height:23px;
	background-size:auto 23px;
}
}


/* ========================================================================
	paging（ページング）
======================================================================== */
.paging{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:20px;
	margin:0 0 100px 0;
	font-weight:500;
}

.paging span.dots{
	display:flex;
	align-items:center;
	height:50px;
	line-height:1;
}

.paging span.current,
.paging a{
	display:flex;
	justify-content:center;
	align-items:center;
	width:50px;
	height:50px;
	border:2px solid #ff6137;
	border-radius:4px;
	color:#333333;
	line-height:1;
	text-decoration:none;
}
.paging span.current,
.paging a:hover{ background:#ff6137; color:#ffffff; }

@media screen and (max-width:768px){
.paging{
	gap:10px;
	margin:0 0 40px 0;
}

.paging span.dots{
	height:40px;
}

.paging span.current,
.paging a{
	width:40px;
	height:40px;
}
}


/* ========================================================================
	widget_ttl（ページタイトル）
======================================================================== */
.widget_ttl{
	overflow:hidden;
	position:relative;
	padding:100px 0 0 0;
	background:#d3f7f2;
}

.widget_ttl .inner{
	width:auto;
	max-width:1440px;
	padding:134px 20px 280px;
}

.widget_ttl .inner::before{
	content:"";
	position:absolute;
	top:108px;
	right:30px;
	width:198px;
	height:168px;
	background:url(../../img/common/h1.png) no-repeat right center;
}

.widget_ttl .inner::after{
	content:"";
	position:absolute;
	bottom:0;
	left:20px;
	width:calc(100% - 40px);
	height:160px;
	background:#ffffff;
	border-top-left-radius:10px;
	border-top-right-radius:10px;
}

.widget_ttl h1,
.widget_ttl .ttl{
	position:relative;
	font-size:7.0rem;
	font-weight:700;
	line-height:1;
}

.widget_ttl h1 span,
.widget_ttl .ttl span{
	display:block;
	padding:16px 0 0 0;
	font-size:5.0rem;
	color:#009e96;
	text-transform:capitalize;
}

.widget_ttl p{
	margin:0 0 -40px 0;
	padding:24px 0 0 0;
	font-size:2.0rem;
	line-height:3.6rem;
}

@media screen and (max-width:767px){
.widget_ttl{
	margin:0 0 20px 0;
	padding:60px 0 0 0;
}

.widget_ttl .inner{
	max-width:none;
	padding:60px 20px 100px;
}

.widget_ttl .inner::before{
	top:55px;
	right:10px;
	width:min(19.8vw, 99px); /* 500px */
	height:84px;
	background-position:center top;
	background-size:min(19.8vw, 99px) min(16.8vw, 84px); /* 500px */
}

.widget_ttl .inner::after{
	left:10px;
	width:calc(100% - 20px);
	height:40px;
}

.widget_ttl h1,
.widget_ttl .ttl{
	font-size:min(6.0vw, 3.0rem); /* 500px */
}

.widget_ttl h1 span,
.widget_ttl .ttl span{
	padding:10px 0 0 0;
	font-size:min(4.8vw, 2.4rem); /* 500px */
}

.widget_ttl p{
	margin:0 0 -30px 0;
	padding:20px 0 0 0;
	font-size:1.6rem;
	line-height:2.6rem;
}
}


/* ----------------------------------------
	path
---------------------------------------- */
.widget_ttl .path{
	position:absolute;
	bottom:5px;
	left:0;
	width:auto;
	margin:0;
	padding:0;
	color:#EBEEFF;
}
.widget_ttl .path li::after{ background:#0b65bf; }
.widget_ttl .path a{ color:#EBEEFF; }

@media screen and (max-width:767px){
.widget_ttl .path{
	position:static;
}
}


/* ========================================================================
	widget_btn（ボタン）
======================================================================== */
.widget_btn{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:24px 40px;
	margin:0 0 104px 0;
}

.widget_btn a,
.widget_btn button{
	position:relative;
	text-decoration:none;
	transition-duration:0.2s;
}

.widget_btn a::before,
.widget_btn button::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:calc(100% + 4px);
	background:#1e1e1e;
	border-radius:10px;
}

.widget_btn a span,
.widget_btn button span{
	display:flex;
	justify-content:center;
	align-items:center;
	position:relative;
	min-width:446px;
	min-height:110px;
	padding:0 60px;
	background:#ff6137;
	border-radius:10px;
	font-size:2.6rem;
	font-weight:700;
	color:#ffffff;
	line-height:3.6rem;
	transition-duration:0.2s;
}
.widget_btn .back span{ background:#cccccc; color:#333333; }

.widget_btn a span:hover,
.widget_btn button span:hover{
	opacity:0.8;
}

@media screen and (max-width:767px){
.widget_btn{
	margin:0 0 44px 0;
}

.widget_btn a,
.widget_btn button{
	width:100%;
}

.widget_btn a span,
.widget_btn button span{
	min-width:auto;
	min-height:80px;
	width:100%;
	padding:0 20px;
	font-size:2.0rem;
	line-height:2.8rem;
}
}


/* ========================================================================
	widget_cat（カテゴリー）
======================================================================== */
.widget_cat{
	margin:0 0 150px 0;
}

.widget_cat dt{
	margin:0 0 45px 0;
	text-align:center;
	font-size:3.0rem;
	font-weight:700;
	line-height:4.0rem;
}

.widget_cat dd{
	display:flex;
	justify-content:center;
}

.widget_cat ul{
	display:flex;
	flex-wrap:wrap;
	gap:25px 21px;
}

.widget_cat ul li a{
	display:flex;
	justify-content:center;
	align-items:center;
	position:relative;
	width:386px;
	height:98px;
	padding:0 0 0 30px;
	background:#ffffff;
	border:1px solid #00304f;
	border-radius:10px;
	font-size:2.6rem;
	font-weight:700;
	text-decoration:none;
}

.widget_cat ul li a:hover{
	background:#009e96;
	border-color:#009e96;
	color:#ffffff;
}

.widget_cat ul li a::after{
	content:"";
	position:absolute;
	top:0;
	right:16px;
	width:16px;
	height:100%;
	background:url(../../img/common/arrow_cat.png) no-repeat center;
}
.widget_cat ul li a:hover::after{ background-image:url(../../img/common/arrow_cat_on.png); }

.widget_cat .icon{
	position:absolute;
	top:0;
	left:30px;
	width:50px;
	height:100%;
	-webkit-mask:var(--icon) no-repeat center;
	mask:var(--icon) no-repeat center;
	background:#009e96;
	transition-duration:0.2s;
}
.widget_cat ul li a:hover .icon{ background:#ffffff; }

@media screen and (max-width:767px){
.widget_cat{
	margin:0 0 60px 0;
}

.widget_cat dt{
	margin:0 0 30px 0;
	font-size:2.0rem;
	line-height:3.0rem;
}

.widget_cat dd,
.widget_cat ul{
	display:block;
}

.widget_cat ul li a{
	width:100%;
	height:70px;
	margin:0 0 20px 0;
	padding:0 0 0 20px;
	font-size:2.0rem;
}
.widget_cat ul li:last-child a{ margin:0; }

.widget_cat ul li a::after{
	width:14px;
	background-size:100% auto;
}

.widget_cat .icon{
	left:20px;
	width:30px;
}
}


/* ========================================================================
	widget_tab / widget_panel（タブ）
======================================================================== */
.widget_panel{
	display:none;
}

.widget_panel.active{
	display:block;
}


/* ========================================================================
	widget_contact（お問い合わせ）
======================================================================== */
.widget_contact{
	max-width:1440px;
	margin:0 auto 200px;
	padding:0 20px;
	text-align:center;
}

.widget_contact .box{
	position:relative;
	padding:93px 47px 97px;
	background:#fd9131;
	border-radius:10px;
}

.widget_contact .box::before{
	content:"";
	position:absolute;
	bottom:0;
	right:50%;
	width:298px;
	height:546px;
	margin:0 288px 0 0;
	background:url(../../img/common/contact/bg_01.png) no-repeat center;
}

.widget_contact .box::after{
	content:"";
	position:absolute;
	top:42px;
	left:50%;
	width:228px;
	height:152px;
	margin:0 0 0 262px;
	background:url(../../img/common/contact/bg_02.png) no-repeat center;
}

.widget_contact h2{
	margin:0 0 20px 0;
	-webkit-text-stroke:1px #000000;
	text-stroke:1px #000000;
	font-size:11.0rem;
	color:#f0e412;
	line-height:1;
}

.widget_contact p{
	position:relative;
	margin:0 0 50px 0;
	font-size:2.2rem;
	font-weight:700;
	line-height:3.6rem;
}

@media print, screen and (min-width:768px) and (max-width:1260px){
@supports(-webkit-touch-callout:none){ /* iPad（iOS）Safari用 */
	.widget_contact p{
		font-size:2.0rem;
		line-height:3.4rem;
	}
}
}

@media screen and (max-width:767px){
.widget_contact{
	margin-bottom:60px;
}

.widget_contact .box{
	overflow:hidden;
	padding:40px 20px 140px;
}

.widget_contact .box::before{
	bottom:-133px;
	right:auto;
	left:20px;
	width:149px;
	height:273px;
	margin:0;
	background-size:cover;
}

.widget_contact .box::after{
	top:auto;
	left:auto;
	bottom:54px;
	right:20px;
	width:114px;
	height:76px;
	margin:0;
	background-size:cover;
}

.widget_contact h2{
	position:relative;
	margin:0 0 10px 0;
	font-size:6.0rem;
	z-index:1;
}

.widget_contact p{
	display:flex;
	justify-content:center;
	margin:0 0 20px 0;
	text-align:left;
	font-size:1.8rem;
	line-height:2;
}
}


/* ----------------------------------------
	ul
---------------------------------------- */
.widget_contact ul{
	display:flex;
	justify-content:center;
	gap:0 8px;
}

.widget_contact ul li{
	position:relative;
	width:100%;
	max-width:540px;
}

.widget_contact ul li::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:calc(100% - 2px);
	height:calc(100% + 5px);
	background:#06c755;
	border:1px solid #000000;
	border-radius:12px;
}
.widget_contact ul li.mail::before{ background:#87e9d6; }
.widget_contact ul li.entry::before{ background:#f0e412; }

.widget_contact ul li.entry::after{
	content:"";
	position:absolute;
	top:-80px;
	right:-20px;
	width:180px;
	height:104px;
	background:url(../../img/common/contact/bg_03.png) no-repeat center;
}

.widget_contact ul li a{
	overflow:hidden;
	display:flex;
	justify-content:center;
	align-items:center;
	gap:0 30px;
	position:relative;
	height:148px;
	padding:0 20px;
	border:1px solid #000000;
	border-radius:12px;
	line-height:1;
	text-decoration:none;
}
.widget_contact ul li.entry a{ gap:0 10px; padding:0 10px; }

.widget_contact ul li a::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:#ffffff;
	transition-duration:0.2s;
}
.widget_contact ul li a:hover::before{ opacity:0.8; }

.widget_contact ul li img{
	position:relative;
	opacity:1;
}

.widget_contact ul li span{
	position:relative;
	font-size:2.4rem;
	font-weight:700;
}

.widget_contact ul li span span{
	display:block;
	padding:8px 0 0 0;
	font-size:3.2rem;
}

@media print, screen and (min-width:768px) and (max-width:1260px){
@supports(-webkit-touch-callout:none){ /* iPad（iOS）Safari用 */
	.widget_contact ul li span{
		font-size:2.0rem;
	}
	.widget_contact ul li span span{
		font-size:2.8rem;
	}
}
}

@media screen and (max-width:767px){
.widget_contact ul{
	display:block;
}

.widget_contact ul li{
	max-width:none;
	margin:0 0 27px 0;
}

.widget_contact ul li.entry::after{
	top:-32px;
	right:-10px;
	width:90px;
	height:52px;
	background-size:cover;
}

.widget_contact ul li a{
	gap:0 20px;
	height:100px;
	padding:0 10px;
}

.widget_contact ul li img{
	width:40px;
}

.widget_contact ul li span{
	font-size:1.6rem;
	line-height:2.0rem;
	z-index:1;
}

.widget_contact ul li span span{
	padding:6px 0 2px 0;
	font-size:2.4rem;
	line-height:1;
}
}


/* ----------------------------------------
	balloon
---------------------------------------- */
.widget_contact .balloon{
	position:relative;
	width:1200px;
	margin:0 auto 114px;
	background:#fff6ce;
	border:1px solid #000000;
	border-radius:30px;
}

.widget_contact .balloon::before,
.widget_contact .balloon::after{
	content:"";
	position:absolute;
	bottom:-40px;
	left:50%;
	border-style:solid;
	border-width:40px 43px 0 43px;
	border-color:#000000 transparent transparent transparent;
	transform:translateX(-50%);
}
.widget_contact .balloon::after{
	bottom:-39px;
	border-top-color:#fff6ce;
}

.widget_contact .balloon p{
	position:relative;
	margin:0;
	padding:77px 0;
	font-size:2.6rem;
	line-height:4.8rem;
}

.widget_contact .balloon p::before{
	content:"";
	position:absolute;
	top:-91px;
	right:-9px;
	width:274px;
	height:246px;
	background:url(../../img/crosstalk/balloon_contact.png) no-repeat center;
}

.widget_contact .balloon p span{
	display:inline-block;
	background:linear-gradient(transparent 64.6%, #a2eee3 0%);
}

@media screen and (max-width:767px){
.widget_contact .balloon{
	width:auto;
	margin:40px auto;
	border-radius:20px;
}

.widget_contact .balloon::before,
.widget_contact .balloon::after{
	bottom:-20px;
	border-width:20px 22px 0 22px;
}
.widget_contact .balloon::after{ bottom:-19px; }

.widget_contact .balloon p{
	display:block;
	padding:40px 20px;
	font-size:1.8rem;
	line-height:2.8rem;
}

.widget_contact .balloon p::before{
	top:-91px;
	width:137px;
	height:123px;
	background-size:cover;
}

.widget_contact .balloon p span{
	display:inline;
}
}


/* ========================================================================
	widget_entry（投稿詳細）
======================================================================== */
.widget_entry .aligncenter{ display:block; margin:0 auto 60px; }
.widget_entry .alignright{ float:right; margin:0 0 0 60px; }
.widget_entry .alignleft{ float:left; margin:0 60px 0 0; }
	
.widget_entry{
	overflow-wrap:break-word;
	padding:0 0 40px 0;
}

.widget_entry .wp-video{
	margin:0 auto;
}

.widget_entry h2{
	margin:0 0 40px 0;
	padding:0 0 16px 0;
	border-bottom:4px solid #009e96;
	font-size:3.0rem;
	font-weight:700;
	line-height:4.6rem;
}

.widget_entry h3{
	margin:0 0 30px 0;
	font-size:2.4rem;
	font-weight:700;
	color:#009e96;
	line-height:4.0rem;
}

.widget_entry p{
	margin:0 0 60px 0;
}

.widget_entry p::after{
	content:"";
	display:block;
	clear:both;
}

@media screen and (max-width: 767px){
.widget_entry .aligncenter,
.widget_entry .alignright,
.widget_entry .alignleft{
	display:block;
	float:none;
	margin:0 auto 40px;
}

.widget_entry{
	padding:0;
}

.widget_entry h2{
	margin:0 0 20px 0;
	padding:0 0 15px 0;
	font-size:2.0rem;
	line-height:3.0rem;
}

.widget_entry h3{
	margin:0 0 20px 0;
	font-size:2.0rem;
	line-height:3.0rem;
}

.widget_entry p{
	margin:0 0 40px 0;
}
}


/* ----------------------------------------
	ul / ol
---------------------------------------- */
.widget_entry > ul,
.widget_entry > ol{
	margin:0 0 60px 0;
	counter-reset:number;
}

.widget_entry > ul li,
.widget_entry > ol li{
	position:relative;
	padding:0 0 0 28px;
}

.widget_entry > ul li:before{
	content:"";
	position:absolute;
	top:11px;
	left:0;
	width:10px;
	height:10px;
	background:#009e96;
	border-radius:50%;
}

.widget_entry > ol li:before{
	counter-increment:number;
	content:counter(number);
	position:absolute;
	top:0;
	left:0;
	font-weight:700;
	color:#009e96;
}

@media screen and (max-width: 767px){
.widget_entry > ul,
.widget_entry > ol{
	margin:0 0 40px 0;
}
}


/* ========================================================================
	list_news（一覧：お知らせ）
======================================================================== */
.list_news{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:100px 50px;
	margin:0 1px 100px;
}

.list_news a{
	display:block;
	text-decoration:none;
}

.list_news img{
	width:366px;
	height:206px;
	object-fit:cover;
	margin:0 0 20px 0;
}

.list_news h3{
	margin:0 0 15px 0;
	font-size:2.0rem;
	font-weight:700;
	line-height:3.0rem;
}

.list_news ul{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
}

.list_news ul li{
	display:flex;
	height:32px;
	padding:0 16px;
	background:#fbe4d0;
	border-radius:16px;
	font-size:1.5rem;
	font-weight:700;
}
.list_news ul li:nth-child(2){ background:#f7efb6; }

@media screen and (max-width:767px){
.list_news{
	grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
	gap:40px 20px;
	margin:0 0 40px 0;
}

.list_news img{
	width:100%;
	height:auto;
	margin:0 0 15px 0;
}

.list_news h3{
	margin:0 0 10px 0;
	font-size:1.8rem;
	line-height:2.8rem;
}
}


/* ========================================================================
	list_interview（一覧：スタッフインタビュー）
======================================================================== */
.list_interview{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:100px 30px;
	margin:0 0 100px 0;
}

.list_interview li{
	position:relative;
}

.list_interview li::before{
	content:"";
	position:absolute;
	bottom:134px;
	left:-48px;
	width:128px;
	height:108px;
	background:url(../../img/common/bg_interview01.png) no-repeat center;
	z-index:1;
}
.list_interview li:nth-child(2)::before,
.list_interview li:nth-child(5)::before,
.list_interview li:nth-child(8)::before,
.list_interview li:nth-child(11)::before,
.list_interview li:nth-child(14)::before{
	bottom:auto;
	left:auto;
	top:-35px;
	right:-25px;
	width:178px;
	height:76px;
	background-image:url(../../img/common/bg_interview02.png);
}
.list_interview li:nth-child(3n)::before{
	left:auto;
	bottom:148px;
	right:-12px;
	width:86px;
	height:86px;
	background-image:url(../../img/common/bg_interview03.png);
}

.list_interview a{
	overflow:hidden;
	display:block;
	height:100%;
	padding:0 0 32px 0;
	background:#ffffff;
	border:2px solid #000000;
	border-radius:20px;
	text-align:center;
	line-height:1;
	text-decoration:none;
}

.list_interview img{
	width:100%;
}

.list_interview h2{
	display:inline-block;
	min-width:260px;
	margin:-18px 0 22px 0;
	padding:18px 20px;
	background:#f0e412;
	font-size:2.0rem;
	font-weight:700;
}
.list_interview li:nth-child(2) h2,
.list_interview li:nth-child(5) h2,
.list_interview li:nth-child(8) h2{ background:#fd9131; }
.list_interview li:nth-child(3n) h2{ background:#87e9d6; }

@media screen and (max-width:767px){
.list_interview{
	grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
	gap:20px;
	margin:0 0 40px 0;
}

.list_interview li::before{
	left:-24px;
	width:64px;
	height:54px;
	background-size:cover;
}
.list_interview li:nth-child(2)::before,
.list_interview li:nth-child(5)::before,
.list_interview li:nth-child(8)::before{
	top:-14px;
	right:-12px;
	width:89px;
	height:38px;
}
.list_interview li:nth-child(3n)::before{
	bottom:138px;
	right:-6px;
	width:43px;
	height:43px;
}

.list_interview a{
	padding:0 0 30px 0;
}

.list_interview h2{
	min-width:180px;
	margin:-14px 0 20px 0;
	padding:14px 10px;
	font-size:1.8rem;
}
}


/* ----------------------------------------
	position
---------------------------------------- */
.list_interview .position{
	margin:0 0 14px 0;
	font-size:3.2rem;
	font-weight:700;
}

@media screen and (max-width:767px){
.list_interview .position{
	margin:0 20px 15px;
	font-size:2.4rem;
}
}


/* ----------------------------------------
	year
---------------------------------------- */
.list_interview .year{
	font-weight:700;
	line-height:2;
}

@media screen and (max-width:767px){
.list_interview .year{
	margin:0 20px;
	line-height:2.6rem;
}
}


/* ========================================================================
	form_select（フォーム：セレクトボックス）
======================================================================== */
.form_select{
	position:relative;
}

.form_select::after{
	content:"";
	position: absolute;
	top:20px;
	right:41px;
	border-style:solid;
	border-width:20px 12.5px 0 12.5px;
	border-color:#333333 transparent transparent transparent;
	pointer-events:none;
}

.form_select select{
	-webkit-appearance:none;
	appearance:none;
}

@media screen and (max-width:767px){
.form_select::after{
	right:21px;
}

.form_select select{
	padding-right:60px;
}
}


/* ========================================================================
	content_form（コンテンツ：フォーム）
======================================================================== */
.content_form{
	position:relative;
	margin:0 0 110px 0;
	padding:80px 60px 120px;
	background:#ffffff;
	border:1px solid #000000;
	border-radius:10px;
}

.content_form::before{
	content:"";
	position:absolute;
	top:9px;
	left:9px;
	width:100%;
	height:100%;
	background:#009e96;
	border:1px solid #000000;
	border-radius:10px;
	z-index:-1;
}

.content_form ul{
	margin:-20px 0 100px 0;
	padding:30px 50px 35px;
	background:#fff4ea;
}

.content_form ul li{
	display:inline-block;
	padding:7px 0 8px 1.5em;
	background:linear-gradient(to right, #000000 4px, transparent 4px) repeat-x left bottom;
	background-size:6px 1px;
	text-indent:-1.5em;
	font-size:2.4rem;
	line-height:3.4rem;
}

.content_form ul li span{
	color:#fd9131;
}

@media screen and (max-width:767px){
.content_form{
	margin:0 0 50px 0;
	padding:40px 20px;
}

.content_form ul{
	margin:0 0 30px 0;
	padding:25px 20px 30px;
}

.content_form ul li{
	font-size:1.6rem;
	line-height:2.6rem;
}
}


/* ----------------------------------------
	must
---------------------------------------- */
.content_form .must{
	position:absolute;
	top:38px;
	left:40px;
	width:58px;
	padding:4px 0 5px 0;
	background:#fd9131;
	border-radius:5px;
	text-align:center;
	font-size:1.6rem;
	font-weight:500;
	color:#ffffff;
	line-height:1;
}

@media screen and (max-width:767px){
.content_form .must{
	top:3px;
	left:0;
	width:48px;
	font-size:1.2rem;
}
}


/* ----------------------------------------
	none
---------------------------------------- */
.content_form .none{
	display:none;
}


/* ----------------------------------------
	table
---------------------------------------- */
.content_form table{
	margin:0;
}
.content_form table.confirm{
	overflow-wrap:break-word;
	table-layout:fixed;
	margin:0 0 60px 0;
}

.content_form table,
.content_form table tr{
	border:none;
}

.content_form table th{
	position:relative;
	width:440px;
	padding:33px 50px 33px 134px;
	background:none;
	border:none;
	text-align:left;
	vertical-align:top;
	font-size:2.4rem;
	font-weight:700;
	line-height:3.4rem;
}

.content_form table td{
	padding:20px 0;
}

.content_form table td.label{
	display:flex;
	flex-wrap:wrap;
	gap:20px 40px;
	padding:33px 0;
}

.content_form table td.label label{
	font-size:2.4rem;
	font-weight:700;
	line-height:3.4rem;
}

@media screen and (max-width:767px){
.content_form table th{
	width:auto;
	padding:0 0 0 60px;
	font-size:1.6rem;
	line-height:2.6rem;
}

.content_form table td.label{
	gap:20px;
	padding:20px 0;
}

.content_form table td.label label{
	font-size:1.6rem;
	line-height:2.6rem;
}

.content_form table.confirm{ margin:0 0 10px 0; }
.content_form table.confirm th{ padding:0; }
.content_form table.confirm td{ padding-top:0; }
}


/* textarea
---------------------------------------- */
.content_form .textarea{
	overflow:hidden;
	position:relative;
	z-index:1;
}

.content_form .textarea textarea{
	background:transparent;
}

.content_form .textarea .placeholder{
	position:absolute;
	top:15px;
	left:31px;
	padding:0 31px 0 0;
	opacity:0.7;
	z-index:-1;
}

.content_form .textarea .placeholder.none{
	display:none;
}

@media screen and (max-width:767px){
.content_form .textarea .placeholder{
	left:21px;
	padding:0 21px 0 0;
}
}


/* privacy
---------------------------------------- */
.content_form .privacy{
	position:relative;
	padding:33px 134px 60px;
	font-size:2.4rem;
	line-height:3.4rem;
}

.content_form .privacy dt{
	margin:0 0 10px 0;
	font-weight:700;
}

.content_form .privacy dd a{
	color:#009e96;
}

.content_form .privacy dd.agree{
	padding:50px 0 0 0;
	text-align:center;
	font-weight:700;
}

@media screen and (max-width:767px){
.content_form .privacy{
	padding:0;
	font-size:1.6rem;
	line-height:2.6rem;
}

.content_form .privacy dt{
	position:relative;
	padding:0 0 0 60px;
}

.content_form .privacy dd.agree{
	padding:30px 0;
}
}


/* ----------------------------------------
	btn
---------------------------------------- */
.content_form .btn{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
}

.content_form .btn a,
.content_form .btn button{
	display:flex;
	justify-content:center;
	align-items:center;
	position:relative;
	width:600px;
	height:100px;
	background:#ff6137;
	border-radius:50px;
	font-size:3.0rem;
	font-weight:700;
	color:#ffffff;
	line-height:1;
	text-decoration:none;
}

@media screen and (max-width:767px){
.content_form .btn a,
.content_form .btn button{
	width:100%;
	height:80px;
	font-size:2.0rem;
}
}


/* ----------------------------------------
	h_02
---------------------------------------- */
.content_form .h_02{
	margin:0 0 60px 0;
	line-height:7.0rem;
}

@media screen and (max-width:767px){
.content_form .h_02{
	margin:0 0 30px 0;
	font-size:2.4rem;
	line-height:3.4rem;
}
}


/* ----------------------------------------
	txt / error
---------------------------------------- */
.content_form .txt{
	display:flex;
	justify-content:center;
	margin:0 0 60px 0;
}

.content_form .error{
	margin:0 0 60px 0;
	text-align:center;
}

@media screen and (max-width:767px){
.content_form .txt,
.content_form .error{
	margin:0 0 30px 0;
}
}


/* ----------------------------------------
	widget_btn
---------------------------------------- */
.content_form .widget_btn{
	margin:0 0 4px 0;
}

.content_form .widget_btn span{
	min-width:400px;
	min-height:100px;
}

@media screen and (max-width:767px){
.content_form .widget_btn span{
	min-width:auto;
	min-height:80px;
	width:100%;
}
}


/* ========================================================================
	content_connection（コンテンツ：関連ページ）
======================================================================== */
.content_connection{
	margin:0 0 200px 0;
}

.content_connection ul{
	display:flex;
	flex-wrap:wrap;
	gap:30px 21px;
}

.content_connection ul li{
	width:386px;
}

.content_connection ul li a{
	display:flex;
	justify-content:center;
	align-items:center;
	gap:0 10px;
	height:158px;
	padding:0;
	border:3px solid #009e96;
	border-radius:12px;
	line-height:3.0rem;
	text-decoration:none;
}
.content_connection ul li a.space{ gap:0 30px; }

.content_connection ul li a:hover{
	background:#009e96;
	color:#ffffff;
}

.content_connection ul li img{
	opacity:1;
}

.content_connection ul li span{
	text-align:center;
	font-size:2.4rem;
	font-weight:700;
}

.content_connection ul li span b{
	display:block;
	padding:8px 0 0 0;
	font-size:2.0rem;
	color:#ff6137;
	line-height:1;
}

@media screen and (max-width:767px){
.content_connection{
	margin:0 0 60px 0;
}

.content_connection ul{
	gap:20px 0;
}

.content_connection ul li{
	width:100%;
}

.content_connection ul li a{
	height:96px;
	padding:0 10px;
	line-height:2.4rem;
}
.content_connection ul li a.space{ gap:0 20px; }

.content_connection ul li img{
	width:50px;
}

.content_connection ul li span{
	font-size:2.0rem;
}

.content_connection ul li span b{
	padding:6px 0 0 0;
	font-size:1.6rem;
}
}