@charset "UTF-8";


@font-face {
	font-family: 'BebasNeue';
	src:url('fonts/BebasNeue-Regular.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}


html{
	font-size: 10px;
	scroll-behavior: smooth;
}
html.sp{
	font-size: 16px;
}

html[lang]{
	margin: 0 !important;
	scroll-padding-top: 0 !important;
}
#wpadminbar{
	display: none;
}

body{
	padding: 0;
	margin: 0;
	font-size: 1.6rem;
	font-weight: 300;
	line-height: 1.8;
	color: #000;
	overflow-x: hidden;
	font-family: "Hiragino Sans", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%; /* iPhoneだけ文字が大きくなる現象を防ぐ */
	/*font-feature-settings: "palt";*/ /* 文字詰め（フォントにカーニング情報が含まれる場合） */

	 /* iPhoneで上下のバーを抜いた高さ */
	height: -webkit-fill-available;
	height: -moz-available;

	--nav_text_color: #000;
}

::selection {
	color: #000;
	background-color: #bdf;
}

::-webkit-input-placeholder{ color: #bbb; }
:-moz-placeholder          { color: #bbb; }
:-ms-input-placeholder     { color: #bbb; }

html.pc .sp{ display: none !important; }
html.sp .pc{ display: none !important; }

#page{
	overflow: hidden;
}

.page_top{
	cursor: pointer;
	position: fixed;
	bottom: -100px;
	right: 50px;
	pointer-events: none;
	/*opacity: 0;*/
	z-index: 900;
}
.page_top.show{
	bottom: 50px;
	pointer-events: auto;
	/*opacity: 1;*/
}
html.sp .page_top img{
	width: 80px;
}

img,
svg{
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

img.inline_svg{
	display: none;
}

a,
a:link,
a:visited{
	color: inherit;
}
a:hover{

}

@keyframes a_href_empty {
	0%   { outline: rgba(255, 0, 150, 1) 3px dashed; }
	50%  { outline: rgba(255, 0, 150, 0) 3px dashed; }
	100% { outline: rgba(255, 0, 150, 1) 3px dashed; }
}
a[href=""]{
	/*animation: a_href_empty linear 0.5s infinite forwards;*/
}

h2{
	text-align: center;
	font-weight: 600;
	width: 100%;
}
h2 .text{
	display: inline-block;
	text-align: justify;
	font-size: 1.6rem;
	font-weight: 300;
	width: 320px;
}
html.sp h2 .text{
	width: auto;
	max-width: 80%;
}
h2 .h2_img1{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 155px;
}
html.sp h2 .h2_img1 img{
	max-width: 90%;
}
.main_image h2 .text{
	margin: 20px 0 0;
}
html.sp h2 .h2_img2{
	height: 48px;
}

h3{
	font-weight: 600;
}

h4{
	font-size: 2rem;
	font-weight: 600;
	line-height: 1.6;
}

p{
	text-align: justify;
}

.ib, ib{
	display: inline-block;
}

.nowrap{
	white-space: nowrap;
}

.page_width1{
	max-width: 94%;
	width: 980px;
	margin: 0 auto;
}
.page_width2{
	max-width: 94%;
	width: 700px;
	margin: 0 auto;
}

ul.type1{
	padding: 0;
	margin: 30px 0;
	list-style: none;
}
ul.type1 > li{
	display: flex;
	margin: 5px 0;
}
ul.type1 > li:before{
	content: "・";
	white-space: nowrap;
	font-feature-settings: normal;
}

ol.type1{
	counter-reset: num;
	list-style-type: none;
	padding-left: 0;
}
ol.type1 > li{
	display: flex;
}
ol.type1 > li:before {
	counter-increment: num;
	content: counter(num)'.';
	white-space: nowrap;
	margin-right: 5px;
}

.site-header{
	position: relative;
	z-index: 1000;
	display: flex;
	justify-content: space-between;
	/* flex-wrap: wrap; */
	box-sizing: border-box;
	padding: 15px 3vw 20px;
}
.site-branding{
	width: min(438px, 38%);
	min-width: 390px;
}
html.sp .site-branding{
	width: min(550px, 100%);
}
.site-branding svg.title{
	max-width: 100%;
}
.site-branding svg.title path{
	fill: var(--nav_text_color);
}

#site-navigation{
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	z-index: 1000;
}
#site-navigation .row1{
	display: flex;
	justify-content: space-between;
	font-size: 1.4rem;
	width: 360px;
}
#site-navigation .row2{
	display: flex;
	justify-content: space-between;
	width: 640px;
	max-width: 56vw;
	flex-grow: 1;
}
#site-navigation :is(a, span){
	flex-shrink: 1;
	white-space: nowrap;
	text-decoration: none;
	text-align: center;
	font-weight: 600;
	line-height: 1;
	color: var(--nav_text_color);
	padding: 10px 0;
	margin: 0;
}

.pulldown{
	position: relative;
}
.pulldown .summary{
	cursor: default;
}
.pulldown .drawer{
	display: flex;
	flex-direction: column;
	position: absolute;
	border-top: 1px solid var(--nav_text_color);
	opacity: 0;
	top: 80%;
	left: 0;
	pointer-events: none;
	transition: 0.2s linear;
}
#site-navigation .pulldown .drawer{
	padding: 0;
}
.pulldown .drawer.right{
	left: auto;
	right: 0;
}
.pulldown:hover .drawer{
	opacity: 1;
	top: 99%;
	pointer-events: auto;
}
#site-navigation .pulldown .drawer a{
	line-height: 1.5;
	padding: 3px 0;
	border-bottom: 1px solid var(--nav_text_color);
}

.main-navigation-sp{
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.2s linear;
	position: fixed;
	top: 0;
	right: 0;
	width: 500px;
	background-color: #02c2c7;
	z-index: 1000;
	height: 100dvh;
}
html.sp .main-navigation-sp{
	width: 100%;
}
.main-navigation-sp .title{
	display: block;
	padding: 16px 10px;
}
.main-navigation-sp .title svg{
	width: 80%;
}
.main-navigation-sp .title svg path{
	fill: #fff;
}
.main-navigation-sp .nav1{
	display: flex;
	flex-direction: column;
	border-top: 1px solid #fff;
}
.main-navigation-sp .nav1 a{
	text-decoration: none;
	font-size: 1.6rem;
	font-weight: 600;
	color: #fff;
	background-color: #02c2c7;
	border-bottom: 1px solid #fff;
	padding: 15px 30px;
	transition: filter 0.15s linear;
}
html.sp .main-navigation-sp .nav1 a{
	font-size: 1.5rem;
	letter-spacing: 0.1em;
	padding: 23px 50px;
}
.main-navigation-sp .nav1 a:hover{
	filter: brightness(1.1);
}
.main-navigation-sp .nav2{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 5vmin;
	padding: 20px 30px;
}
html.sp .main-navigation-sp .nav2{
	padding: 30px 25px;
}
.main-navigation-sp .nav2 .entry_block_mn{
	display: flex;
	flex-direction: column;
	gap: 4vmin;
	width: 100%;
}
.main-navigation-sp .nav2 .box{
	--box_color: #02c2c7;
	display: flex;
	align-items: center;
	gap: 3vmin;
	color: var(--box_color);
	background-color: #fff;
	border-radius: 2vmin;
	box-sizing: border-box;
	padding: 3vmin;
}
.main-navigation-sp .nav2 .box .button5{
	font-size: 1.5rem;
	background-color: var(--box_color);
}
.main-navigation-sp .nav2 .box.orange{
	--box_color: #ff9100;
}
.main-navigation-sp .nav2 .box .l{
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0.1em;
	min-width: 250px;
}
.main-navigation-sp .nav2 .box .text1{
	font-size: 4.5vmin;
}
.main-navigation-sp .nav2 .box .text2{
}
.main-navigation-sp .nav2 .box .text3{
	font-size: 0.9em;
}
.main-navigation-sp .nav2 .box .r{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1.5vmin;
}

#open_nav{
	display: none;
}

label[for="open_nav"] {
	display: none;
	/*display: flex;*/
	cursor: pointer;
	position: fixed;
	top: 5px;
	right: 10px;
	height: 60px;
	width: 60px;
	border-radius: 5px;
	justify-content: center;
	align-items: center;
	z-index: 1100;
	/*background-color: #fff;*/
}
html.sp label[for="open_nav"] {
	top: 8px;
	right: 10px;
	height: 70px;
	width: 80px;
}
label[for="open_nav"] span,
label[for="open_nav"] span:before,
label[for="open_nav"] span:after {
	content: '';
	display: block;
	height: 3px;
	width: 35px;
	/*border-radius: 5px;*/
	background-color: #000;
	position: absolute;
	transition: 0.3s ease-in-out;
}
html.sp label[for="open_nav"] span,
html.sp label[for="open_nav"] span:before,
html.sp label[for="open_nav"] span:after {
	height: 4px;
	width: 55px;
}
label[for="open_nav"] span{
	transform: scale(1, 0.9);
}
label[for="open_nav"] span:before {
	bottom: 13px;
}
html.sp label[for="open_nav"] span:before {
	bottom: 20px;
}
label[for="open_nav"] span:after {
	top: 13px;
}
html.sp label[for="open_nav"] span:after {
	top: 20px;
}
label[for="open_nav"] img{
	width: 70px;
}
#open_nav:checked ~ label[for="open_nav"] {
	background-color: transparent;
}
#open_nav:checked ~ label[for="open_nav"] span {
	background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
	transform: scale(1.3, 0.9);
}
#open_nav:checked ~ label[for="open_nav"] span::before {
	bottom: 0;
	transform: rotate(45deg);
	background-color: #fff;
}
#open_nav:checked ~ label[for="open_nav"] span::after {
	top: 0;
	transform: rotate(-45deg);
	background-color: #fff;
}

@media (max-width: 1000px) {
	#site-navigation{
		display: none;
	}
	#open_nav:checked ~ .main-navigation-sp{
		pointer-events: auto;
		opacity: 1;
	}
	label[for="open_nav"] {
		display: flex;
	}
}


.site-footer{
	text-align: center;
	padding: 50px 0 190px;
	background-color: #02c2c7;
}
.site-footer .row1{
	display: flex;
	justify-content: center;
	margin: 80px 0 80px;
}
.site-footer .entry_block .box{
	--box_color1: #02c2c7;
	--box_color2: #fff;
	--box_color3: #fff;
	border-radius: 10px;
}
.site-footer .entry_block .box.orange{
	--box_color1: #f4a300;
	--box_color2: #fff;
}


.site-footer .row2{
	display: flex;
	justify-content: center;
	gap: 50px;
	padding: 0 20px;
}
html.sp .site-footer .row2{
	flex-wrap: wrap;
	gap: 7vmin 0px;
}
.site-footer .row2 .img2{
	margin: 0 0 25px;
}
html.sp .site-footer .row2 .img2{
	width: 230px;
}
.site-footer .row2 .box1{
	margin: 0 55px 0 0;
}
.site-footer .row2 :is(.box2, .box3, .box4){
	text-align: left;
	line-height: 1.5;
}
.site-footer .row2 :is(.box2, .box3, .box4) a{
	display: inline-block;
	line-height: 1.3;
	margin: 10px 0;
}
html.sp .site-footer .row2 .box1{
	order: 4;
	flex-basis: 60%;
	margin: 0 0 0 0;
	position: relative;
	top: 30px;
}
html.sp .site-footer .row2 .box2{
	order: 1;
	flex-basis: 46%;
	text-align: center;
}
html.sp .site-footer .row2 .box3{
	order: 2;
	flex-basis: 53%;
}
html.sp .site-footer .row2 .box4{
	order: 3;
	flex-basis: 35%;
}
.site-footer .row2 a{
	text-decoration: none;
	font-weight: 600;
	letter-spacing: 0.1em;
	color: #fff;
}
.site-footer .row2 .box3 a{
	font-size: 2rem;
}
html.sp .site-footer .row2 .box3 a{
	font-size: 1.8rem;
}
.site-footer .entry_block{
	flex-wrap: wrap;
	justify-content: center;
}
html.sp .site-footer .entry_block{
	display: flex;
}
@media (max-width: 800px) {
	.site-footer .entry_block{
		flex-direction: column;
	}
}


.anchor_target{
	position: relative;
	top: -20px;
}

a:is(.button1, .button2, .button3, .button4, .button5){
	white-space: nowrap;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	text-align: left;
	text-decoration: none;
	font-weight: 600;
	letter-spacing: 0.1em;
	color: #fff;
	background-color: #f50418;
	border-radius: 0.5em;
	box-sizing: border-box;
	padding: 0.75em 1.8em;
}
a.button1.more{
	padding: 0.65em 1.7em;
}
html.sp a.button1.more img{
	width: 55px;
}
a:is(.button1, .button2, .button3, .button4, .button5):after{
	content: "";
	display: inline-block;
	width: 0.4em;
	height: 0.4em;
	border-right: 0.15em solid #fff;
	border-top: 0.15em solid #fff;
	transform: rotate(45deg);
	margin: 0 0 0 0.3em;
}
a.button2{
	font-size: 2.2rem;
	line-height: 1.7;
	padding: 1.4em 2.7em;
}
html.sp a.button2{
	font-size: 1.8rem;
}
a.button2:after{
	width: 0.9em;
	height: 0.9em;
	border-right: 0.25em solid #fff;
	border-top: 0.25em solid #fff;
	margin: 0 0 0 0.6em;
}
a.button3{
	color: #6e6e6e;
	background-color: #fff;
	padding: 0em 0.9em;
	border-radius: 0.3em;
}
a.button3:after{
	border-color: #6e6e6e;
	margin: 0 0 0 7px;
}
a.button3:hover{
	opacity: 0.8;
}
a.button4{
	background-color: transparent;
	padding: 0em 0.5em;
}
a.button4:after{
	margin: 0 0 0 3px;
}
a.button5{
	background-color: #02c2c7;
	padding: 0em 0.9em;
}
a.button5:after{
	margin: 0 0 0 7px;
}

.hover_kakudai{
	transition: 0.2s ease-out;
}
.hover_kakudai:hover{
	transform: scale(1.1);
}

.naname_in{
	transition: 0.7s ease-out;
	transform: translate(-100px, 20px);
	opacity: 0;
}
.naname_in.scroll_enter{
	transform: translate(0px, 0px);
	opacity: 1;
}

.ue_in{
	transition: 0.5s ease-in;
	transform: translate(0px, 50px);
	opacity: 0;
}
.ue_in.scroll_enter{
	transform: translate(0px, 0px);
	opacity: 1;
}

.ue_in2{
	transition: 1s ease-in;
	transform: translate(0px, 100px);
	opacity: 0;
}
.ue_in2.scroll_enter{
	transform: translate(0px, 0px);
	opacity: 1;
}

@keyframes anim_pyon_in {
	0%   { transform: translate(0px, 200px); opacity: 0; }
	60%  { transform: translate(0px, -50px); }
	70%  { transform: translate(0px, -50px); }
	100% { transform: translate(0px, 0px); opacity: 1; }
}
.pyon_in{
	opacity: 0;
}
.pyon_in.scroll_enter{
	animation: anim_pyon_in ease-in-out 0.8s 1 forwards;
}

@keyframes anim_pyonpyon_in {
	0%   { transform: translate(0px, 0px); }
	20%  { transform: translate(0px, -70px); }
	40%  { transform: translate(0px, -100px); }
	60%  { transform: translate(0px, -100px); }
	80%  { transform: translate(0px, -70px); }
	100% { transform: translate(0px, 0px); }
}
.pyonpyon_in{
}
.pyonpyon_in.scroll_enter{
	animation: anim_pyonpyon_in linear 0.5s 2 forwards;
}

.kakudai_in{
	transition: 0.4s ease-out;
	transform: scale(0.7);
	opacity: 0;
}
.kakudai_in.scroll_enter{
	transform: scale(1);
	opacity: 1;
}

.area_dummy{
	height: 1000px;
	background-color: #eee;
}





/* トップ *************************************************************************** */

.page-template-top{
	/*letter-spacing: 0.1em;*/
}

.page-template-top .site-header{
	left: 0;
	top: 0;
	width: 100%;
}
html.pc .page-template-top .site-header{
	position: absolute;
}

body.page-template-top{
	--nav_text_color: #fff;
}
html.sp body.page-template-top{
	--nav_text_color: #000;
}

html.pc .page-template-top label[for="open_nav"] span,
html.pc .page-template-top label[for="open_nav"] span:before,
html.pc .page-template-top label[for="open_nav"] span:after {
	background-color: #fff;
}

.page-template-top .main_image_bg{
	position: absolute;
	top: 0;
	display: flex;
	background-image: url(img/top/1_bg.jpg);
	background-size: cover;
	background-position: 30% 60%;
	background-repeat: no-repeat;
	height: 100vh;
	width: 100%;
}
.page-template-top .main_image_bg .box{
	flex-basis: 25%;
	background-size: cover;
	background-position: 50%;
	background-repeat: no-repeat;
}
.page-template-top .main_image_bg .box1{
	background-image: url(img/top/1_1.jpg);
}
.page-template-top .main_image_bg .box2{
	background-image: url(img/top/1_2.jpg);
}
.page-template-top .main_image_bg .box3{
	background-image: url(img/top/1_3.jpg);
}
.page-template-top .main_image_bg .box4{
	background-image: url(img/top/1_4.jpg);
}
.page-template-top .main_image{
	position: absolute;
	top: 0;
	height: 100vh;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.page-template-top .main_movie{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	height: 100vh;
	background-color: #000;
}
html.sp .page-template-top .main_movie{
	height: 56.25vw;
}
.page-template-top .main_movie iframe{
	position: absolute;
	height: calc(100vh + 200px);
	min-height: calc(56.25vw + 200px);
	width: 177.777vh;
	min-width: 100%;
	/*margin: 0px 0% 0;*/
	user-select: none;
	pointer-events: none;
	z-index: 1;
}
html.sp .page-template-top .main_movie iframe{
	height: calc(56.25vw + 200px);
	min-height: 0;
	width: 100%;
}
.page-template-top .main_movie .front{
	position: relative;
	text-align: center;
	/*margin: 0 -100%;*/
	z-index: 10;
	width: 50%;
}
html.sp .page-template-top .main_movie .front{
	width: 100%;
}
.page-template-top .main_movie .front img{
	max-width: 75vw;
	width: 100%;
}
html.sp .page-template-top .main_movie .front img{
	width: 55%;
}

.page-template-top .main_movie .front2{
	position: absolute;
	bottom: 0;
	z-index: 10;
}

.entry_block{
	display: flex;
	gap: 10px;
	margin: 0 10px;
}
html.sp .entry_block{
	display: none;
}
.entry_block .box{
	--box_color1: #fff;
	--box_color2: #02c2c7;
	--box_color3: #6e6e6e;
	text-align: center;
	color: var(--box_color1);
	background-color: var(--box_color2);
	padding: 10px 15px;
	border-radius: 20px 20px 0 0;
}
.entry_block .box.orange{
	--box_color2: #ff9100;
}
.entry_block .box2{
	display: flex;
	justify-content: center;
	gap: 5px;
}
.entry_block .box .l{
	display: flex;
	flex-direction: column;
	gap: 9px;
}
.entry_block .text1{
	font-size: 2.5rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.05em;
}
.entry_block .text2{
	font-size: 2rem;
	font-weight: 600;
	line-height: 1.3;
	padding: 0px 0 9px;
}
.entry_block .box .r{
	display: flex;
	flex-direction: column;
	border: 1px solid var(--box_color1);
	border-radius: 6px;
	overflow: hidden;
}
.entry_block .box .r .top{
	font-weight: 600;
	color: var(--box_color3);
	background-color: var(--box_color1);
}
.entry_block .box .button3{
	color: var(--box_color3);
	background-color: var(--box_color1);
}
.entry_block .box .button3:after{
	border-color: var(--box_color3);
}
.entry_block .box .r .bottom{
	display: flex;
	flex-grow: 1;
}
.entry_block .box .r .bottom a{
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 0;
	color: var(--box_color1);
}
.entry_block .box .r .bottom a:after{
	border-color: var(--box_color1);
}
.entry_block .box .r .bottom a:hover{
	background-color: color(from var(--box_color1) srgb r g b / 0.2);
}
.entry_block .box .r .bottom a:first-child{
	border-right: 1px solid var(--box_color1);
}
.entry_block .button_row{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
}

.page-template-top .namagoe_top{
	position: absolute;
	bottom: 10px;
	right: 10px;
	z-index: 100;
}
html.sp .page-template-top .namagoe_top{
	position: static;
	display: block;
	width: 70vmin;
	margin: 40px auto;
}
html.sp .page-template-top .namagoe_top img{
	width: 100%;
}

.page-template-top .kyouryu{
	position: absolute;
	bottom: 33px;
	left: 40px;
	z-index: 100;
}
html.sp .page-template-top .kyouryu{
	position: static;
	display: block;
	width: 55vmin;
	margin: 80px auto 40px;
}
html.sp .page-template-top .kyouryu img{
	width: 100%;
}

.page-template-top .area2{
	/*margin-top: calc(100vh - 106px + 70px);*/
	margin: 70px 0 100px;
}
.page-template-top .area2 .row1{
	display: flex;
	justify-content: center;
}
html.sp .page-template-top .area2 .row1{
	/*flex-wrap: wrap;*/
}
.page-template-top .area2 .row1 .left{
	margin: 0 min(150px, 13.6%) 0 3%;
}
html.sp .page-template-top .area2 .row1 .left{
	margin: 0 0 0 0;
}
html.sp .page-template-top .area2 .row1 .left .more_area{
	text-align: center;
}
html.sp .page-template-top .area2 .row1 .left .more_area a{
	font-size: 2rem;
	padding: 0.8em 2em;
}
html.sp .page-template-top .area2 .row1 .left .more_area a img{
	width: 70px;
}
.page-template-top .area2 .row1 .right{
	margin-right: -170px;
}
html.sp .page-template-top .area2 .row1 .right{
	display: none;
}
.page-template-top .area2 .row1 .right img{
	width: 430px;
}
.page-template-top .area2 .row1 h2{
	/* text-align: justify; */
}

html.sp .page-template-top .area3{
	margin: 90px 0;
}

.row_staff{
	display: flex;
	justify-content: center;
	align-items: flex-end;
}
html.sp .row_staff{
	flex-wrap: wrap;
}
.row_staff .box{
	width: 300px;
	margin: 0 30px;
}
html.sp .row_staff .box{
	flex-basis: 45%;
	width: 45%;
	margin: 60px 10px 0px;
}
.row_staff .box .image{
	position: relative;
	height: 550px;
}
.row_staff .box .img1,
.row_staff .box .img2,
.row_staff .box .img_n,
.row_staff .box .button1{
	position: absolute;
}
html.sp .row_staff .box1{
	order: 2;
}
html.sp .row_staff .box2{
	order: 1;
}
html.sp .row_staff .box3{
	order: 3;
}
html.sp .row_staff .box1 .image{
	height: 525px;
}
.row_staff .box1 .img1{
	top: 30px;
	left: 100px;
}
.row_staff .box1 .img2{
	top: 0;
	left: 0;
}
.row_staff .box1 .img_n{
	top: 400px;
	left: 45px;
}
.row_staff .box1 .button1{
	top: 265px;
	left: 45px;
}
.row_staff .box1 .text{
	top: 300px;
	left: 50px;
}
.row_staff .box2{
	position: relative;
	top: 40px;
}
html.sp .row_staff .box2{
	top: 0px;
}
.row_staff .box2 .image{
	height: 475px;
}
html.sp .row_staff .box2 .image{
	height: 505px;
}
.row_staff .box2 .img1{
	top: 30px;
	left: 60px;
}
.row_staff .box2 .img2{
	top: 0;
	left: 0;
}
.row_staff .box2 .img_n{
	top: 335px;
	left: 30px;
}
.row_staff .box2 .button1{
	top: 304px;
	left: 160px;
}
.row_staff .box3{
	position: relative;
	top: -10px;
}
.row_staff .box3 .image{
	height: 490px;
}
.row_staff .box3 .img1{
	top: 30px;
	left: 0px;
}
.row_staff .box3 .img2{
	top: 0;
	left: 0;
}
.row_staff .box3 .img_n{
	top: 380px;
	left: 170px;
}
.row_staff .box3 .button1{
	top: 310px;
	left: 18px;
}

.box_shin{
	position: relative;
	background-image: url(img/top/box_shin_bg.jpg);
	background-repeat: no-repeat;
	width: 778px;
	height: 314px;
	margin: 80px auto;
}
html.sp .box_shin{
	background-image: url(img/top/box_shin_bg_sp.jpg);
	width: 680px;
	height: 513px;
}
.box_shin .button1{
	position: absolute;
	left: 130px;
	top: 245px;
}
html.sp .box_shin .button1{
	left: 50px;
	top: 430px;
}
html.sp .box_shin .button1 img{
	width: 60px;
}
.box_shin .img_n{
	position: absolute;
	left: 590px;
	top: 148px;
}
html.sp .box_shin .img_n{
	left: auto;
	right: 50px;
	top: 320px;
}

.page-template-top .area3_4{
	text-align: center;
	margin: 50px 0;
}


@keyframes anim_namagoe_row {
	0%   { background-position-x: 0; }
	100% { background-position-x: 1380px; }
}
.namagoe_row{
	text-align: center;
	background-image: url(img/top/4_bg.jpg);
	height: 270px;
	margin: 150px 0 0;
	animation: anim_namagoe_row 40s linear 0s infinite;
}
.namagoe_row .img_n{
	margin: -70px 0 0;
}

.page-template-top .area5{
	background-color: #ffee00;
	padding: 80px 0;
}
.page-template-top .area5 .img1{
	max-width: 90%;
}
.page-template-top .area5_1{
	display: flex;
	justify-content: center;
	flex-direction: row-reverse;
	flex-wrap: wrap;
	margin: 50px 0 0;
}
.page-template-top .area5_1 .box{
	position: relative;
	flex-basis: 450px;
	/*height: 300px;*/
	background-size: cover;
	background-position: 50%;
	background-repeat: no-repeat;
}
html.sp .page-template-top .area5_1 .box{
	flex-basis: 450px;
	margin: 100px 0;
}
html.sp .page-template-top .area5_1 .box.scroll_enter{
	transform: scale(1.4);
}
.page-template-top .area5_1 .box img{
	user-select: none;
	-webkit-user-drag: none;
}
html.sp .page-template-top .area5_1 .box img{
}
.page-template-top .area5_1 .box h3{
	text-align: center;
	font-size: 3.4rem;
	font-weight: 600;
	line-height: 1.3;
	margin: 0 0 13px;
}
html.sp .page-template-top .area5_1 .box h3{
	font-size: 1.8rem;
}
.page-template-top .area5_1 .box p{
	line-height: 1.7;
	margin: 0 0;
}
html.sp .page-template-top .area5_1 .box p{
	font-size: 1.1rem;
	line-height: 1.5;
}
.page-template-top .area5_1 .box .text,
.page-template-top .area5_1 .box .button1{
	position: absolute;
}
.page-template-top .area5_1 .box1 .text{
	width: 290px;
	top: 50px;
	left: 70px;
}
html.sp .page-template-top .area5_1 .box .button1{
	padding: 0.5em 1.2em;
}
html.sp .page-template-top .area5_1 .box .button1:after{
	width: 0.2em;
	height: 0.2em;
	border-width: 0.1em;
	margin: 0 0 0 0.2em;
}
html.sp .page-template-top .area5_1 .box1 .text{
	width: 330px;
	left: 50px;
}
.page-template-top .area5_1 .box1 .button1{
	top: 143px;
	left: 290px;
}
.page-template-top .area5_1 .box2{
	margin: 110px 30px 0 0;
}
.page-template-top .area5_1 .box2 .text{
	width: 290px;
	top: 76px;
	left: 65px;
}
html.sp .page-template-top .area5_1 .box2 .text{
	width: 330px;
	left: 45px;
}
.page-template-top .area5_1 .box2 .button1{
	top: 17px;
	left: 285px;
}
.page-template-top .area5_1 .box3{
	margin: -170px 0 0 30px;
}
.page-template-top .area5_1 .box3 .text{
	width: 290px;
	top: 107px;
	left: 70px;
}
.page-template-top .area5_1 .box3 .button1{
	top: 50px;
	left: 271px;
}
.page-template-top .area5_1 .box4{
	margin: 30px 0 0 20px;
}
.page-template-top .area5_1 .box4 .text{
	width: 277px;
	top: 98px;
	left: 40px;
}
.page-template-top .area5_1 .box4 .button1{
	top: 237px;
	left: 240px;
}
.page-template-top .area5_1 .box5{
	flex-basis: 618px;
	margin: -110px -100px 0 -50px;
}
html.sp .page-template-top .area5_1 .box5{
	flex-basis: 618px;
	margin: 100px -70px 100px -60px;
}
.page-template-top .area5_1 .box5 .text{
	width: 260px;
	top: 100px;
	left: 180px;
}
.page-template-top .area5_1 .box5 .button1{
	top: 37px;
	left: 350px;
}
.page-template-top .area5_1 .box6{
	flex-basis: 525px;
	margin: 30px 0px 0 -50px;
}
html.sp .page-template-top .area5_1 .box6{
	flex-basis: 525px;
	/* margin: 80px 0px 0 0px; */
}
.page-template-top .area5_1 .box6 .text{
	width: 350px;
	top: 162px;
	left: 135px;
}
.page-template-top .area5_1 .box6 .button1{
	top: 311px;
	left: 260px;
}
html.sp .page-template-top .area5_1 .box6 .button1{
	top: 310px;
	left: 290px;
}
.area5 .box6 p{text-align: center;}
.page-template-top .area5_1 .box7{
	flex-basis: 568px;
	margin: -120px 0px 0 350px;
}
html.sp .page-template-top .area5_1 .box7{
	flex-basis: 520px;
	/* margin: 80px 0px 0 0px; */
}
.page-template-top .area5_1 .box7 .text{
	width: 360px;
	top: 162px;
	left: 90px;
}
html.sp .page-template-top .area5_1 .box7 .text{
	top: 153px;
	left: 70px;
}
.page-template-top .area5_1 .box7 .button1{
	top: 291px;
	left: 290px;
}
html.sp .page-template-top .area5_1 .box7 .button1{
	top: 270px;
	left: 300px;
}

.page-template-top .area5_2{
	text-align: center;
	margin: 50px 0 0;
}
html.sp .page-template-top .area5_2{
	margin: 80px 0 0;
}

.page-template-top .area6{
	padding: 70px 0 10px;
}

.page-template-top .namagoe_row.foot{
	display: none;
}

.boxes_type1{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 50px 0 50px;
}
html.sp .boxes_type1{
	justify-content: center;
}
.boxes_type1 .box{
	flex-basis: 48%;
	margin: 0 0 50px;
}
html.sp .boxes_type1 .box{
	flex-basis: 80%;
}
.boxes_type1 .box2{
	flex-basis: 100%;
	margin: 0 0 50px;
}
.boxes_type1 .box2 .box{
	margin: 0;
}
.boxes_type1 .box3{
	width: 820px;
	max-width: 75vw;
	margin: 0 auto;
}
.boxes_type1 .images{
	display: flex;
	justify-content: space-between;
}
html.sp .boxes_type1 .images{
	justify-content: center;
	flex-wrap: wrap;
}
.boxes_type1 .image{
	text-align: center;
	margin: 0 0 30px;
}
html.sp .boxes_type1 .image img{
	width: 100%;
}
.boxes_type1 .images .image{
	flex-basis: 48%;
}
html.sp .boxes_type1 .images .image{
	flex-basis: 80%;
}
.boxes_type1 .text{
	max-width: 470px;
	margin: 0 auto;
}
html.sp .boxes_type1 .text{
	max-width: 82%;
}
.boxes_type1 h3{
	font-size: 2.6rem;
	font-weight: 600;
	margin: 10px 0;
}
html.sp .boxes_type1 h3{
	font-size: 2.3rem;
}
.boxes_type1 p{
	margin: 10px 0;
}
.boxes_type1 .box .waku1{
	text-align: center;
	font-size: 2.2rem;
	font-weight: 600;
	line-height: 1.6;
	color: #fff;
	background-color: #02c2c7;
	border: 1px solid #000;
	border-radius: 10px;
	padding: 8px 0;
	margin: 0 0 30px;
}
html.sp .boxes_type1 .box .waku1{
	font-size: 1.9rem;
}
.boxes_type1 .box .waku2{
	position: relative;
	text-align: center;
	font-size: 2rem;
	font-weight: 600;
	line-height: 1.6;
	border: 1px solid #000;
	border-radius: 10px;
	padding: 8px 0;
}
html.sp .boxes_type1 .box .waku2{
	font-size: 1.8rem;
}
.boxes_type1 .box .waku2 .nen{
	position: absolute;
	left: 10px;
	top: calc(50% - 11px);
	font-size: 0.8em;
}
.boxes_type1 .box .sita{
	text-align: center;
	margin: 2px 0 -5px;
}
.boxes_type1 .box .sita:before{
	content: "";
	display: inline-block;
	background-image: url(img/top/sita.svg);
	background-size: contain;
	background-position: 50%;
	background-repeat: no-repeat;
	aspect-ratio: 24 / 19;
	width: 24px;
}
html.sp .boxes_type1 .box .sita:before{
	/*transform: scale(1.1);*/
	width: 28px;
}
.boxes_type1 .box .ten{
	text-align: center;
	margin: 10px 0 0;
}
.boxes_type1 .box .ten:before{
	content: url(img/top/ten.svg);
}





/* 魅力７選 *************************************************************************** */

.page-template-miryoku #page{
	background-color: #ffee00;
}

.miryoku_list .box{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	background-color: #fff;
	border-radius: 10px;
	box-shadow: 5px 5px 0 0 #02c2c7;
	padding: 30px;
	margin: 0 0 15px;
}
html.sp .miryoku_list .box{
	padding: 20px;
}
.miryoku_list .box .div1{
	flex-basis: 592px;
}
html.sp .miryoku_list .box .div1{
	flex-basis: auto;
	margin: 0 0 10px;
}
.miryoku_list .box .div2{
	flex-grow: 1;
	display: flex;
	justify-content: center;
	align-items: center;
}
.miryoku_list .box h3{
	font-size: 3.4rem;
	margin: 0 0 25px;
}
html.sp .miryoku_list .box h3{
	font-size: 2.7rem;
	margin: 0 0;
}
.miryoku_list .box h3 .num{
	margin: 0 10px 0 0;
}
.miryoku_list .box h4{
	margin: 25px 0 20px;
}
.miryoku_list .box p{
	margin: 25px 0 0;
	line-height: 1.6;
}
.miryoku_list .box .brown{
	font-weight: 600;
	color: #cf8012;
}
.miryoku_list .box .image{
	text-align: center;
	padding: 30px 0 0;
}
html.sp .miryoku_list .box .image img{
	zoom: 1.1;
}





/* 先輩からのメッセージ *************************************************************************** */

.page-template-senpai_message .staff{
	margin: 150px 0;
}

.page-template-senpai_message .staff .main{
	display: flex;
	justify-content: center;
	align-items: center;
	background-size: cover;
	background-position: 50%;
	background-repeat: no-repeat;
	height: 500px;
}
html.sp .page-template-senpai_message .staff .main{
	height: auto;
	background-size: auto 470px;
	background-position-y: 0%;
	background-color: #02c2c7;
	padding: 0 0 80px;
}
.page-template-senpai_message .staff .main .box{
	position: relative;
	font-weight: 600;
	background-color: #fff;
	box-shadow: 10px 10px 0 0 #02c2c7;
	padding: 50px 50px 60px;
	margin: 0 0 15px 500px;
}
html.sp .page-template-senpai_message .staff .main .box{
	margin: 430px 0 0px 0px;
}
.page-template-senpai_message .staff .main .box.left{
	margin: 0  500px 15px 0;
}
.page-template-senpai_message .staff .main .box p{
	font-size: 2rem;
	margin: 0 0 20px;
}
.page-template-senpai_message .staff .main .box .job{
	font-size: 1.4rem;
}
.page-template-senpai_message .staff .main .box .name{
	font-family: 'BebasNeue';
	font-weight: 300;
	font-size: 4.38rem;
	letter-spacing: 0.05em;
	line-height: 1.2;
}
.page-template-senpai_message .staff .main .box .nyusya{
	font-size: 1.4rem;
}
.page-template-senpai_message .staff .main .box .img_n{
	position: absolute;
	bottom: -40px;
	right: -25px;
}
.page-template-senpai_message .staff .main_green{
	height: 520px;
	/*background-color: #02c2c7;*/
}

.page-template-senpai_message .staff h3{
	text-align: center;
	margin: 40px 0 17px;
}
.page-template-senpai_message .staff p{
	margin: 15px 0 50px;
}

.page-template-senpai_message .staff .ouen{
	text-align: center;
}

.page-template-senpai_message .schedule .swiper-container{
	position: relative;
}
.page-template-senpai_message .schedule .swiper-container:before{
	content: "";
	position: absolute;
	left: 0;
	top: 31px;
	width: 100%;
	height: 4px;
	background-color: #000;
	z-index: 300;
}

.page-template-senpai_message .schedule .swiper-wrapper{
	width: auto;
	padding: 95px 0 2px;
}
.page-template-senpai_message .schedule .swiper-slide{
	text-align: center;
	border-radius: 15px;
	border: 1px solid #000;
	box-sizing: border-box;
	width: 290px;
	padding: 10px 20px 20px;
}
html.sp .page-template-senpai_message .schedule .swiper-slide{
	width: 320px;
}
.page-template-senpai_message .schedule .swiper-slide .time{
	color: #02c2c7;
	font-family: 'BebasNeue';
	font-size: 2rem;
	letter-spacing: 0.07em;
	line-height: 1.5;
}
.page-template-senpai_message .schedule .swiper-slide .title{
	color: #02c2c7;
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 1.5;
	margin: 0 0 15px;
}
.page-template-senpai_message .schedule .swiper-slide .image img{
	width: 100%;
}
.page-template-senpai_message .schedule .swiper-slide p{
	font-size: 1.4rem;
	line-height: 1.5;
	margin: 15px 0 0;
}
.page-template-senpai_message .schedule .tape{
	position: absolute;
	top: 31px;
	left: 0;
	width: 100%;
	height: 50px;
	display: flex;
	border-left: 2px solid #000;
}
.page-template-senpai_message .schedule .tape .hanni{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.4rem;
	font-weight: 600;
	border-right: 2px solid #000;
	background-color: #aaeef0;
}
.page-template-senpai_message .schedule .tape .hanni:first-child{
	/*border-left: 2px solid #000;*/
}
.page-template-senpai_message .schedule .tape .hanni.white{
	background-color: #fff;
}
.page-template-senpai_message .schedule .tape .hanni:before,
.page-template-senpai_message .schedule .tape .hanni:after{
	content: attr(data-left);
	position: absolute;
	top: -31px;
	left: -20px;
	font-family: 'BebasNeue';
	font-size: 2rem;
	font-weight: 300;
	letter-spacing: 0.05em;
}
html.sp .page-template-senpai_message .schedule .tape .hanni:before,
html.sp .page-template-senpai_message .schedule .tape .hanni:after{
	top: -40px;
	left: -30px;
}
.page-template-senpai_message .schedule .tape .hanni:after{
	content: attr(data-right);
	left: auto;
	right: -20px;
}
html.sp .page-template-senpai_message .schedule .tape .hanni:after{
	left: auto;
	right: -30px;
}
.page-template-senpai_message .schedule .swiper-button-prev,
.page-template-senpai_message .schedule .swiper-button-next{
	/*position: relative;*/
	width: 71px;
	height: 71px;
	outline: none;
}
.page-template-senpai_message .schedule .swiper-button-prev:after,
.page-template-senpai_message .schedule .swiper-button-next:after{
	content: "";
	position: relative;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: 50%;
	background-repeat: no-repeat;
}
.page-template-senpai_message .schedule .swiper-button-prev:after{
	background-image: url(img/senpai_message/al.png);
}
.page-template-senpai_message .schedule .swiper-button-next:after{
	background-image: url(img/senpai_message/ar.png);
}





/* 会社について *************************************************************************** */

.page-template-about_us .site-header{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
}

body.page-template-about_us{
	--nav_text_color: #fff;
}

.page-template-about_us label[for="open_nav"] span,
.page-template-about_us label[for="open_nav"] span:before,
.page-template-about_us label[for="open_nav"] span:after {
	background-color: #fff;
}

.page-template-about_us .main_image{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	background-image: url(img/about_us/1_bg.jpg);
	background-repeat: no-repeat;
	background-position-x: 50%;
	height: 776px;
}
html.sp .page-template-about_us .main_image{
	background-image: url(img/about_us/1_bg_sp.jpg);
	height: 100vh;
}
/*.page-template-about_us .main_image .box .text{
	color: #fff;
	width: 300px;
}*/
.page-template-about_us h2 {
    color: #fff;
}
.page-template-about_us .area2{
	border-top: 1px solid #000;
	margin: 50px 0;
}

.page-template-about_us .kyouryu{
	position: absolute;
	bottom: 33px;
	left: 40px;
	z-index: 100;
}
html.sp .page-template-about_us .kyouryu{
/*	position: static;
	display: block;
	width: 55vmin;
	margin: 80px auto 40px;*/
}

.page-template-about_us .area2 .row1{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	padding: 20px 0;
	border-bottom: 1px solid #000;
}
.page-template-about_us .area2 .row1 .left{
	margin-right: 50px;
}
.page-template-about_us .area2 .row1 h3{
	font-size: 2.4rem;
	margin: 15px 0 15px;
}
.page-template-about_us .area2 .row1 p{
	margin: 0;
}
.page-template-about_us .area2 .row1 a.button2{
	font-size: 1.4rem;
	padding: 0 2.7em;
	height: 62px;
	min-width: 190px;
}
html.sp .page-template-about_us .area2 .row1 a.button2{
	height: 100px;
	padding: 0 2em;
}
.page-template-about_us .area2 .row1 .right{
	margin: 15px 0;
}





/* 社長からのメッセージ *************************************************************************** */

.page-template-syacho_message .site-header{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
}

.page-template-syacho_message .main_image{
	display: flex;
	justify-content: center;
	align-items: flex-end;
	background-image: url(img/syacho_message/1_bg.jpg);
	background-repeat: no-repeat;
	background-position-x: 50%;
	height: 570px;
}
html.sp .page-template-syacho_message .main_image{
	height: 800px;
}
.page-template-syacho_message .main_image .box{
	text-align: center;
}
.page-template-syacho_message .main_image .box .img1_1{
	margin: 0 0 0 60px;
}
.page-template-syacho_message .main_image .box .img1_2{
	position: relative;
	margin: -275px 0 0;
}
html.sp .page-template-syacho_message .main_image .box .img1_2{
	position: relative;
	margin: -0px 0 0;
	width: 380px;
}

.page-template-syacho_message .area2{
	margin: 150px 0 300px;
	padding: 0 40px;
}
html.sp .page-template-syacho_message .area2{
	margin: 50px 0 200px;
}
.page-template-syacho_message .area2 .row1{
	display: flex;
	justify-content: space-between;
}

.page-template-syacho_message .area2 .left > iframe{
	aspect-ratio: 370 / 700;
	width: 100%;
	height: auto;
	/*width: 370px;*/
	/*height: 700px;*/
}
.page-template-syacho_message .area2 .left{
	width: min(370px, 36vw);
	margin-bottom: 30px;
}
body .tiktok-embed{
	margin: 0;
}
html.sp .page-template-syacho_message .area2 .tiktok-embed{
}
.page-template-syacho_message .area2 .right{
	text-align: center;
	max-width: min(440px, 40vw);
}
.page-template-syacho_message .area2 .right h3{
	font-size: 3rem;
	letter-spacing: 0.07em;
	margin: 0px 0 50px;
}
html.sp .page-template-syacho_message .area2 .right h3{
	text-align: center;
}
.page-template-syacho_message .area2 .right p{
	font-size: 1.8rem;
}
.page-template-syacho_message .area2 .right .job{
	font-size: 1.8rem;
	font-weight: 600;
	margin: 60px 0 0;
}
.page-template-syacho_message .area2 .right .name{
	font-size: 2.8rem;
	font-weight: 600;
	ruby-position: under;
}
@media (max-width: 720px) {
	.page-template-syacho_message .area2 .row1{
		flex-wrap: wrap;
		justify-content: center;
	}
	.page-template-syacho_message .area2 .left{
		transform-origin: 50% 0;
		width: min(370px, 100%);
		/*	transform: scale(1.7);*/
		/*	zoom: 1.7;*/
	}
	.page-template-syacho_message .area2 .right{
		max-width: 90%;
	}
}





/* なま声ショート動画 *************************************************************************** */

.page-template-namagoe #page{
	background-color: #000;
}

body.page-template-namagoe{
	--nav_text_color: #fff;
}

.page-template-namagoe label[for="open_nav"] span,
.page-template-namagoe label[for="open_nav"] span:before,
.page-template-namagoe label[for="open_nav"] span:after {
	background-color: #fff;
}

.page-template-namagoe{
	--main_image_bg_w: 599px;
	--main_image_bg_h: 153px;
}
@keyframes anim_namagoe_main_image {
	0%   { background-position-x: 0; }
	100% { background-position-x: var(--main_image_bg_w); }
}
.page-template-namagoe .main_image{
	text-align: center;
	background-image: url(img/namagoe/1_bg.png);
	background-position: 50%;
	background-size: var(--main_image_bg_w) var(--main_image_bg_h);
	background-repeat: repeat-x;
	animation: anim_namagoe_main_image 18s linear 0s infinite;
}
/*@keyframes anim_namagoe_main_image_sp {
	0%   { background-position-x: 0; }
	100% { background-position-x: 778px; }
}*/
html.sp .page-template-namagoe{
	--main_image_bg_w: 778px;
	--main_image_bg_h: 198px;
}
html.sp .page-template-namagoe .main_image{
	animation-duration: 23s
}

.page-template-namagoe .area2{
	text-align: center;
	color: #fff;
}
.page-template-namagoe .area2 h3{
	font-size: 3.8rem;
	margin: 50px 0 10px;
}
html.sp .page-template-namagoe .area2 h3{
	font-size: 2.3rem;
}
.page-template-namagoe .area2 p{
	text-align: center;
	font-size: 2.2rem;
	line-height: 1.6;
	margin: 10px 0 50px;
}
html.sp .page-template-namagoe .area2 p{
	font-size: 1.7rem;
}

.page-template-namagoe .area3{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
html.sp .page-template-namagoe .area3{
	justify-content: center;
}
.page-template-namagoe .area3 .box{
	box-sizing: border-box;
	flex-basis: 32.5%;
	margin: 0 0 15px;
}
html.sp .page-template-namagoe .area3 .box{
	flex-basis: 85%;
	overflow: hidden;
/*	border-radius: 15px;*/
}
.page-template-namagoe .area3 .box.dummy{
	margin: 0;
}
/*.page-template-namagoe .area3 blockquote{
	min-width: 0 !important;
	height: auto;
	border-radius: 6px;
	margin: 0;
}
html.sp .page-template-namagoe .area3 blockquote{
	transform-origin: 50% 0;
	transform: scale(1.72);
	zoom: 1.72;
}
.page-template-namagoe .area3 > iframe{
	display: block;
	aspect-ratio: 692 / 1231;
	width: 100%;
	height: auto;
}*/
.page-template-namagoe .area3 iframe,
.page-template-namagoe .area4 iframe{
	display: block;
	aspect-ratio: 641 / 1139;
	width: 100%;
	height: auto !important;
	max-height: none !important;
}

.page-template-namagoe .area4{
	text-align: center;
	margin: 80px auto;
}
.page-template-namagoe .area4 iframe{
	width: 32.5%;
	margin: 50px auto;
/*	border-radius: 15px;*/
}
html.sp .page-template-namagoe .area4 iframe{
	width: 85%;
}





/* 保護者の方へ *************************************************************************** */

.page-template-for_guardian .site-header{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
}

body.page-template-for_guardian{
	--nav_text_color: #fff;
}
.page-template-for_guardian label[for="open_nav"] span,
.page-template-for_guardian label[for="open_nav"] span:before,
.page-template-for_guardian label[for="open_nav"] span:after {
	background-color: #fff;
}

.page-template-for_guardian .main_image{
	background-image: url(img/for_guardian/1_bg.jpg);
	background-size: cover;
	background-position: 50%;
	background-repeat: no-repeat;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	height: 651px;
	padding: 100px 0 0;
}
.page-template-for_guardian h2{
	color: #fff;
}

.page-template-for_guardian .top_text{
	text-align: center;
	font-size: 2.5rem;
	line-height: 1.7;
	font-weight: 600;
	margin: 70px 0 50px;
}

.page-template-for_guardian .area2{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 20px 0 80px;
}
html.sp .page-template-for_guardian .area2{
	flex-direction: column;
	padding: 0;
}
.page-template-for_guardian .area2 .left{
	text-align: center;
}
html.sp .page-template-for_guardian .area2 .left{
	order: 2;
	margin: 50px 0;
}
html.sp .page-template-for_guardian .area2 .left img{
	position: relative;
	left: -10px;
}
.page-template-for_guardian .area2 .left .job{
	font-size: 2.5rem;
	line-height: 1.5;
	font-weight: 600;
	margin: 30px 0 0;
}
html.sp .page-template-for_guardian .area2 .left .job{
	font-size: 2rem;
}
.page-template-for_guardian .area2 .left .name{
	font-size: 3.8rem;
	font-weight: 600;
	line-height: 1.5;
	ruby-position: under;
}
html.sp .page-template-for_guardian .area2 .left .name{
	font-size: 3rem;
}
.page-template-for_guardian .area2 .right{
	flex-basis: 450px;
}
html.sp .page-template-for_guardian .area2 .right{
	order: 1;
	flex-basis: auto;
	width: 80%;
}
.page-template-for_guardian .area2 .right p{
	margin: 0;
	line-height: 1.6;
}

.page-template-for_guardian .miryoku_list{
	border-top: 1px solid #231815;
	margin: 70px 0;
}
.page-template-for_guardian .miryoku_list .box{
	box-shadow: none;
	border-radius: 0;
	border-bottom: 1px solid #231815;
	padding: 60px 0;
	margin: 0;
}
html.sp .page-template-for_guardian .miryoku_list .box{
	padding: 60px 20px;
}
.page-template-for_guardian .miryoku_list .num{
	visibility: hidden;
}
.page-template-for_guardian .miryoku_list .box7 .num{
	display: none;
}
html.sp .page-template-for_guardian .miryoku_list .num{
	display: none;
}
html.sp .page-template-for_guardian .miryoku_list .box h3{
	text-align: center;
	font-size: 3rem;
}





/* 高校生のみなさまへ *************************************************************************** */

.page-template-for_high_schooler .site-header{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
}

body.page-template-for_high_schooler{
	--nav_text_color: #fff;
}
.page-template-for_high_schooler label[for="open_nav"] span,
.page-template-for_high_schooler label[for="open_nav"] span:before,
.page-template-for_high_schooler label[for="open_nav"] span:after {
	background-color: #fff;
}

.page-template-for_high_schooler .main_image{
	background-image: url(img/for_high_schooler/1_bg.webp);
	background-size: cover;
	background-position: 50%;
	background-repeat: no-repeat;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	height: 751px;
	padding: 0px 0 0;
}
.page-template-for_high_schooler h2{
	color: #fff;
}
.page-template-for_high_schooler h2 .h2_img1{
	height: 250px;
	margin-bottom: 80px;
}

.page-template-for_high_schooler .area2{
	background-color: #02c2c7;
}
.page-template-for_high_schooler .area2 .inner{
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 900px;
	max-width: 95%;
	margin: 0 auto;
}
.page-template-for_high_schooler .area2 .text{
	font-size: min(2.4rem, 3.5vmin);
	font-weight: 600;
	color: #fff769;
	padding: 50px 0;
	z-index: 10;
}
.page-template-for_high_schooler .area2 .image{
	text-align: right;
	margin-left: -350px;
}

.page-template-for_high_schooler .img2t{
	margin: 0px 0 50px;
}

.page-template-for_high_schooler .img2{
	margin: -150px 0 -180px;
	max-width: 50vw;
}
html.sp .page-template-for_high_schooler .img2{
	width: 85%;
}

.page-template-for_high_schooler .bg3{
	background-image: url(img/for_high_schooler/3_bg.webp);
	background-position: 50% 0;
	padding: 50px 0 200px;
	margin: 0 0 -150px;
}

.page-template-for_high_schooler .row3{
	/* position: relative; */
	background-position: 50% 0;
	background-repeat: no-repeat;
}
.page-template-for_high_schooler .row3 .q{
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-size: min(2rem, 3.5vmin);
	font-weight: 600;
	/* position: absolute; */
	width: 260px;
	height: 180px;
	top: 0;
}
.page-template-for_high_schooler .row3 .a{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	text-align: center;
	font-size: min(1.8rem, 2.9vmin);
	/* position: absolute; */
	width: 550px;
	height: 180px;
}
.page-template-for_high_schooler .row3_1{
	background-image: url(img/for_high_schooler/3_1_bg.webp);
	min-height: 399px;
}
.page-template-for_high_schooler .row3_2{
	background-image: url(img/for_high_schooler/3_2_bg.webp);
	min-height: 372px;
}
.page-template-for_high_schooler .row3_3{
	background-image: url(img/for_high_schooler/3_3_bg.webp);
	min-height: 392px;
}
.page-template-for_high_schooler .row3_1 .q{
	margin-left: 120px;
}
.page-template-for_high_schooler .row3_2 .q{
	margin-left: 570px;
}
.page-template-for_high_schooler .row3_3 .q{
	margin-left: 177px;
}
.page-template-for_high_schooler .row3_1 .a{
	margin: -20px 0 0 clamp(200px, 29vw, 230px);
	top: 160px;
}
.page-template-for_high_schooler .row3_2 .a{
	margin: -77px 0 0 250px;
	height: 200px;
}
.page-template-for_high_schooler .row3_3 .a{
	margin: -23px 0 0 320px;
}
.page-template-for_high_schooler .box4{
	font-size: min(2rem, 3.5vmin);
	line-height: min(1.8em, 5vmin);
	font-weight: 600;
	background-image: url(img/for_high_schooler/4_bg.webp);
	background-position: 50%;
	background-repeat: no-repeat;
	box-sizing: border-box;
	width: 672px;
	height: 443px;
	padding: 40px 0 0;
	margin: 50px auto 100px;
}
.page-template-for_high_schooler .box4 p{
	text-align: center;
}

.page-template-for_high_schooler .row5{
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-size: min(2rem, 3.4vmin);
	font-weight: 600;
	line-height: 1.2;
	color: #fff;
	background-position: 50% 0;
	background-repeat: no-repeat;
	background-size: contain;
	box-sizing: border-box;
	min-height: min(109px, 14vw);
	margin: 15px 0;
}
.page-template-for_high_schooler .row5_1{
	background-image: url(img/for_high_schooler/5_1_bg.webp);
	padding: 0 min(160px, 7vw) 0 min(340px, 30vw);
}
.page-template-for_high_schooler .row5_2{
	background-image: url(img/for_high_schooler/5_2_bg.webp);
	padding: 0 min(340px, 30vw) 0 min(160px, 8vw);
}


.page-template-for_high_schooler .tab-page-container {
	margin: 90px auto 0;
	max-width: 96%;
}

/* --- タブヘッダー部分 --- */
.page-template-for_high_schooler .tab-header {
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin: 0 0 -3px 0;
}

.page-template-for_high_schooler .tab-button {
	user-select: none;
	flex-basis: 50%;
	padding: 9px 10px 12px;
	cursor: pointer;
	background: linear-gradient(180deg, rgba(239, 240, 240, 1) 67%, rgba(197, 199, 199, 1) 100%);
	border: none;
	border-radius: 20px 20px 0 0;
}
.page-template-for_high_schooler .tab-button img{
	pointer-events: none;
}

.page-template-for_high_schooler .tab-button:first-child {
	border-right: 1px solid #ccc;
}

.page-template-for_high_schooler .tab-button.active {
	cursor: default;
	background: #fff;
}
.page-template-for_high_schooler .tab-button:not(.active):hover{
	filter: brightness(1.1);
}

/* --- タブコンテンツ部分 --- */
.page-template-for_high_schooler .tab-content {
	padding: 20px;
	background-color: #fff;
}

.page-template-for_high_schooler .tab-content:not(.active) {
	display: none;
}

.page-template-for_high_schooler .course-flow-section{
	text-align: center;
	margin: 50px 0;
}

/* --- メリットセクション --- */
.page-template-for_high_schooler .merit-section {
	font-size: min(2rem, 3.7vmin);
	font-weight: 600; /* 画像の明るい青 */
	background-color: #02c2c7;
	color: #fff769;
	padding: 20px min(50px, 5vmin);
	margin: 30px 0;
}

.page-template-for_high_schooler .merit-section h2 {
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 15px;
	padding-bottom: 5px;
}

.page-template-for_high_schooler .merit-section ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.page-template-for_high_schooler .merit-section li {
	position: relative;
	margin-bottom: 5px;
	line-height: 1.5;
}

.step-bubble {
	--fukidasi-size: 30px;
	--border-color: #02c2c7;
	--bg-color: #fff;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	padding: min(30px, 3vmin) min(70px, 3vmin);
	margin: 0 0 calc(var(--fukidasi-size) * 1.3);
	border: 1px solid var(--border-color);
	border-radius: 7px;
	background-color: var(--bg-color);
}
.steps-section2 .step-bubble:nth-of-type(2n){
	--bg-color: #ebf6f7;
}
/* 2. 吹き出しの矢印（下向きの三角形） */
.step-bubble::before ,
.step-bubble::after {
	content: '';
	position: absolute;

	/* 矢印の位置調整 */
	bottom: calc(var(--fukidasi-size) * -1); /* メインボックスの下辺から突き出すように調整 */
	left: 50%; /* 中央に配置するために 50% */
	transform: translateX(-50%); /* 中央揃えを完成させる */

	/* 三角形の作成テクニック */
	/* border の色がついている部分が三角形として見える */
	border-width: var(--fukidasi-size) var(--fukidasi-size) 0 var(--fukidasi-size); /* 上辺の幅と高さ: 15px */
	border-style: solid;

	border-color: var(--border-color) transparent transparent transparent;
}
.step-bubble::after {
	bottom: calc(var(--fukidasi-size) * -1 + 1px);
	border-color: var(--bg-color) transparent transparent transparent;
}
.step-bubble .step-number-box{
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 1000px;
	box-sizing: border-box;
	width: 120px;
	aspect-ratio: 1;
	background-color: #02c2c7;
}
.step-bubble .step-text{
	flex-grow: 1;
	padding: 0 0 0 min(30px, 2vmin);
	font-size: min(2rem, 3.3vmin);
	font-weight: 600;
	line-height: 2.2;
}
.step-bubble .step-text small{
	font-size: 0.8em;
}
.step-bubble .step-image-box img{
	border-radius: 20px;
}

/* --- サポートセクション --- */
.page-template-for_high_schooler .support-section {
	text-align: center;
	margin: 50px 0;
}
.page-template-for_high_schooler .support-section .img8{
	margin: 0px 0 90px;
}
.page-template-for_high_schooler .support-section p{
	text-align: center;
	font-size: min(2.4rem, 4.5vmin);
	font-weight: 600;
	line-height: 2;
	margin: 50px 0 10px;
}






/* 担当者Q&A *************************************************************************** */

.page-template-q_and_a_from_recruiter .site-header{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
}

body.page-template-q_and_a_from_recruiter{
	--nav_text_color: #fff;
}
.page-template-q_and_a_from_recruiter label[for="open_nav"] span,
.page-template-q_and_a_from_recruiter label[for="open_nav"] span:before,
.page-template-q_and_a_from_recruiter label[for="open_nav"] span:after {
	background-color: #fff;
}

.page-template-q_and_a_from_recruiter .main_image{
	background-image: url(img/q_and_a_from_recruiter/1_bg.jpg);
	background-size: cover;
	background-position: 50%;
	background-repeat: no-repeat;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	height: 651px;
	padding: 0px 0 0;
}
.page-template-q_and_a_from_recruiter h2{
	color: #fff;
}
.page-template-q_and_a_from_recruiter h2 .h2_img1{
	height: 250px;
}

.page-template-q_and_a_from_recruiter h3{
	text-align: center;
	font-size: 3rem;
	margin: 60px 0 40px;
}
html.sp .page-template-q_and_a_from_recruiter h3{
	font-size: 2.5rem;
}

.page-template-q_and_a_from_recruiter .q_a_list{
	border-top: 1px solid #000;
}
.page-template-q_and_a_from_recruiter .q_a_list input[type="checkbox"]{
	display: none;
}
.page-template-q_and_a_from_recruiter .q_a_list label.knob{
	/*content: "";*/
	cursor: pointer;
	display: block;
	/*position: absolute;*/
	/*top: 30px;*/
	/*right: 30px;*/
	background-image: url(img/q_and_a_from_recruiter/open.svg);
	background-size: cover;
	background-position: 50%;
	background-repeat: no-repeat;
	width: 50px;
	height: 50px;
}
.page-template-q_and_a_from_recruiter .q_a_list .knob_check:checked ~ div.knob label.knob{
	background-image: url(img/q_and_a_from_recruiter/close.svg);
}
.page-template-q_and_a_from_recruiter .q_a_list .row{
	position: relative;
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid #000;
	padding: 30px 0 30px 0;
}
.page-template-q_and_a_from_recruiter .q_a_list .row .q,
.page-template-q_and_a_from_recruiter .q_a_list .row .a{
	position: relative;
	display: flex;
	align-items: center;
	font-size: 2.2rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.6;
}
.page-template-q_and_a_from_recruiter .q_a_list .row .q:before,
.page-template-q_and_a_from_recruiter .q_a_list .row .a:before{
	content: "";
	display: block;
	/*position: absolute;*/
	/*top: 10px;*/
	/*right: 10px;*/
	background-image: url(img/q_and_a_from_recruiter/q.svg);
	background-size: cover;
	background-position: 50%;
	background-repeat: no-repeat;
	width: 50px;
	min-width: 50px;
	height: 50px;
	margin: 0 25px 0 0;
}
html.sp .page-template-q_and_a_from_recruiter .q_a_list .row .q{
	font-size: 1.8rem;
}
.page-template-q_and_a_from_recruiter .q_a_list .row .a{
	font-size: 1.8rem;
	overflow: hidden;
	line-height: 0;
	transition: 0.3s ease-in-out;
}
html.sp .page-template-q_and_a_from_recruiter .q_a_list .row .a{
	font-size: 1.6rem;
}
.page-template-q_and_a_from_recruiter .q_a_list .row .knob_check:checked ~ .q_a .a{
	margin: 30px 0 0;
	/*max-height: max(300px, none);*/
	line-height: 1.6;
}
.page-template-q_and_a_from_recruiter .q_a_list .row .a:before{
	background-image: url(img/q_and_a_from_recruiter/a.jpg);
	height: 0;
	overflow: hidden;
	transition: 0.3s ease-in-out;
}
.page-template-q_and_a_from_recruiter .q_a_list .row .knob_check:checked ~ .q_a .a:before{
	height: 50px;
}
.page-template-q_and_a_from_recruiter .q_a_list div.knob{
	display: flex;
	justify-content: center;
	/*align-items: center;*/
	min-width: 100px;
}





/* APPLICATION GUIDE 等 ****************************************************************** */

.application_page .main_image h2 .h2_img1{
	height: 200px;
}

.application_page main{
	color: #6e6e6e;
}

.application_page h2.sec-tit{
	text-align: left;
	font-size: 3rem;
	color: #6e6e6e;
}



/* 職種リストのコンテナ */
.application_page .job-list {
	display: grid;
	grid-template-columns: 1fr 1fr; /* 2列レイアウト */
	gap: 15px;
	margin-bottom: 40px;
}
@media (max-width: 850px) {
	.application_page .job-list {
		grid-template-columns: 1fr; /* 1列レイアウト */
	}
}

/* 個別の職種アイテム */
.application_page .job-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	text-decoration: none;
	background-color: #f0f0f0;
	border-radius: 8px;
	overflow: hidden;
	/*transition: filter 0.15s linear;*/
}
.application_page .job-item:hover {
	filter: brightness(1.03);
}

.application_page .job-name {
	font-size: 1.6rem;
	font-weight: bold;
	padding: 18px 15px;
}

.application_page .job-item:after {
	content: "";
	align-self: stretch;
	background: #f50418 url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E) no-repeat right 5px top 55%;
	background-position: 50% calc(50% + 3px);
	background-size: 2rem;
	color: white;
	border: none;
	width: 5rem;
	/*height: 30px;*/
	/*border-radius: 50%;*/
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative; /* アイコン配置用 */
	cursor: pointer;
	text-indent: -9999px; /* テキストを隠す */
	overflow: hidden;
}

/* 募集要項タイトル */
.application_page .recruit-tit {
	font-size: 2rem;
	text-align: center;
	margin: 150px 0 20px;
}

.application_page .req-tit {
	text-align: center;
	font-size: min(3rem, 4.7vmin);
	line-height: 1.3;
	padding: 10px;
	margin-bottom: 20px;
}

/* 募集要項テーブル */
.application_page .req-dat {
	width: 100%;
	border-collapse: collapse;
	border-top: 1px solid #ddd;
}

.application_page .dat-row {
	border-bottom: 1px solid #ddd;
}

.application_page :is(.dat-hd, .dat-cont) {
	padding: min(20px, 2vmin) min(30px, 3vmin);
}
.application_page .dat-hd {
	width: 25%; /* ヘッダーの幅を固定 */
	background-color: #d9f6f7;
	text-align: left;
	font-weight: 600;
	white-space: nowrap;
}

.application_page .dat-cont {
	width: 75%;
}

.application_page .dat-cont p {
	margin: 0 0 8px 0;
}

.application_page .dat-list, .dat-sub-list {
	list-style: none;
	padding-left: 0;
	margin: 0;
}

.application_page .dat-list li::before {
	content: '◆'; /* または任意の記号 */
	color: #e30019;
	margin-right: 5px;
}

.application_page .dat-sub-list li::before {
	content: '・'; /* または任意の記号 */
	color: #333;
	margin-right: 5px;
}

/* エントリーボタン */
.application_page .entry-wrap {
	text-align: center;
	padding: 30px 0;
}
.application_page .entry-wrap .button1{
	font-size: min(2.5rem, 4vmin);
}

.application_page .btn-ent {
	display: inline-block;
	background-color: #e30019;
	color: white;
	text-decoration: none;
	font-size: 18px;
	font-weight: bold;
	padding: 15px 50px;
	border-radius: 5px;
	position: relative;
}

.application_page .btn-ent::after {
	content: '▶';
	margin-left: 10px;
	font-size: 14px;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
}





/* NEWS *************************************************************************** */

.post-type-news .site-main .page_width{
	width: 780px;
}

.post-type-news h1{
	background-image: url(img/news/1_bg.svg);
	background-repeat: no-repeat;
	background-position: center 100%;
}

.post-type-news article{
	padding: 70px 0 100px;
	border-bottom: 1px solid #000;
}
.post-type-news article .date{
	font-size: 1.4rem;
}
.post-type-news article .title{
	font-size: 2rem;
	margin: 20px 0;
}
.post-type-news article .content{
	font-size: 1.4rem;
	line-height: 2.1;
}
.post-type-news .pagination{
	text-align: center;
	margin: 50px 0 200px;
}
.post-type-news .pagination h2{
	display: none;
}
.post-type-news .pagination .nav-links > div{
	display: inline-block;
	margin: 0 50px;
}





/* お問合せ *************************************************************************** */

.page-template-contact .site-header,
.page-template-career_entry .site-header,
.application_page .site-header{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
}

body.page-template-contact,
body.page-template-career_entry,
body.application_page{
	--nav_text_color: #fff;
}
:is(body.page-template-contact,
    body.page-template-career_entry,
    body.application_page) label[for="open_nav"] span,
:is(body.page-template-contact,
    body.page-template-career_entry,
    body.application_page) label[for="open_nav"] span::before,
:is(body.page-template-contact,
    body.page-template-career_entry,
    body.application_page) label[for="open_nav"] span::after{
	background-color: #fff;
}

.contact_page{
	color: #6e6e6e;
}
.contact_page .main_image,
.application_page .main_image{
	display: flex;
	justify-content: center;
	align-items: center;
	background-image: url(img/contact/1_bg.jpg);
	background-repeat: no-repeat;
	background-position-x: 50%;
	height: 651px;
}
html.sp .contact_page .main_image,
html.sp .application_page .main_image{
	height: 100vh;
	background-image: url(img/contact/1_bg_sp.jpg);
}

.page-template-contact .p1{
	line-height: 1.6;
	margin: 80px 0 0 30px;
}
html.sp .page-template-contact .p1{
	font-size: 1.5rem;
	margin: 80px 0 0;
}

.page-template-career_entry .p1{
	line-height: 1.6;
	margin: 80px 0 40px;
}
.page-template-career_entry .p2{
	font-size: 2rem;
	font-weight: 600;
	margin: 30px 0 20px;
}

.contact_page .area2{
	text-align: center;
	margin: 35px 0 60px;
}
html.sp .contact_page .area2{
	font-size: 1.3rem;
}
.contact_page .area2 a.tel{
	display: inline-block;
	font-size: 3rem;
	font-weight: 600;
	color: #f50418;
	margin: 0 0 5px;
}
html.sp .contact_page .area2 a.tel{
	font-size: 2.3rem;
	margin: 0 0 20px;
}

.wpcf7-not-valid-tip {
	position: absolute;
	margin-top: -5px;
	white-space: nowrap;
	font-size: 15px;
}
span[data-name="checkbox-pp"]{
	position: relative;
	display: inline-block;
}
span[data-name="checkbox-pp"] .wpcf7-not-valid-tip{
	margin-top: -28px;
}

div.wpcf7 .wpcf7-form .ajax-loader{
	display: none;
}

table.type_cf7,
#wpcf7cpcnf table{
	border-collapse: collapse;
	width: 100%;
}
table.type_cf7 th,
table.type_cf7 td,
#wpcf7cpcnf table th,
#wpcf7cpcnf table td{
	text-align: left;
	font-weight: 300;
	padding: 15px 30px;
}
table.type_cf7 th,
#wpcf7cpcnf table th{
	position: relative;
	white-space: nowrap;
}
table.type_cf7 th.hissu:after{
	content: "※";
	display: inline;
	/*position: absolute;*/
	/*right: 0;*/
	/*top: calc(50% - 12px);*/
	color: #cf8178;
	border-radius: 4px;
	font-size: 1.3rem;
	padding: 0 7px;
}
.page-template-career_entry table.type_cf7 th{
	font-weight: 600;
	padding-left: 0px;
	padding-right: 70px;
}
.page-template-career_entry table.type_cf7 th.hissu:after{
	content: "必須";
	position: absolute;
	right: 0;
	margin-top: 3px;
	display: inline-block;
	color: #fff;
	background-color: #f50418;
	border-radius: 4px;
	font-size: 1.3rem;
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
	padding: 6px 8px;
}
html.sp .page-template-career_entry table.type_cf7 th.hissu:after{
	position: static;
	margin: 0 0 0 20px;
}

table.type_cf7 th p{
	display: inline;
}
table.type_cf7 td,
#wpcf7cpcnf table td{
	width: 750px;
}
table.type_cf7 p,
#wpcf7cpcnf table p{
	margin: 0;
}

html.sp table.type_cf7,
html.sp table.type_cf7 tbody,
html.sp table.type_cf7 tr,
html.sp table.type_cf7 th,
html.sp table.type_cf7 td{
	display: block;
}
html.sp table.type_cf7 td{
	width: auto;
	padding: 0 30px 15px;
}

input[type="text"],
input[type="email"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="search"],
textarea{
	font-size: 1.6rem;
	font-weight: 400;
	box-sizing: border-box;
	border: 1px solid #cdcdcd;
	border-radius: 4px;
	padding: 10px;
	margin: 0;
	width: 100%;
	-webkit-appearance: none; /* iPhone の入力欄へのエフェクトを消す */
}

input[name="yubin"]{
	width: 13em;
}

select{
	font-size: 1.6rem;
	font-weight: 400;
	box-sizing: border-box;
	border: 1px solid #cdcdcd;
	border-radius: 4px;
	margin: 0;
	-webkit-appearance: none; /* iPhone の入力欄へのエフェクトを消す */
	padding: 10px 50px 10px 10px;
	width: auto;
	max-width: 100%;
	background: #fff url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E) no-repeat right 5px top 55%;
}
select.type1{
	color: #fff;
	background: #b8b8b8 url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E) no-repeat right 5px top 55%;
}

.contact_page .privacy_policy_area{
	text-align: center;
	font-size: 1.8rem;
	letter-spacing: 0.05em;
	margin: 70px 0 120px;
}
html.sp .contact_page .privacy_policy_area{
	margin: 70px 0 80px;
}
.contact_page .privacy_policy_area label{
	display: inline-block;
	margin: 0 0 15px;
}

.contact_page .submit_area{
	text-align: center;
}

.contact_page .privacy_policy_area p,
.contact_page .submit_area p{
	display: inline-block;
	text-align: center;
}

.wpcf7-spinner{
	position: absolute;
	margin: 41px 0 0 30px;
}
html.sp .wpcf7-spinner{
	margin: 45px 0 0 50px;
	transform: scale(2);
}

.wpcf7-submit,
.wpcf7cp-cfm-edit-btn{
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	font-size: 2.5rem;
	font-weight: 600;	
	letter-spacing: 0.1em;
	color: #fff;
	background-color: #f50418;
	background-image: url(img/common/button1_bg.svg);
	/*background-size: cover;*/
	background-position: 70% 50%;
	background-repeat: no-repeat;
	border-radius: 20px;
	box-sizing: border-box;
	border: 0;
	padding: 30px 50px 30px 10px;
	width: 310px;
}
html.sp .wpcf7-submit,
html.sp .wpcf7cp-cfm-edit-btn{
	font-size: 2.2rem;
	background-size: 21px;
	background-position: calc(100% - 30px) 50%;
}

.wpcf7cp-btns{
	text-align: center;
}

.wpcf7cp-cfm-edit-btn,
.wpcf7cp-cfm-submit-btn{
	transition: transform 0.2s ease-out;
	width: auto;
	padding: 30px 70px 30px 30px;
}
.wpcf7cp-cfm-submit-btn{
	background-position: 85% 50%;
}
.wpcf7cp-cfm-edit-btn:hover,
.wpcf7cp-cfm-submit-btn:hover{
	transform: scale(1.1);
}

.wpcf7 form .wpcf7-response-output{
	position: fixed;
	z-index: 10;
	top: min(100px, 13vmin);
	left: 0;
	right: 0;
	box-sizing: border-box;
	width: 900px;
	margin: auto;
	max-width: 94%;
	font-weight: 600;
	color: #fff;
	background-color: #02c2c7;
	border: 0;
	padding: 20px 30px;
	box-shadow: 0 8px 10px rgba(0, 0, 0, 0.3);
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output{
	background-color: #ffb900;
}



