@charset "UTF-8";

/*
Theme Name: オリジナルテーマ
Author: Yoko Dohi
*/


html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font-style: normal;
	/* vertical-align: baseline; */
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
input[type="text"],
input[type="password"],
textarea,
select,*:focus {
	outline: none;
}


/*====================================================
////id |  common
====================================================*/
html{
	font-size: 10px;
	font-size: 62.5%;
	width: 100%;
	max-width: 100vw;
}

:root {
	--mainColor: #F28D55;
	--red: #de3030;

    --orange: #F28D55;
    --l_orange: #FFC96F;
    --yellow: #FEE609;
    --w_yellow: #FFF6A2;
    --w_yellow2: #fffbda;
    --l_yellow: #FFF48B;
    
    --w_gray: #f8f8f8;
	--l_gray: #D6D6D6;
	--l_gray2: #C9C9C9;
	--gray: #aaa;
	--d_gray: #888;
	--black: #000;

	--font_family: "Plus Jakarta Sans", "Noto Sans JP", "Yu Gothic", "游ゴシック Medium", "YuGothic", "游ゴシック体", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
	--f_en: "Anton", "Plus Jakarta Sans", "Noto Sans JP", "Yu Gothic", "游ゴシック Medium", "YuGothic", "游ゴシック体", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}

body, button, input, select, optgroup, textarea {
	color: var(--black);
	font-family: var(--font_family);
	font-size: min(3.6vw, 16px);
	font-size: min(3.6vw, 1.6rem);
    font-weight: 400;
    letter-spacing: .05em;
	line-height: 1.8;
}
button, input, select, optgroup, textarea {
	color: inherit;
	font-family: inherit;
	font-size: inherit;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}
/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}

body {
	background: #fff;
    letter-spacing: .02em;
	position: relative;
	width: 100%;
	height: auto;
}
* {
	min-height:0;
	min-width : 0;
}

body * {
	box-sizing: border-box;
}
body.scroll-lock {
    position: fixed;
    overflow: hidden;
    width: 100%;
}

section {
	position: relative;
	max-width: 100vw;
	z-index: 2;
}
a {
	display: inline-block;
	color: inherit;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	cursor: pointer;
	outline:none;
	position: relative;
	text-decoration: none;
	transition: 0.2s ease-in-out;
	/* vertical-align: middle; */
}
.tel_link a {
	color: inherit !important;
	text-decoration: none !important;
}
.tel_linkBtn {
	pointer-events: none;
}
.fax a {
	color: inherit !important;
	text-decoration: none !important;
	pointer-events: none;
}

.underline {
	-webkit-text-decoration: underline solid 1px;
	text-decoration: underline solid 1px;
	text-underline-position: under;
	text-underline-offset: 0.1em;
}
p a:not(.linkBtn) ,
.bodyText ul:not(.page-numbers):not(.not_set) li a:not(.linkBtn) ,
.bodyText ol li a:not(.linkBtn) ,
dd a:not([class]) ,
a.underline {
	-webkit-text-decoration: underline solid 1px var(--gray);
	text-decoration: underline solid 1px var(--gray);
	text-underline-position: under;
	text-underline-offset: 0.1em;
}

img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	display: block;
	/* margin: auto; */
}

figure {
	margin: 0;
	position: relative;
}
figure img {
	position: relative;
}
.coverImg {
	overflow: hidden;
	padding-top: 65%;
	width: 100%;
}
figure.coverImg img {
	-o-object-fit: cover;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	max-width: none;
	height: 100%;
	max-height: none;
}
figure.coverImg.contain img {
	-o-object-fit: contain;
	   object-fit: contain;
}
figure figcaption.noImage {
	background: #f2faff;
	color: var(--red);
	display: flex;
		align-items: center;
		justify-content: center;
	font-size: 2.0rem;
	font-weight: bold;
	position: absolute;
		top: 0;
		left: 0;
	width: 100%;
	height: 100%;
}

.scaleUpImg figure {
	overflow: hidden;
}
.scaleUpImg img {
	transition: .3s ease-in-out;
}

.round {
	border-radius: 10px;
	overflow: hidden;
}

figure.square {
	display: block;
	width: 100%;
	padding-top: 100%;
}
figure.square img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

#contents {
	width: 100%;
	transition: .2s ease-in-out;
	position: relative;
	z-index: 1;
}
.innerBox{
	margin: 0 auto;
	padding: min(12vw, 120px) 0;
	position: relative;
	width: 90%;
        max-width: 1200px;
	z-index: 2;
}
.innerBox.shortPadding {
	padding: min(10vw, 70px) 0;
}
.innerBox .innerBox {
	width: 100%;
}

.block {display: block;}
.inb {display: inline-block;}
.relative { position: relative; z-index: 1;}
.flexBox {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}
.flexCenter {
	align-items: center;
	justify-content: center;
}
.flexStart {
	justify-content: flex-start;
}
.flexEnd {
	justify-content: flex-end;
}
.flexWrap {
	flex-wrap: wrap;
}
.flexColumn {
	flex-direction: column;
	justify-content: flex-start;
}
.flex-1 {
	flex: 1;
}
.gridBox {
	display: grid;
}
dl.gridBox {
	grid-template: 'dt dd';
	grid-template-columns: auto 1fr;
}
dl.gridBox dd {
	grid-column: 2;
	word-break: break-word;
}

p + p {margin-top: 2em;}

.mw300 {max-width: 300px; margin: auto;}
.mw400 {max-width: 400px; margin: auto;}
.mw500 {max-width: 500px; margin: auto;}
.mw600 {max-width: 600px; margin: auto;}
.mw700 {max-width: 700px; margin: auto;}
.mw800 {max-width: 800px; margin: auto;}
.mw900 {max-width: 900px; margin: auto;}
.mw1000 {max-width: 1000px; margin: auto;}
.mw1100 {max-width: 1100px; margin: auto;}
.mw1200 {max-width: 1200px; margin: auto;}
.mw-none {max-width: none;}

input[type="radio"], input[type="checkbox"] {
	display: none;
}

.decoBox {
	position: absolute;
}

.over_hidden {
	overflow: hidden;
}
.hidden {
	display: none;
}

hr {
	background: var(--gray);
	border: none;
	height: 1px;
	opacity: .4;
}

::before, ::after {
    pointer-events: none;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	.hidden-mob {
		display: none;
	}
	.display-mob {
		display: block;
	}
    .innerBox{
        padding: min(15vw, 80px) 0;
    }
	figure figcaption.noImage {
		font-size: 1.6rem;
	}
	.whiteBox {
	}
	.flexColumn-mob ,
	.flexColumn-tab {
		flex-direction: column;
	}
	dl.gridBox.responsive ,
	dl.formItem {
		grid-template: 'dt' 'dd';
	}
	dl.gridBox.responsive dd ,
	dl.formItem dd {
		grid-column: 1;
	}
}

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

	.hidden-small {
		display: none;
	}
	.display-small {
		display: block;
	}
}

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

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {

	.hidden-pc_d-tab,
	.hidden-pc {
		display: none;
	}
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
	.flexColumn-tab {
		flex-direction: column;
	}
	.hidden-tab {
		display: none;
	}
	.hidden-pc_d-tab ,
	.display-tab {
		display: block;
	}
}

@media screen and (min-width:960px) and (max-width:1300px) {
	.display-small_pc {
		display: block;
	}
}

@media screen and (min-width:1330px) {
	.hidden-wide {
		display: none;
	}
	.display-wide {
		display: block;
	}
}

@media (hover: hover) { /*NOTE ホバー処理*/
	a:not([class]):hover ,
	p a:hover {
		opacity: .7;
	}
	a.opacity-1:hover {
		opacity: 1;
	}
	.scaleUpImg:hover img {
		transform: scale(1.05);
	}
	a.scaleUpImg:hover {
		opacity: 1;
	}
    a.scaleUpLink:hover {
        transform: scale(1.02);
    }
}

.h100 {
	height: 100%;
}
.w100 {
	width: 100%;
}

/*====================================================
// NOTE |  余白
====================================================*/
.ma-auto {margin: auto !important}
.ma-0 {margin: 0 !important}
.ma-05em {margin: .5em !important}
.ma-10em {margin: 1.0em !important}
.ma-15em {margin: 1.5em !important}
.ma-20em {margin: 2em !important}
.ma-30em {margin: 3em !important}
.mt-0 {margin-top: 0 !important}
.mt-03em {margin-top: .3em !important}
.mt-05em {margin-top: .5em !important}
.mt-08em {margin-top: .8em !important}
.mt-10em {margin-top: 1.0em !important}
.mt-15em {margin-top: 1.5em !important}
.mt-20em {margin-top: 2em !important}
.mt-30em {margin-top: 3em !important}
.ml-0 {margin-left: 0 !important}
.ml-03em {margin-left: .3em !important}
.ml-05em {margin-left: .5em !important}
.ml-10em {margin-left: 1.0em !important}
.ml-15em {margin-left: 1.5em !important}
.ml-20em {margin-left: 2em !important}
.ml-30em {margin-left: 3em !important}
.mr-0 {margin-right: 0 !important}
.mr-02em {margin-right: .2em !important}
.mr-05em {margin-right: .5em !important}
.mr-10em {margin-right: 1.0em !important}
.mr-15em {margin-right: 1.5em !important}
.mr-20em {margin-right: 2em !important}
.mr-30em {margin-right: 3em !important}
.mb-0 {margin-bottom: 0 !important}
.mb-03em {margin-bottom: .3em !important}
.mb-05em {margin-bottom: .5em !important}
.mb-08em {margin-bottom: .8em !important}
.mb-10em {margin-bottom: 1.0em !important}
.mb-15em {margin-bottom: 1.5em !important}
.mb-20em {margin-bottom: 2em !important}
.mb-30em {margin-bottom: 3em !important}

.ma-10 {margin: 10px !important}
.ma-20 {margin: 20px !important}
.ma-30 {margin: 30px !important}
.ma-40 {margin: 40px !important}
.ma-50 {margin: 50px !important}
.mt-10 {margin-top: 10px !important}
.mt-20 {margin-top: 20px !important}
.mt-30 {margin-top: 30px !important}
.mt-40 {margin-top: 40px !important}
.mt-50 {margin-top: 50px !important}
.mt-60 {margin-top: 60px !important}
.mt-70 {margin-top: 70px !important}
.ml-10 {margin-left: 10px !important}
.ml-20 {margin-left: 20px !important}
.ml-30 {margin-left: 30px !important}
.ml-40 {margin-left: 40px !important}
.ml-50 {margin-left: 50px !important}
.mr-10 {margin-right: 10px !important}
.mr-20 {margin-right: 20px !important}
.mr-30 {margin-right: 30px !important}
.mr-40 {margin-right: 40px !important}
.mr-50 {margin-right: 50px !important}
.mb-10 {margin-bottom: 10px !important}
.mb-20 {margin-bottom: 20px !important}
.mb-30 {margin-bottom: 30px !important}
.mb-40 {margin-bottom: 40px !important}
.mb-50 {margin-bottom: 50px !important}
.mb-60 {margin-bottom: 60px !important}
.mb-70 {margin-bottom: 70px !important}

.pa-0 {padding: 0 !important}
.pa-05em {padding: .5em !important}
.pa-10em {padding: 1.0em !important}
.pa-15em {padding: 1.5em !important}
.pa-20em {padding: 2em !important}
.pt-0 {padding-top: 0 !important}
.pt-05em {padding-top: .5em !important}
.pt-10em {padding-top: 1.0em !important}
.pt-15em {padding-top: 1.5em !important}
.pt-20em {padding-top: 2em !important}
.pb-0 {padding-bottom: 0 !important}
.pb-05em {padding-bottom: .5em !important}
.pb-10em {padding-bottom: 1.0em !important}
.pb-15em {padding-bottom: 1.5em !important}
.pb-20em {padding-bottom: 2em !important}


/*====================================================
//class eachTextAnime
====================================================*/
.eachTextAnime:not(.anime_unset) {
	opacity: 0;
}
.eachTextAnime.appeartext {
	opacity: 1;
}
.eachTextAnime:not(.anime_unset) span {
	opacity: 0;
}
.eachTextAnime.appeartext:not(.anime_unset) span {
	-webkit-animation:text_anime_on 1s ease-out forwards;
	        animation:text_anime_on 1s ease-out forwards;
	/* animation-delay: .4s; */
}
@-webkit-keyframes text_anime_on {
	0% {opacity:0;}
	100% {opacity:1;}
}
@keyframes text_anime_on {
	0% {opacity:0;}
	100% {opacity:1;}
}


.delay-01 {
	transition-delay: .1s;
}
.delay-02 {
	transition-delay: .2s;
}
.delay-03 {
	transition-delay: .3s;
}
.delay-04 {
	transition-delay: .4s;
}
.delay-05 {
	transition-delay: .5s;
}
.delay-06 {
	transition-delay: .6s;
}

/*====================================================
// NOTE |  テキスト
====================================================*/
.f-default {
	font-family: var(--font_family);
}
.f-en {
	font-family: var(--f_en);
    font-weight: 400;
    line-height: 1.2;
}

.ff_setting {
	font-feature-settings: "palt";
	letter-spacing: .1em;
}
.tate {
	-ms-writing-mode: tb-rl;
	    writing-mode: vertical-rl;
	-webkit-text-orientation: upright;
	        text-orientation: upright;
}
ruby > rt {
    font-size: min(.3em, 1rem);
    font-weight: 400;
    text-align: center;
}
/*====================================================
// NOTE |  装飾系
====================================================*/

.arrow {
    border-radius: 100%;
    display: inline-block;
    overflow: hidden;
    position: relative;
    vertical-align: text-bottom;
    width: 1.4em;
    height: 1.4em;
}
.arrow::before,
.arrow::after {
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: 0;
    transition: .3s ease-in-out;
    width: 100%;
    height: 100%;
}

.arrow::before {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 28 28"><path fill="%23000000" d="M14,0C8.72-.01,3.89,2.95,1.51,7.66c-.2.39-.04.87.35,1.07.39.2.87.04,1.07-.35C6.03,2.26,13.5-.19,19.62,2.91c6.12,3.1,8.57,10.58,5.47,16.7-3.1,6.12-10.58,8.57-16.7,5.47-3.92-1.99-6.5-5.9-6.78-10.28h17.65l-2.4,2.4c-.31.31-.31.81,0,1.12s.81.31,1.12,0l3.75-3.75h0s.07-.08.1-.12c.01-.02.02-.04.03-.06.02-.03.03-.06.04-.09,0-.03.02-.05.02-.08,0-.02.01-.05.02-.07.02-.1.02-.21,0-.31,0-.02-.01-.05-.02-.07,0-.02-.02-.05-.02-.07-.01-.03-.03-.05-.04-.08-.01-.02-.02-.04-.03-.06-.03-.04-.06-.08-.1-.12h0l-3.74-3.75c-.31-.31-.81-.31-1.12,0s-.31.81,0,1.12l2.4,2.4H.79c-.44,0-.79.35-.79.79,0,7.73,6.27,14,14,14s14-6.27,14-14S21.73,0,14,0" /></svg>') no-repeat center / contain;
    right: 0;
}
.arrow::after {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 28 28"><path fill="%23000000" d="M14,0C8.72-.01,3.89,2.95,1.51,7.66c-.2.39-.04.87.35,1.07.39.2.87.04,1.07-.35C6.03,2.26,13.5-.19,19.62,2.91c6.12,3.1,8.57,10.58,5.47,16.7-3.1,6.12-10.58,8.57-16.7,5.47-3.92-1.99-6.5-5.9-6.78-10.28h17.65l-2.4,2.4c-.31.31-.31.81,0,1.12s.81.31,1.12,0l3.75-3.75h0s.07-.08.1-.12c.01-.02.02-.04.03-.06.02-.03.03-.06.04-.09,0-.03.02-.05.02-.08,0-.02.01-.05.02-.07.02-.1.02-.21,0-.31,0-.02-.01-.05-.02-.07,0-.02-.02-.05-.02-.07-.01-.03-.03-.05-.04-.08-.01-.02-.02-.04-.03-.06-.03-.04-.06-.08-.1-.12h0l-3.74-3.75c-.31-.31-.81-.31-1.12,0s-.31.81,0,1.12l2.4,2.4H.79c-.44,0-.79.35-.79.79,0,7.73,6.27,14,14,14s14-6.27,14-14S21.73,0,14,0" /></svg>') no-repeat center / contain;
    right: 120%;
}
.triangle_arrow {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 13 20"><path fill="%23494949" d="M13,10L2.97,20l-2.97-2.96,7.07-7.04L0,2.96,2.97,0l10.03,10Z" /></svg>') no-repeat center / contain;
    display: inline-block;
    transition: .3s ease-in-out;
    width: .7em;
    height: .7em;
}

.btn_wrap {
	display: flex;
        justify-content: center;
		flex-wrap: wrap;
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link,
.formBtn,
.linkBtn { /*class linkBtn */
	background: var(--black);
    border: solid 1px var(--black);
	border-radius: 0;
	color: #fff;
	cursor: pointer;
	display: flex;
		align-items: center;
		grid-gap: 0 .4em;
        justify-content: center;
    font-size: 1.25em;
    font-weight: 500;
	line-height: 1.5;
	margin: 0;
	opacity: 1;
	padding: .3em .8em;
	position: relative;
    text-align: center;
	transition: .3s ease-in-out;
    min-height: 3.5em;
	z-index: auto;
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link .arrow,
.formBox .btn-outer .arrow ,
.linkBtn .arrow {
    margin: auto;
    pointer-events: none;
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link .arrow::before,
.wp-block-button:not(.is-style-outline) .wp-block-button__link .arrow::after,
.formBox .btn-outer .arrow::before ,
.formBox .btn-outer .arrow::after ,
.linkBtn .arrow::before ,
.linkBtn .arrow::after {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 28 28"><path fill="%23ffffff" d="M14,0h-.04C8.67,0,3.9,2.93,1.52,7.66c-.12.24-.15.52-.06.78.08.26.27.47.51.6.24.12.52.15.78.06.26-.08.47-.27.59-.51C6.32,2.71,13.53.34,19.42,3.32c2.85,1.44,4.97,3.91,5.96,6.95.99,3.04.75,6.28-.7,9.13-1.44,2.85-3.91,4.97-6.95,5.96-3.03.99-6.28.75-9.13-.7-3.68-1.86-6.16-5.54-6.51-9.64h16.48l-1.94,1.94c-.4.4-.4,1.05,0,1.45.4.4,1.05.4,1.45,0l3.68-3.68s.09-.1.13-.16c.01-.02.03-.05.04-.08.02-.04.04-.07.05-.11.01-.03.02-.07.03-.09.01-.03.02-.06.03-.1.03-.13.03-.27,0-.41,0-.03-.02-.06-.02-.07,0-.03-.02-.07-.04-.11-.02-.03-.03-.06-.05-.11l-.03-.06c-.04-.06-.08-.11-.13-.16l-3.68-3.69c-.4-.4-1.05-.4-1.45,0-.4.4-.4,1.05,0,1.45l1.94,1.94H1.02c-.56,0-1.02.46-1.02,1.02,0,7.72,6.28,14,14,14s14-6.28,14-14S21.72,0,14,0ZM21.76,13.71h0s0,0,0,0h0Z" /></svg>') no-repeat center / contain;
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link .linkBtn-inner,
.linkBtn .linkBtn-inner {
    flex: 1;
    position: relative;
}

.linkBtn.bg-white {
    color: var(--black);
}
.linkBtn.bg-white .arrow::before {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 28 28"><path fill="%23000000" d="M14,0C8.72-.01,3.89,2.95,1.51,7.66c-.2.39-.04.87.35,1.07.39.2.87.04,1.07-.35C6.03,2.26,13.5-.19,19.62,2.91c6.12,3.1,8.57,10.58,5.47,16.7-3.1,6.12-10.58,8.57-16.7,5.47-3.92-1.99-6.5-5.9-6.78-10.28h17.65l-2.4,2.4c-.31.31-.31.81,0,1.12s.81.31,1.12,0l3.75-3.75h0s.07-.08.1-.12c.01-.02.02-.04.03-.06.02-.03.03-.06.04-.09,0-.03.02-.05.02-.08,0-.02.01-.05.02-.07.02-.1.02-.21,0-.31,0-.02-.01-.05-.02-.07,0-.02-.02-.05-.02-.07-.01-.03-.03-.05-.04-.08-.01-.02-.02-.04-.03-.06-.03-.04-.06-.08-.1-.12h0l-3.74-3.75c-.31-.31-.81-.31-1.12,0s-.31.81,0,1.12l2.4,2.4H.79c-.44,0-.79.35-.79.79,0,7.73,6.27,14,14,14s14-6.27,14-14S21.73,0,14,0" /></svg>') no-repeat center / contain;
}

.smallBtn {
	font-size: 1em;
	min-width: 0;
    min-height: 2.5em;
}

.wp-block-button.is-style-outline .wp-block-button__link,
main .bodyText .is-style-outline .wp-block-button__link,
.linkBtn-small {
	background: transparent;
	border: none;
    border-bottom: solid 1px var(--d_gray);
	border-radius: 0;
    color: var(--black);
	cursor: pointer;
    display: flex;
        align-items: center;
        grid-gap: 0 .8em;
	filter: none;
	font-size: 1em;
    font-weight: 500;
	line-height: 1.4;
	opacity: 1;
    padding: .1em .3em;
	position: relative;
    text-align: left;
    width: auto;
}
.wp-block-button .btn_wrap,
main .bodyText .btn_wrap {
    justify-content: flex-start;
}
.wp-block-button.is-style-outline .wp-block-button__link .linkBtn-inner,
main .bodyText .is-style-outline .wp-block-button__link .linkBtn-inner,
.linkBtn-small .linkBtn-inner {
    padding: .3em 0;
    position: relative;
}
/* .wp-block-button.is-style-outline .wp-block-button__link .arrow::before,
.wp-block-button.is-style-outline .wp-block-button__link .arrow::after,
main .bodyText .is-style-outline .wp-block-button__link .arrow::before,
main .bodyText .is-style-outline .wp-block-button__link .arrow::after,
.linkBtn-small .arrow::before,
.linkBtn-small .arrow::after {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path fill="%238CC63F" d="M12,0C5.37,0,0,5.37,0,12s5.37,12,12,12,12-5.37,12-12S18.63,0,12,0ZM10.77,16.17l-1.34-1.34,2.93-2.93-2.93-2.93,1.34-1.34,4.27,4.27-4.27,4.27Z" /></svg>') no-repeat center / contain;
} */
.linkBtn img {
	display: inline-block;
	height: 1em;
	margin-right: .5em;
	transition: .1s ease-in-out;
	vertical-align: -.1em;
}
.link_icon {
	display: inline-block;
	height: .8em;
	margin-left: .5em;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	.menu-btn-container .menu a,
    .formBox input[type="submit"],
	.formBox button[type="submit"]{
        padding: .8em;
        min-width: 300px;
	}

	.wp-block-button:not(.is-style-outline) .wp-block-button__link,
	main .bodyText .wp-block-button:not(.is-style-outline) .wp-block-button__link,
	.linkBtn { /* class linkBtn mobile */
        font-size: min(4vw, 1.8rem);
        width: min(85vw, 400px);
	}
    .wp-block-button:not(.is-style-outline) .wp-block-button__link,
	main .bodyText .wp-block-button:not(.is-style-outline) .wp-block-button__link {
        width: min(50vw, 100%);
    }

}

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

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) { /* NOTE linkBtn pc */
    .formBtn,
	.linkBtn {
        min-width: 420px;
    }
    .wp-block-button:not(.is-style-outline) .wp-block-button__link {
        font-size: 1.1em;
        min-height: 3em;
        min-width: 300px;
    }

}

@media (hover: hover) {
	.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
	button[type="submit"]:hover,
    .formBtn:hover,
	.linkBtn:hover ,
	a:hover .linkBtn {
        background: var(--orange);
		opacity: 1;
	}

    .wp-block-button.is-style-outline .wp-block-button__link:hover,
    main .bodyText .is-style-outline .wp-block-button__link:hover,
    .linkBtn-small:hover {
        color: var(--orange);
    }

    .linkBtn.bg-white:hover ,
    a:hover .linkBtn.bg-white {
        color: #fff;
    }

	.is-style-outline .wp-block-button__link:hover,
	main .bodyText .is-style-outline .wp-block-button__link:hover,
	a:hover .linkBtn-small ,
	.linkBtn-small:hover {
		opacity: 1;
	}
    .wp-block-button.is-style-outline .wp-block-button__link:hover::after,
    main .bodyText .is-style-outline .wp-block-button__link:hover::after,
    .linkBtn-small:hover::after {
        transform: translateX(.3em);
    }
    .wp-block-button.is-style-outline .wp-block-button__link:hover::before,
    main .bodyText .is-style-outline .wp-block-button__link:hover::before,
    .linkBtn-small:hover::before {
        width: calc(100% + .3em);
    }

    .arrow:hover::before,
    a:hover .arrow::before ,
    .formBox .btn-outer:hover .arrow::before {
        right: -120%;
    }
    .arrow:hover::after,
    a:hover .arrow::after ,
    .formBox .btn-outer:hover .arrow::after {
        right: 0;
    }
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media screen and (min-width:1580px) {
}

.tax {
	font-size: .5em;
	margin-left: .3em;
}

dl.accordion > dt ,
dl.menu-accordion > dt,
.accordion > .accordion-ttl {
	cursor: pointer;
	position: relative;
}
dl.accordion > dd ,
dl.menu-accordion > dd,
.accordion > .accordion-cnt {
	overflow: hidden;
	transition: .3s ease-in-out;
}
dl.accordion > dd > .accordion-inner,
.accordion > .accordion-cnt > .accordion-inner {
	opacity: 0;
	transition: .4s ease-in-out;
}
dl.accordion.open > dd > .accordion-inner,
.accordion.open > .accordion-cnt > .accordion-inner {
	opacity: 1;
}

.accordion-ttl:has(.plus_icon) {
    display: flex;
        align-items: center;
        justify-content: center;
        grid-gap: 1em;
}
.accordion-ttl > .plus_icon {
    display: block;
    width: 1em;
    height: 1em;
    position: relative;
}
.accordion-ttl > .plus_icon::before,
.accordion-ttl > .plus_icon::after {
    border-top: solid 3px #E3B7CD;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: .1em;
        left: 0;
        right: 0;
        bottom: 0;
    transition: .3s ease-in-out;
    width: .9em;
    height: 0;
}
.accordion-ttl > .plus_icon::after {
    transform: rotate(90deg);
}

.accordion.open > .accordion-ttl > .plus_icon::before {
    transform: rotate(90deg);
    opacity: 0;
}
.accordion.open > .accordion-ttl > .plus_icon::after {
    transform: rotate(180deg);
}

.accordion_close {
	cursor: pointer;
}
.bgBox {
	pointer-events: none;
	position: absolute;
	top: 0;
	left: 0;
	margin: auto;
	width: 100%;
	height: 100%;
	z-index: -1;
}
.bgBox img {
	width: 100% !important;
	height: 100% !important;
	-o-object-fit: cover;
	object-fit: cover;
}
.decoBox {
	pointer-events: none;
	position: absolute;
}

.opacity-6 {opacity: .6}
.opacity-8 {opacity: .8}
.opacity-10 {opacity: 1}


ul.markList {
    padding-left: 0;
}
ul.markList li {
	position: relative;
	padding-left: 1.0em;
	line-height: 1.5;
}
ul > li ,
.bodyText.default_deco ul > li,
.bodyText.default_deco ol > li {
    margin: 0;
    line-height: 1.5;
}
ul.markList > li + li,
ul.normal > li + li ,
.bodyText.default_deco ul > li + li ,
ol > li + li ,
.bodyText.default_deco ol > li + li {
	margin: .7em 0 0;
}
ul.markList.attentionMark > li + li {
    margin-top: .4em;
}
ul.markList li::before {
	content: '\30FB';
	display: block;
	margin: auto;
	position: absolute;
		top: 0;
		left: 0;
	width: 1em;
	height: 1em;
}
ul.markList > li:after {
	display: none !important;
}
ul.markList.attentionMark > li:before {
	background: transparent;
	content: '\203B';
	top: .1em;
	left: 0;
}
ul.markList.dot li:before {
	background: var(--mainColor);
	border-radius: 100%;
	content: '';
	top: .5em;
	left: .3em;
	width: .4em;
	height: .4em;
}
ol:not(.wp-block-list) {
	counter-reset:number; /* 名前を付けたカウンターをリセット */
	list-style:none; /* olが数字を付けることをキャンセル */
	margin:0;
	padding:0;
}
ol:not(.wp-block-list) > li{
    line-height: 1.8;
    margin-top: .2em;
	padding-left: 1.8em;
	position: relative;
}
ol:not(.wp-block-list) > li:before{
    background: var(--mainColor);
    border-radius: 100%;
	box-sizing: border-box;
    color: #fff;
	counter-increment: number;
	content: counter(number);
	display: flex;
		align-items: center;
        justify-content: center;
    font-size: .8em;
    font-weight: 700;
    line-height: 1;
    padding-bottom: .1em;
	position: absolute;
		top: .3em;
		left: 0;
    text-align: center;
	width: 1.8em;
	height: 1.8em;
	line-height: 1;
}
/* .bodyText.default_deco ol > li::before {
    top: auto;
} */
ol.circleMarkList > li:before{
	border: solid 1px;
	border-radius: 100%;
	font-size: .9em;
	top: .05em;
}

.circleBox {
	border-radius: 100%;
}

.markerline {
	background: linear-gradient(transparent 50%, rgba(255, 244, 139, .8) 50%, rgba(255, 244, 139, .8) 100%);
}

.squareMark {
    border: solid 1px;
	display: inline-block;
	padding: .3em .7em ;
	line-height: 1;
	text-align: center;
}

.circleMark {
	border-radius: 100px;
	display: inline-block;
	line-height: 1.2;
	padding: .25em .6em .3em;
}

.dataBox-dl {
    display: grid;
        grid-gap: min(2vw, 8px);
}
.dataBox-dl dl {
}
.dataBox-dl dt {
    background: var(--w_gray);
}
@media screen and (max-width: 769px) {
    .dataBox-dl dl > * {
        padding: .5em 1em;
    }
}
@media print, screen and (min-width: 769px) {
    .dataBox-dl dl {
        border-bottom: solid 1px var(--d_gray);
        display: grid;
            grid-template-columns: subgrid;
            grid-column: span 2;
    }
    .dataBox-dl dl > * {
        padding: .8em 1em;
    }
}

/*
// NOTE |  【特殊装飾】 */

.headBox {
	position: relative;
}

.en_jp {
	display: grid;
    font-size: min(3.8vw, 2rem);
    letter-spacing: .03em;
    margin-bottom: 2em;
    text-align: center;
}
.en_jp .en {
    font-family: var(--f_en);
    font-size: min(13vw, 8rem);
    font-weight: 400;
    line-height: 1.2;
}
.en_jp-small .en {
    font-size: min(11vw, 6rem);
}
.en_jp-ss .en {
    font-size: min(9vw, 5rem);
}
.en_jp .jp {
    display: block;
    font-weight: 400;
    letter-spacing: .03em;
    line-height: 1.4;
}
.en_jp .jp.show {
    animation-delay: .3s;
}

.bg_text {
    font-family: var(--f_en);
    font-size: min(14vw, 17rem);
    line-height: 1.2;
    margin: auto;
    opacity: .05;
    position: absolute;
}
.category.flexBox {
    grid-gap: .4em;
    flex-wrap: wrap;
}
.cate_item {
    background: var(--w_yellow);
    border-radius: 2em;
	line-height: 1;
    padding: .2em 1em;
}

.cover_bgImg {
	background: no-repeat center / cover;
}

.icon {
	display: inline-block;
	vertical-align: -.1em;
	width: .9em;
	height: .9em;
}
.icon.icon-search {
	background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 12 16"><path fill="%23ffffff" d="M12,14.94l-3.22-5.63h0c1.84-1.64,2.35-4.42,1.07-6.65,0-.02-.02-.03-.03-.04-.17-.3-.37-.57-.59-.82-.07-.08-.16-.14-.23-.22-.17-.17-.34-.35-.53-.49-.1-.07-.21-.13-.31-.19-.18-.12-.37-.25-.56-.35-.24-.12-.5-.21-.76-.29-.07-.02-.13-.06-.2-.07-.12-.03-.24-.04-.36-.06-.21-.04-.43-.09-.64-.11-.27-.02-.54,0-.81.02-.07,0-.14,0-.22,0-.27.03-.54.11-.81.18-.07.02-.14.03-.2.05-.33.11-.66.26-.97.44-.18.11-.34.24-.5.36C.31,2.45-.45,4.85.26,7c.11.34.26.67.44.98.16.28.35.54.56.78.05.06.1.12.16.18.2.22.41.42.64.59.02.01.03.03.05.04.24.18.49.33.75.46.08.04.16.08.24.12.23.11.47.2.71.27.04.01.08.03.13.04.28.07.56.12.85.14.09,0,.18.01.27.02.08,0,.15.02.23.02.19,0,.37-.02.56-.04.03,0,.07,0,.1,0,.3-.04.59-.11.88-.2.04-.01.08-.03.11-.04h0s3.22,5.64,3.22,5.64l.6-.35,1.23-.72h0s0,0,0,0ZM6.94,8.22c-1.58.92-3.62.37-4.53-1.22-.91-1.6-.37-3.65,1.21-4.57.51-.3,1.08-.45,1.65-.45.29,0,.58.04.86.12.86.23,1.57.78,2.01,1.56.91,1.6.37,3.65-1.21,4.57Z" /></svg>') no-repeat center;
}
.icon.icon-new_window {
	background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 10 10"><path fill="%23CA0030" d="M9,6.5v3c0,.28-.22.5-.5.5H.5c-.28,0-.5-.22-.5-.5V1.5c0-.28.22-.5.5-.5h3c.28,0,.5.22.5.5s-.22.5-.5.5H1v7h7v-2.5c0-.28.22-.5.5-.5s.5.22.5.5ZM9.98.41s0-.07-.02-.1c-.05-.12-.15-.22-.27-.27-.03-.01-.07-.01-.1-.02-.03,0-.06-.02-.09-.02h-3c-.28,0-.5.22-.5.5s.22.5.5.5h1.79l-4.15,4.15c-.2.2-.2.51,0,.71.09.09.22.15.35.15.13,0,.26-.05.35-.15L9,1.71v1.79c0,.28.22.5.5.5s.5-.22.5-.5V.5s-.01-.06-.02-.09Z" /></svg>') no-repeat center / contain;
}

@media (hover: hover) {
    a.cate_item:hover {
        border-color: var(--mainColor);
        color: var(--mainColor);
    }
}

/*====================================================
////id |  contactArea
====================================================*/
.contactArea-inner {
    padding: min(12vw, 70px) 0;
}
.contactArea-head {
    font-size: min(10vw, 4rem);
    font-weight: 400;
}
.contactArea-link {
    display: flex;
        flex-wrap: wrap;
        grid-gap: min(2vw, 20px) min(3vw, 30px);
        justify-content: center;
}
.contactArea-link .linkBtn {
    min-width: 320px;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    .contactArea-text {
        font-size: min(4.2vw, 1.8rem);
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    .contactArea-text {
        font-size: min(2.2vw, 2rem);
    }
}

@media (hover: hover) {}



.f-05em {font-size: .5em;}
.f-06em {font-size: .6em;}
.f-07em {font-size: .7em;}
.f-08em {font-size: .8em;}
.f-09em {font-size: .9em;}
.f-10em {font-size: 1.0em;}
.f-11em {font-size: 1.1em;}
.f-12em {font-size: 1.2em;}
.f-13em {font-size: 1.3em;}
.f-14em {font-size: 1.4em;}
.f-15em {font-size: 1.5em;}
.f-16em {font-size: 1.6em;}
.f-17em {font-size: 1.7em;}
.f-18em {font-size: 1.8em;}
.f-20em {font-size: 2.0em;}

.f-10 {font-size: 1.0rem;}
.f-11 {font-size: min(2.8vw, 1.1rem);}
.f-12 {font-size: min(3.0vw, 1.2rem);}
.f-13 {font-size: min(3.3vw, 1.3rem);}
.f-14 {font-size: min(3.6vw, 1.4rem);}
.f-15 {font-size: min(3.8vw, 1.5rem);}
.f-16 {font-size: min(4.1vw, 1.6rem);}
.f-17 {font-size: min(4.3vw, 1.7rem);}
.f-18 {font-size: min(4.6vw, 1.8rem);}
.f-20 {font-size: min(5.1vw, 2.0rem);}
.f-22 {font-size: min(5.6vw, 2.2rem);}
.f-24 {font-size: min(6.1vw, 2.4rem);}

.lh-10 {line-height: 1.0;}
.lh-12 {line-height: 1.2;}
.lh-14 {line-height: 1.4;}
.lh-16 {line-height: 1.6;}
.lh-18 {line-height: 1.8;}
.lh-20 {line-height: 2.0;}
.lh-20 {line-height: 2.2;}

.ls-0 {letter-spacing: 0;}
.ls-03 {letter-spacing: .03em;}
.ls-06 {letter-spacing: .06em;}
.ls-10 {letter-spacing: .1em;}
.ls-15 {letter-spacing: .15em;}
.ls-20 {letter-spacing: .2em;}
.ls-25 {letter-spacing: .25em;}

small, .small {
	font-size: .8em;
}
big, .big {
	font-size: 1.2em;
}
strong {
	font-weight: bold;
}
sup {
	font-size: .5em;
	vertical-align: .5em;
}

.fw-normal {
	font-weight: 400;
}
.fw-elight {
	font-weight: 200;
}
.fw-light {
	font-weight: 300;
}
.fw-medium {
	font-weight: 500;
}
.fw-semibold {
	font-weight: 600;
}
.fw-bold {
	font-weight: 700;
}
.fw-black {
	font-weight: 900;
}

.txt-left {
	text-align: left;
}
.txt-right {
	text-align: right;
}
.txt-center {
	text-align: center;
}
.txt-justify {
	text-align: justify;
}

h1, h2, h3, h4, h5, h6 {
	font-weight: 700;
	line-height: 1.6;
}
h1 {font-size: 2.2em;}
h2 {font-size: min(6.2vw, 3.0rem);}
h3 {font-size: min(5.6vw, 2.6rem);}
h4 {font-size: min(4.2vw, 1.25em);}
h5 {font-size: min(4.1vw, 1.2em);}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

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

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media screen and (min-width:1580px) {
}

/*====================================================
//// NOTE |  カラー
====================================================*/

.bg-white {
	background: #fff;
}
.bg-mainColor {
	background: var(--mainColor);
	color: #fff;
}
.bg-red {
	background: var(--red);
	color: #fff;
}

.bg-w_gray {
	background: var(--w_gray);
}
.bg-l_gray {
	background: var(--l_gray);
}
.bg-gray {
	background: var(--gray);
	color: #fff;
}
.bg-black {
	background: var(--black);
	color: #fff;
}

.bg-transparent {
	background: transparent;
}

.white {
	color: #fff;
}
.mainColor {
	color: var(--mainColor);
}
.red {
	color: var(--red);
}


.gray {
	color: var(--gray);
}
.d_gray {
	color: var(--d_gray);
}
.black {
	color: var(--black);
}

.border-none {
	border: none;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}

/*====================================================
////id |  .yt
====================================================*/

.yt,
.wp-block-embed__wrapper {
	position: relative;
	height: 0;
	padding: 0px 0 56.3%;
	overflow: hidden;
}
.yt iframe,
.wp-block-embed__wrapper iframe {
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 100%;
}


/*====================================================
////id 【header】
====================================================*/
header {
	transition: .3s ease-in-out;
}
header .headerBox {
	background: rgba(255, 255, 255, .7);
    backdrop-filter: blur(3px);
	position: fixed;
		top: 0;
		left: 0;
	transition: .5s ease-in-out;
	width: 100%;
	z-index: 9999;
}
header .header_logo {
    position: relative;
}
header .header_logo a {
    display: flex;
        align-items: center;
        justify-content: flex-start;
	z-index: 100;
}
header img {
	margin: 0;
	transition: .3s ease-in-out;
}
header .header_logo .logo_img {
	opacity: 1;
	transition: .4s ease-in-out;
}

header .linkBtns {
    display: flex;
        align-items: center;
        gap: min(2vw, 20px);
        justify-content: flex-end;
}

header .linkBtns .btn_wrap {
    opacity: 1;
    transform: none;
}
header .linkBtns .linkBtn {
    font-size: min(1.2vw, 1.5rem);
    min-height: 3em;
    padding-left: 1.5em;
    width: auto;
        min-width: 0;
}


header .menu-outer {
	position: absolute;
	z-index: 300;
}
header .menuBtn {
	cursor: pointer;
	display: flex;
		align-items: center;
		justify-content: center;
	position: fixed;
		top: 0px;
		right: 0;
	transition: .2s ease-in-out;
	width: 80px;
	height: 80px;
	z-index: 10;
}
header .menuBtn .humberger {
	margin: 0;
	position: relative;
	transition: .2s ease-in-out;
	width: 25px;
	height: 10px;
}
header .menuBtn .humberger:before,
header .menuBtn .humberger span {
	border-top: solid 2px var(--black);
	content: '';
	margin: auto;
	opacity: 1;
	position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
        right: 0;
	transition: .4s ease-in-out;
	width: 100%;
	height: 0;
}
header .menuBtn .humberger span:nth-child(1) {
	transform: translateY(-8px);
}
header .menuBtn .humberger span:nth-child(2) {
	transform: translateY(8px);
}
header .menuBtn .text {
	color: #fff;
	font-size: 12px;
	font-weight: 500;
	line-height: 10px;
	opacity: 0;
	position: absolute;
	text-align: center;
	/* transition: .2s ease-in-out;
	transition-delay: .2s; */
}
header .maskBox {
	background: transparent;
    backdrop-filter: blur(3px);
    margin: auto;
	opacity: 0;
	pointer-events: none;
	position: fixed;
		top: 60px;
		left: 0;
	transition: .5s ease-in-out;
	width: 100%;
	height: calc(100vh - 60px);
	height: calc(100svh - 60px);
    z-index: 888;
}
header .menuBox {
    background: var(--black);
    color: #fff;
    margin: auto;
	opacity: 0;
	overflow-y: auto;
	padding: min(10vw, 40px) 5vw min(15vw, 70px);
	pointer-events: none;
	position: fixed;
		top: 60px;
		right: -300px;
	transition: .5s ease-in-out;
	width: min(80vw, 300px);
        /* max-width: calc(95vw - min(26vw, 120px)); */
	height: calc(100vh - 60px);
	height: calc(100svh - 60px);
	z-index: 1;

	overflow-y: scroll;
	-ms-overflow-style: none;    /* IE, Edge 対応 */
	scrollbar-width: none;       /* Firefox 対応 */
}
header .menuBox::-webkit-scrollbar {  /* Chrome, Safari 対応 */
	display:none;
}
header .menuBox::before {
    content: '';
    display: block;
    margin: auto;
    position: fixed;
        top: 0;
		right: -400px;
        width: 80vw;
		max-width: 400px;
	transition: .5s ease-in-out;
	max-height: calc(100vh - 90px);
	max-height: calc(100dvh - 90px);
}

.menu-open header .headerBox {
    background: rgba(255, 255, 255, 1)
}
header .menu-outer.open .menuBtn {
	transition: .2s ease-in-out;
}
header .menu-outer.open .humberger span {
    left: -20%;
    right: -20%;
    width: 140%;
}
header .menu-outer.open .humberger::before {
    opacity: 0;
}
header .menu-outer.open .humberger span:nth-child(1) {
	transform: rotate(-135deg);
}
header .menu-outer.open .humberger span:nth-child(2) {
	transform: rotate(135deg);
}
.menu-open header .maskBox {
	opacity: 1;
	pointer-events: auto;
}
header .menu-outer.open .menuBox {
	pointer-events: auto;
	right: 0;
	opacity: 1;
}
header .menu-outer.open .menuBox::before {
	right: 0;
	opacity: 1;
}


header .menuBox .menu li {
	padding: 0;
	position: relative;
	width: 100%;
}
header .menu .sub-menu-outer {
	overflow: hidden;
	transition: .4s ease-in-out;
}
header .menuBox li .sub-menu-btn {
	cursor: pointer;
	margin: auto;
	position: absolute;
		top: .6em;
		right: 0;
	width: 40px;
	height: 40px;
}
header .menuBox li .sub-menu-btn::before,
header .menuBox li .sub-menu-btn::after {
	border-top: solid 1px var(--mainColor);
	content: '';
	display: block;
	margin: auto;
	position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
	transition: .2s ease-in-out;
	width: 1em;
	height: 0;
}
header .menuBox li .sub-menu-btn::after {
	transform: rotate(90deg);
}
header .menuBox li.open .sub-menu-btn::before {
	transform: rotate(180deg);
}
header .menuBox li.open .sub-menu-btn::after {
	opacity: 0;
	transform: rotate(180deg);
}
header .menuBox .sub-menu li {
	font-size: .9em;
	font-weight: 500;
}

header .menuBox .sub-menu-outer ul a {
	padding-left: .7em;
}
header .menuBox .sub-menu-outer ul a::before {
	border-top: solid 1px;
	content: '';
	display: block;
	margin: auto;
	position: absolute;
		top: 1.5em;
		left: 0;
	transition: .1s ease-in-out;
	width: .3em;
	height: 0;
}
header .menuBox .menu-main li {
    border-bottom: solid 1px var(--l_gray);
}
header .menuBox .menu-main li a {
    display: block;
    padding: .8em .3em;
	position: relative;
}
header .menuBox .menuBox-linkBtns {
    display: grid;
        grid-gap: 15px;
    margin-top: 2em;
}
header .menuBox .menuBox-linkBtns .linkBtn {
    font-size: min(2.6vw, 1.7rem);
    width: 100%;
    min-width: 0;
}
/* ////////// mobile ////////// NOTE header mobile */
@media screen and (max-width: 1079.8px) {
	header {
		height: 60px;
	}
	header.hide {
		top: -130px;
	}
	header .headerBox {
		height: 60px;
	}
	.menu-open header .headerBox::before {
		opacity: 1;
	}
	header .headerBox.hide {
		/* opacity: 0; */
	}
	header .innerBox {
		display: grid;
            align-items: center;
			grid-gap: 0 20px;
            grid-template-columns: auto 1fr;
		padding: 0 calc(70px - 5vw) 0 0;
		height: 100%;
	}
	header .header_logo img {
		height: 40px;
	}

	header .pc_menu {
		display: none;
	}

    header .linkBtns {
        display: flex;
            align-items: center;
            justify-content: flex-end;
    }
    header .linkBtns .linkBtn {
        font-size: min(2vw, 1.5rem);
        min-height: 40px;
    }

	header .menuBtn {
        background: var(--grd);
		width: 60px;
        height: 60px;
	}
	header .menuBox .menu_logo img {
		height: 2.5em;
	}
	header .menuBox .menu-wrapper {
		align-items: flex-start;
	}
	header .menuBox .menu-wrapper > div{
		width: 100%;
	}
	header .menuBox .menu > li {
		position: relative;
		text-align: left;
	}
	header .menuBox .menu .sub-menu {
		display: grid;
			grid-gap: .3em;
	}
	header .menuBox .menu .sub-menu a {
		display: block;
	}

    header .menuBox .menuBox-linkBtns .linkBtn {
        font-size: min(4vw, 1.7rem);
    }
}

@media screen and (max-width:769px) {
    header .linkBtns {
        display: none;
    }
}

@media screen and (max-width:540px) {
    header .menuBox {
        padding: min(10vw, 40px) 10vw ;
        width: 100%;
    }
}


@media screen and (min-width:769px) and (max-width:1079.8px) {
    header .menuBox {
        right: -400px;
        width: min(80vw, 400px);
    }
    header .menuBox .menu {
        font-size: 1.8rem;
    }
}

/* ////////// PC ////////// NOTE header PC */
@media print, screen and (min-width: 1080px) {
	header {
		height: 80px;
	}
	header .headerBox {
		position: fixed;
			top: 0;
			left: 0;
			right: 0;
		transition: .4s ease-in-out;
		width: 100%;
		height: 80px;
		z-index: 9000;
	}
	header.global .headerBox {
	}
	header.hide {
		top: -180px;
	}
	header .innerBox {
		display: grid;
            align-items: center;
			grid-gap: 0 min(4vw, 40px);
            grid-template-columns: auto 1fr auto;
		height: 100%;
        width: 94%;
		max-width: none;
		padding: 0 ;
	}
	header .header_logo img {
		height: 50px;
	}
	header .header_logo a {
	}
	header .head_text {
        font-size: 1.5rem;
    }
	header .pc_menu .menu {
		display: flex;
            align-items: center;
			flex-wrap: wrap;
            grid-gap: .2em min(1.5vw, 30px);
			justify-content: flex-end;
		font-size: min(1.1vw, 1.5rem);
		font-weight: 500;
		grid-column: 1;
		grid-row: 2;
		padding: 0;
	}
	header .pc_menu .menu > .menu-item {
        position: relative;
	}
	header .pc_menu .menu > .menu-item:has(.sub-menu)::before {
        content: '';
        display: block;
        margin: auto;
        position: absolute;
            top: 50%;
            left: -40px;
            right: -40px;
        width: 0;
        height: 50%;
    }
	header .pc_menu .menu > .menu-item:has(.sub-menu):hover::before {
        width: calc(100% + 80px);
    }
	header .pc_menu .menu > .menu-item > a {
        padding: .2em 0;
		position: relative;
        text-align: center;
	}
	header .pc_menu .menu > .menu-item > a:hover {
		/* color: var(--mainColor); */
		opacity: 1;
	}
	header .pc_menu .menu > .menu-item > a::before ,
	header .pc_menu .menu > .menu-item > span::before {
		border-bottom: solid 2px var(--yellow);
		content: '';
		display: block;
		margin: auto;
		/* opacity: 0; */
		position: absolute;
			left: auto;
			right: 0;
			bottom: -1px;
		transition: .3s ease-in-out;
		width: 0;
		height: 0;
	}
	header .pc_menu .menu > .menu-item > a:hover::before {
		opacity: 1;
		left: 0;
		right: auto;
		width: 100%;
	}

	header .pc_menu .menu > .menu-item.current > a {
        pointer-events: none;
    }
	header .pc_menu .menu > .menu-item.current > a::before ,
	header .pc_menu .menu > .menu-item.current > span::before {
        left: 0;
        right: 0;
        width: 12px;
    }
	header .pc_menu .sub-menu-outer {
		margin: auto;
        opacity: 0;
        overflow: hidden;
		pointer-events: none;
		position: fixed;
            top: 65px;
            left: 0;
            right: 0;
        width: 100%;
        height: 0;
	}
	header .pc_menu li:not(li:has(.sub-menu-outer):hover) .sub-menu-outer {
        height: 0 !important;
    }
	header:not(.global) .pc_menu .sub-menu-outer {
        top: 125px;
    }
	header .pc_menu .open .sub-menu-outer {
		opacity: 1;
	}
	header .pc_menu .sub-menu {
		background: rgba(255, 255, 255, .95);
        border-radius: 10px;
        box-shadow: 0 0 6px rgba(0, 0, 0, .09);
        display: grid;
            grid-gap: min(4.5vw, 40px) min(1.5vw, 20px);
            grid-template-columns: repeat(3, 1fr );
        margin: auto;
        padding: min(5vw, 50px);
		pointer-events: auto;
        width: min(calc(100% - 40px), 90%);
            max-width: 1100px;
	}
	header .pc_menu .sub-menu li {
		position: relative;
	}
    header .pc_menu .sub-menu .coverImg {
        border-radius: 6px;
        padding-top: 56.25%;
    }
    header .pc_menu .sub-menu .txt {
        display: grid;
        margin-top: 15px;
    }
    header .pc_menu .sub-menu .service_sub {
        border-top: solid 1px #EEEEEE;
        grid-gap: 1em min(5vw, 50px);
        grid-column: span 3;
        padding-top: 30px;
    }
    header .pc_menu .sub-menu .service_sub a {
        padding-left: 1em;
        position: relative;
    }
    header .pc_menu .sub-menu .service_sub a::before {
        background: var(--mainColor);
        border-radius: 100%;
        content: '';
        display: block;
        margin: auto;
        position: absolute;
            top: .5em;
            left: 0;
        transition: .3s ease-in-out;
        width: .64em;
        height: .64em;
    }

	header .menuBtn ,
	header .menu-outer {
		display: none;
	}
	header .menuBox {
		width: 450px;
		height: 100vh;
		height: 100dvh;
	}

}


@media screen and (min-width:1240px) {
	header .pc_menu {
        grid-gap: 107px;
    }
}

@media (hover: hover) {
    header .headerBox:hover {
        background: rgba(255, 255, 255, .95);
    }
    header .menuBox .menu li a:hover {
        background: rgba(255, 255, 255, .9);
        color: var(--black);
    }
	header .pc_menu .sub-menu a:hover {
		opacity: 1;
	}
	header .pc_menu .sub-menu a:hover .arrow::after {
		filter: none;
	}
    header .pc_menu .sub-menu .service_sub a:hover::before {
        filter: brightness(1.2);
        transform: scale(1.2);
    }
}


/*====================================================
////id |   loader
====================================================*/
.is-hide {
	display: none;
}
/* ローディング画面をフェードアウト */
.fadeout-bg {
	transition-property: opacity;
	transition-delay: 0s;
	transition-duration: 1.7s;
	opacity: 0;
	pointer-events: none;
}
/* ローディング画面 */
#loader {
	background: #fff;
	height: 100%;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 10000;
}

/*====================================================
//class .sa
====================================================*/
.sa {
	opacity: 0;
}
.sa.show {
    animation: .6s ease-in-out forwards sa-show;
}
@keyframes sa-show {
    to {
        opacity: 1;
        transform: none;
    }
}
.sa.show_after {
	opacity: 1;
	transform: none;
	transition: 0s;
}
.sa-lr {
	transform: translate(-40px, 0);
}
.sa-rl {
	transform: translate(40px, 0);
}
.sa-up {
	transform: translate(0, 40px);
}
.sa-down {
	transform: translate(0, -40px);
}
.sa-scaleUp {
	transform: scale(.9);
}
.sa-scaleDown {
	transform: scale(1.1);
}
.sa-rotateL {
	transform: rotate(180deg);
}
.sa-rotateR {
	transform: rotate(-180deg);
}

.sa.slideShow {
	opacity: 1;
	position: relative;
	z-index: 1;
}
.sa.slideShow:before {
	background: var(--w_blue);
	content: '';
	position: absolute;
		top: 0;
		left: 0;
		right: auto;
	transition: .5s ease-in-out;
	width: 0;
	height: 100%;
	z-index: 10;
}
.sa.slideShow.show:before {
	-webkit-animation: anim-slide 1.0s ease-in-out forwards;
	        animation: anim-slide 1.0s ease-in-out forwards;
	-webkit-animation-delay: .4s;
	        animation-delay: .4s;
}
@-webkit-keyframes anim-slide {
	0%   {}
	55%  { width: 100%; left: 0; right: 0;}
	65% { width: 100%; left: auto; right: 0; }
	100% { width: 0; left: auto; right: 0; }
}
@keyframes anim-slide {
	0%   {}
	47%  { width: 100%; left: 0; right: 0;}
	53% { width: 100%; left: auto; right: 0; }
	100% { width: 0; left: auto; right: 0; }
}

.sa.slideShow:not(.show) img,
.sa.slideShow:not(.show) > img,
.sa.slideShow:not(.show) > .box-inner {
	opacity: 0;
}
.sa.slideShow.show img ,
.sa.slideShow.show > img ,
.sa.slideShow.show > .box-inner {
	opacity: 1;
	transition-delay: .9s;
}


.sa.slideShow.slide-rl {
	transform: rotate(180deg);
}
.sa.slideShow.slide-rl img {
	transform: rotate(180deg);
}

.sa.slideShow.slide-white:before {
	background: #fff;
}

/*====================================================
////class .slick
====================================================*/
.slider{
  display: none;
}
.slick-track {
  display: flex !important;
}
.slick-list {
}
.slick-slide {
  padding: 0 min(1vw, 10px);
  height: auto !important;
}
.slider.slick-initialized{
  display: block; /*slick-initializedが付与されたら表示*/
}
.slick-dotted.slick-slider {
	margin-bottom: 40px !important;
	padding-bottom: 0px;
}
.slick-dots {
	display: flex;
		justify-content: center;
	height: 20px;
	position: absolute;
        top: calc(100% + 5px);
		left: 0;
		right: 0;
	z-index: 10;
}
.slick-dots li {
	width: auto;
	height: auto;
	margin: 0;
	/* margin: 0 4px; */
	padding: 0;
}
.slick-dots li::before {
	display: none;
}
.slick-dots li button {
	background: none;
  border: none;
	cursor: pointer;
	outline: none;
	overflow: hidden;
	padding: 0;
	position: relative;
  text-indent: -9999px;
	width: 20px;
	height: 20px;
}
.slick-dots li button:before {
	background: #C5C5C5;
	border-radius: 10px;
	content: '';
	margin: auto;
	opacity: 1;
	position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
	transition: .2s ease-in-out;
	width: 8px;
	height: 8px;
}
.slick-dots li.slick-active button:before {
	background: var(--mainColor);
	opacity: 1;
}

.slick-arrow {
    /* border: solid 2px #fff; */
	border-radius: 100%;
	margin: auto;
	position: absolute;
		top: 0;
		bottom: 0;
	transition: .2s ease-in-out;
	width: min(5vw, 30px);
	height: min(5vw, 30px);
	z-index: 1000;
}
.slick-prev {
	left: calc(min(2.5vw, 15px) * -1);
}
.slick-next {
	right: calc(min(2.5vw, 15px) * -1);
}
.slick-arrow:hover {
/*	background: #fff;*/
	opacity: 1;
}
.slick-prev * {
	display: none;
}
.slick-arrow:before {
    background: #fff url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path fill="%23848484" d="M12,0C5.37,0,0,5.37,0,12s5.37,12,12,12,12-5.37,12-12S18.63,0,12,0ZM10.77,16.17l-1.34-1.34,2.93-2.93-2.93-2.93,1.34-1.34,4.27,4.27-4.27,4.27Z" /></svg>') no-repeat center / contain;
    border-radius: 100%;
    box-sizing: border-box;
	content: '';
	margin: auto;
	position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
	transition: .3s ease-in-out;
	width: 98%;
	height: 98%;
}
.slick-prev:before {
	transform: rotate(-180deg);
}
.slick-next:before {
}
.slick-arrow.slick-disabled {
	cursor: default;
	opacity: 0;
	pointer-events: none;
}


/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

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

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media screen and (min-width:1550px) {
}

@media (hover: hover) {
	.slick-prev:hover {
		transform: translateX(-6px);
	}
	.slick-next:hover {
		transform: translateX(6px);
	}
}

/*====================================================
////class .headBox
====================================================*/
.headBox {
	position: relative;
	z-index: 2;
}
.headBox h2 ,
.headBox h3 ,
.headBox h4 {
	position: relative;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

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

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

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

@media screen and (min-width:1580px) {
}

/*====================================================
//id |  form
====================================================*/
input, button, select {
	margin: 0;
	padding: 0;
	background: none;
	background-image: none;
	background-position-x: initial;
	background-position-y: initial;
	background-size: initial;
	background-attachment: initial;
	background-origin: initial;
	background-clip: initial;
	background-color: initial;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	color: inherit;
	cursor: pointer;
}
input[type="text"],input[type="email"],input[type="tel"],input[type="search"],input[type="password"],input[type="url"],input[type="number"],input[type="date"], select, textarea {
	-webkit-appearance: none;
	background: #fff;
	border: solid 1px var(--gray);
	border-radius: 4px;
	color: var(--black);
	display: block;
	font-family: var(--font_family);
	line-height: 1.4;
	padding: .7em 1em;
	width: 100%;
	min-height: 3em;
	flex: 1;
	transition: .2s ease-in-out;
}
.input-s {
    max-width: 15em;
}
textarea {
	resize: vertical;
	line-height: 1.6;
	min-height: 80px;
	width: 100%;
}
::-moz-placeholder {
	color: #C9C9C9;
	font-size: .8em;
}
:-ms-input-placeholder {
	color: #C9C9C9;
	font-size: .8em;
}
::placeholder {
	color: #C9C9C9;
	font-size: .8em;
}

input[type="text"]:focus, input[type="email"]:focus, input[type="password"]:focus, select:focus, textarea:focus {
}
input[type="file"],
label {
	cursor: pointer;
}
form label {
	line-height: 1.6;
	display: inline-block;
	position: relative;
}

input[type="checkbox"] + span ,
input[type="checkbox"] + label {
	position: relative;
	padding-left: 1.5em;
	display: inline-block;
}
input[type="checkbox"] + span:before ,
input[type="checkbox"] + label:before {
	position: absolute;
	content: '';
	width: 1em;
	height: 1em;
	border: solid 1px;
	border-radius: 3px;
	border-color: var(--black);
	top: .2em;
	left: 0px;
	background: #fff;
	transition: .2s ease-in-out;
}
input[type="checkbox"] + label:before {
	top: -.15em;
}
input[type="checkbox"] + span:after ,
input[type="checkbox"] + label:after {
	position: absolute;
	content: '';
	width: .7em;
	height: .35em;
	border: solid;
	border-width: 0 0 3px 3px;
	border-color: transparent transparent var(--red) var(--red);
	transform: rotate(-45deg);
	top: .2em;
	left: 3px;
	opacity: 0;
	transition: .2s ease-in-out;
}
input[type="checkbox"] + label:after {
	top: -2px;
}
input[type="checkbox"]:checked + span:after ,
input[type="checkbox"]:checked + label:after {
	opacity: 1;
}
input[type="radio"] + span ,
input[type="radio"] + label {
	position: relative;
	padding-left: 1.5em;
}
input[type="radio"] + span:before,
input[type="radio"] + label:before {
    background: #fff;
	content: '';
	border: solid 1px;
	border-radius: 100%;
	border-color: var(--d_gray);
	position: absolute;
        top: .15em;
        left: 0px;
	transition: .2s ease-in-out;
	width: 1em;
	height: 1em;
}
input[type="radio"] + span:after,
input[type="radio"] + label:after {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 10 10"><path fill="%23de3030" d="M10,5c0,2.76-2.24,5-5,5S0,7.76,0,5,2.24,0,5,0s5,2.24,5,5Z" /></svg>') no-repeat center;
    background-size: 60% 60%;
	content: '';
	border: solid 1px transparent;
	border-radius: 100%;
    opacity: 0;
	position: absolute;
        top: .15em;
        left: 0px;
	transition: .2s ease-in-out;
	width: 1em;
	height: 1em;
}
input[type="radio"]:checked + span:after,
input[type="radio"]:checked + label:after {
	opacity: 1;
}
.select {
	position: relative;
}
.select:before {
	border: solid var(--black);
	border-width: 0 1px 1px 0;
	content: '';
	display: block;
	margin: auto;
	pointer-events: none;
	position: absolute;
		top: 1.1em;
		right: 10px;
	transform: rotate(45deg);
	width: .3em;
	height: .3em;
	z-index: 100;
}
#confirm .select:before {
	display: none;
}
select {
	cursor: pointer;
}
.tel input[type="text"] {
	width: calc(100% / 3 - 10px);
	max-width: 100px;
}

@media screen and (max-width: 769px) {
	input[type="text"], input[type="email"], input[type="tel"], input[type="search"],
	input[type="password"], input[type="url"], input[type="number"], select, textarea,
	.vkfs input[type="text"], .vkfs input[type="search"] {
		padding: .7em .7em;
	}
}

/*====================================================
////class コンタクトフォーム7
====================================================*/
.wpcf7-form .wpcf7-checkbox {
	display: flex;
		flex-wrap: wrap;
		grid-gap: .3em 1.2em;
}
.wpcf7-form .wpcf7-radio {
	display: grid;
		grid-gap: .4em;
}
.wpcf7-form .wpcf7-list-item {
	margin-left: 0;
}
.wpcf7-not-valid-tip {
	bottom: -7px;
	background: var(--red);
	color: #fff;
	display: inline-block;
	font-size: 1.2rem;
	font-weight: bold;
	margin: 5px 0 10px;
	padding: .25em .5em .3em .8em;
	position: relative;
	text-align: center;
	/* width: 12em; */
	white-space: nowrap;
}
.wpcf7-not-valid-tip:before {
	border: solid transparent;
	border-width: 0 5px 12px 5px;
	border-bottom-color: var(--red);
	content: '';
	margin: auto;
	position: absolute;
		top: -10px;
		left: 20px;
	width: 0;
	height: 0;
}

.wpcf7-spinner {
	display: none;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
	background: var(--red);
	border-color: var(--red);
	border-radius: 5px;
	color: #fff;
	margin: 1.5em auto 0;
	max-width: 720px;
	padding: .5em 1em;
}

/*====================================================
////class .formBox
====================================================*/

.formBox {
	/* background: #fff; */
	margin: auto;
}
.formBox.confirm {
    text-align: center;
}
.formBox.confirm .whiteBox {
    display: inline-block;
    text-align: left;
}
.formBox .innerBox {
	padding-bottom: min(25vw, 150px);
}
.formBox .formItem-outer {
	grid-gap: 1.8em;
}
.formBox .formItem {
    display: grid;
        grid-gap: .5em 1em;
	width: 100%;
}
.formBox .formItem.head {
	border-bottom: 1px solid #00a1e9;
	padding-bottom: 5px;
	font-size: 1.2em;
	grid-column: 1 / -1;
	display: block;
}
.formBox .formItem dt {
    font-weight: 700;
}
.formBox .required {
	background: var(--red);
    color: #fff;
	display: inline-block;
	font-size: .733em;
	font-weight: 700;
	line-height: 1;
	margin-left: 1em;
	padding: .3em .5em .3em;
}
.formBox .formItem .mwform-tel-field {
	display: flex;
	margin-left: -3px;
	align-items: center;
}
.formBox .formItem.form_file dd {
	display: grid;
	grid-gap: .4em;
}
.formBox .formItem.counter dd {
    display: grid;
        align-items: center;
        grid-template-columns: 100px auto;
        gap: .5em;
}
.formBox .formItem .mwform-tel-field input{
	margin: 0 3px;
}
.formBox .formItem input[type="number"] {
	width: 100px;
}
.formBox .backBtn {
	position: relative;
}
.formBox .backBtn .linkBtn-small {
	padding: 0;
}
.formBox .backBtn .linkBtn-small:after {
	transform: rotate(-135deg);
	right: auto;
	left: 25px;
}
.formBox .backBtn .linkBtn-small:hover:after {
	left: 15px !important;
}
.formBox .backBtn input[type="submit"] {
	background: transparent;
	color: inherit;
	display: inline-block;
	font-size: 1.4rem;
	margin: 0 !important;
	min-width: 140px;
/*	padding: .2em 20px .1em 40px;*/
	transition: .2s ease-in-out;
}
.formBox dd {
	position: relative;
	text-align: left;
}
.formBox .h_radioBox {
	display: grid;
		grid-gap: 0 2em;
		grid-template-columns: auto 1fr;
}
.formBox .file {
    display: grid;
        grid-gap: .3em;
    padding-top: .4em;
}
.formBox .consentBox {
	margin: min(8vw, 50px) auto 0;
	/*    font-size: 1.3rem;*/
}
.formBox .consentBox .consent_check {
    display: flex;
        align-items: center;
    position: relative;
}
/* .formBox .consentBox .consent_check .wpcf7-not-valid-tip {
    position: absolute;
        top: 100%;
        left: 0;
} */
.formBox .consentBox .checkBox {
	width: 1.5em;
}
.formBox .consentBox div {
	position: relative;
}
.formBox .consentBox .mwform-checkbox-field {
	display: block;
}

.formBox .btn-outer {
    display: inline-block;
	margin-top: min(10vw, 70px);
    position: relative;
}

/* .formBox .linkBtn {
    background: var(--mainColor);
    border: solid 1px var(--mainColor);
    color: #fff;
} */
.formBox .linkBox.flexBox {
	grid-gap: .8em;
}
.formBox .linkBox .back .linkBtn {
	background: transparent;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	.formBox .formItem-outer {
    grid-gap: 2em;
	}
	.formBox .formItem.head {
	border-bottom: 1px solid #00a1e9;
	padding-bottom: 0;
	font-size: 1.2em;
	line-height: 1.5;
}
	.formBox .formItem dt {
		text-align: left;
		position: relative;
	}
	.formBox .formItem dd {
		text-align: left;
		width: 100%;
	}
	.mw_wp_form .formBox .error {
		/*		bottom: -2em;*/
		left: 0;
		padding-left: 1em;
	}
	.formBox .consentBox {
		align-items: stretch;
		/* flex-direction: column; */
	}
	.formBox .linkBox {
		margin: auto;
		max-width: calc(480px + 1em);
	}
	.formBox .linkBox.flexBox > div {
		flex: 1;
	}
	.formBox .linkBox.flexBox input[type="submit"] ,
	.formBox .linkBox.flexBox .linkBtn {
		max-width: 240px;
		min-width: 0;
		width: 100%;
	}

    .formBox.confirm form {
        display: grid;
            place-items: center;
    }
}

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

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    .formBox .formItem-outer {
        grid-template-columns: auto 1fr;
        grid-gap: 1.8em 0;
    }
    .formBox .formItem {
        display: grid;
            grid-column: span 2;
            grid-template-columns: subgrid;
            grid-gap: 0 2em;
		line-height: 1.4;
        width: 100%;
    }
    .formBox.input .formItem dt {
        padding-top: .7em;
    }
    .formBox .formItem dd {
		/* min-height: 50px; */
	}
	.wpcf7-form .formBox .formItem dd > span {
        display: block;
		width: 100%;
	}
    .wpcf7-form .formBox .wpcf7-checkbox {
        padding-top: .5em;
    }
	#confirm .formBox .formItem dt {
		padding-top: 0;
	}
	.mw_wp_form_confirm .formBox dd {
		position: relative;
	}
	.formBox .formItem dd .wpcf7-radio {
		padding: .7em 0;
	}
	.formBox .formItem.form_file dd {
		padding: .3em 0;
	}
	.mw_wp_form_confirm .formBox .formItem dt,
	.mw_wp_form_confirm .formBox .formItem dd {
		padding: 20px 0;
	}
	.formBox dd .dateBox {
		width: calc(50% - 5px);
	}
	.formBox .error {
	}
	.formBox .btn-outer:hover:before {
		left: 0;
	}
    .formBox .linkBtn {
        min-width: 438px;
    }
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media (hover: hover) {
    .formBox .btn_wrap:hover::after {
        filter: none;
        right: 1.2em;
    }
}

/*====================================================
////class .wp-block-table
====================================================*/
.bodyText p + .wp-block-table ,
.bodyText .wp-block-table + .wp-block-table {
	margin: 1.5em 0;
}
table ,
.bodyText .wp-block-table table {
    background: #fff;
    border: solid 1px var(--l_gray2);
	border-collapse: collapse;
	border-spacing: 0;
	line-height: 1.6;
    /* overflow: hidden; */
	vertical-align: middle;
	width: 100%;
}
table thead ,
.wp-block-table thead {
	border: none;
	/* border-bottom-width: 2px; */
}
table th ,
table td ,
.wp-block-table thead th ,
.wp-block-table tr td {
    background: #fff;
    border: none;
    border-bottom: solid 1px var(--l_gray);
	padding: .8em 1em;
}
table th ,
table td.th ,
.wp-block-table thead th ,
.wp-block-table tr td.th {
    background: var(--w_gray);
}
table tr:last-child td ,
.wp-block-table tr:last-child td {
    border-bottom: none;
}
table tr td a ,
.wp-block-table tr td a {
	color: var(--mainColor);
	-webkit-text-decoration: underline solid 1px;
	text-decoration: underline solid 1px;
	text-underline-position: under;
	text-underline-offset: 0.2em;
}
table tr td .tel_link a ,
.wp-block-table tr td .tel_link a {
	color: inherit;
}

table tfoot ,
.wp-block-table tfoot {
	border: none;
}
table tfoot td ,
.wp-block-table tfoot td {
    border-top: solid 1px var(--l_gray2);
	text-align: center;
}
table tfoot td:not(td:last-child) ,
.wp-block-table tfoot td:not(td:last-child) {
}
table figcaption ,
.wp-block-table figcaption {
	font-size: .8em;
	margin: .5em 0 0 1em;
}

table.first_td_head,
.wp-block-table.first_td_head table {
    border-left: none;
    border-collapse: separate;
}
table.first_td_head th:first-child,
.wp-block-table.first_td_head th:first-child {
    position: sticky;
        left: 0;
}
table.first_td_head td:first-child,
.wp-block-table.first_td_head td:first-child {
	background: #fbfbfb;
    position: sticky;
        left: 0;
}
table.first_td_head th:first-child::before,
.wp-block-table.first_td_head th:first-child::before,
table.first_td_head td:first-child::before,
.wp-block-table.first_td_head td:first-child::before {
    border: solid var(--l_gray);
    border-width: 0 1px;
    box-sizing: border-box;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: 0;
        left: 0;
    width: 100%;
    height: 100%;
}


/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	table thead th ,
	table tr td ,
	.wp-block-table thead th ,
	.wp-block-table tr td {
		padding: .7em .7em;
	}

}

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

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media screen and (min-width:1580px) {
}


/* ////////// mobile ////////// */
@media screen and (max-width: 768px) {
	table.responsive,
	.wp-block-table.responsive table ,
	table.responsive tbody,
	.wp-block-table.responsive table tbody,
	table.responsive tr,
	.wp-block-table.responsive table tr,
	table.responsive td,
	.wp-block-table.responsive table td {
		display: block;
	}
	table.responsive,
	.wp-block-table.responsive table {
		border: none;
	}
	table.responsive thead,
	.wp-block-table.responsive thead {
		display: none;
	}
	table.responsive tbody,
	.wp-block-table.responsive tbody {
		display: block;
	}
	table.responsive tr,
	.wp-block-table.responsive tr {
		position: relative;
		width: 100%;
	}
	table.responsive th,
	table.responsive td:first-child,
	.wp-block-table.responsive td:first-child {
		background: none;
		font-weight: bold;
		padding: 1.2em 0 .3em;
		width: 100%;
	}
	table.responsive td,
	.wp-block-table.responsive td {
		border: none !important;
		/* padding: 15px 8px 15px 120px; */
		padding: 0 0 1.2em;
		text-align: left;
		transition: .4s ease;
		width: 100%;
	}
	table.responsive td.price,
	.wp-block-table.responsive td.price {
		text-align: right;
	}
	table.responsive td:before {
		color: var(--black);
		content: attr(data-label);
		font-weight: normal;
		padding-top: .25em;
		position: absolute;
		left: 18px;
	}
}

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

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
	table.responsive td.blank .blank_line {
		background: #fff;
		display: block;
		margin: -8px auto -8px -12px;
		position: relative;
		width: 3px;
		height: calc(100% + 16px);
		z-index: 1;
	}

}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media screen and (min-width:1580px) {
}

/*====================================================
////class .tabBox
====================================================*/
.tabBox {
	overflow: hidden;
	position: relative;
}
.tabBox .tabArea {
	grid-gap: 4px;
	position: relative;
	z-index: 5;
}
.tabBox .tabArea li {
	background: var(--l_gray);
	border: solid 1px var(--gray);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1;
	height: 50px;
	line-height: 1.2;
	padding: 5px;
}
.tabBox .tabArea li.current {
	background: #fff;
	border-bottom-color: #fff;
	cursor: default;
	pointer-events: none;
}
.tabBox .tabArea li a {
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	width: 100%;
	height: 100%;
}
.tabBox .tabArea li.current a {
	pointer-events: none;
}
.tabBox .contentArea {
	background: #fff;
	border: solid 1px var(--gray);
	margin-top: -1px;
	position: relative;
	transition: .4s all;
}
.tabBox .contentArea .tab_content {
	transition: 1.2s all;
	transition-delay: .4s;
}
.tabBox .contentArea .tab_content:not(.current) {
	opacity: 0;
	pointer-events: none;
	position: absolute;
	transition: .6s all;
	transition-delay: 0s;
	width: 100%;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 768px) {
	.tabBox .tabArea {
		display: flex;
	}
	.tabBox .tabArea .tab {
		flex: 1;
		font-size: 1.1rem;
		height: auto;
		min-height: 40px;
		padding: 6px 3px;
	}
	.tabBox .contentArea .tab_content {
		padding: 1.5em 1em;
	}
}

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

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
	.tabBox .contentArea .tab_content {
		padding: 2em;
	}
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:959px) {
}

@media screen and (min-width:1580px) {}

/*====================================================
////id |  mapBox
====================================================*/
.mapBox .box-inner {
	overflow: hidden;
	position: relative;
}
.mapBox iframe {
	margin: auto;
	position: absolute;
		top: -200px;
	width: 100%;
	height: calc(100% + 400px);
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	.mapBox .box-inner {
		width: 100%;
		height: min(80vw, 400px);
	}
}

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

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
	.mapBox .box-inner {
		width: 100%;
		height: 400px;
	}
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media screen and (min-width:1580px) {
}

/*====================================================
////id |  faq
====================================================*/
.faq-item-wrapper {
    display: grid;
        grid-gap: min(1.5vw, 10px);
}
.faq-item {
    overflow: hidden;
    line-height: 1.6;
    position: relative;
}
.faq-item::before {
    border: solid 2px;
    box-sizing: border-box;
    content: '';
    display: block;
    margin: auto;
    opacity: 0;
    position: absolute;
        top: 0;
        left: 0;
    transition: .3s ease-in-out;
    width: 100%;
    height: 100%;
}
.faq-item dl {
    background: #fff;
    border: solid 1px var(--d_gray);
}
.faq-item dt {
    align-items: stretch;
    border-radius: 10px;
    font-weight: 700;
    grid-gap: .3em;
    grid-template-columns: 1em 1fr;
    padding: 18px 30px 18px 20px;
    position: relative;
    transition: .2s ease-in-out;
}
.faq-item dt .icon {
    position: relative;
    width: 18px;
    height: auto;
}
.faq-item dt .icon::before,
.faq-item dt .icon::after {
    border-top: solid 1px var(--d_gray);
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
    transition: .3s ease-in-out;
    width: 100%;
    height: 0;
}
.faq-item dt .icon::after {
    transform: rotate(90deg);
}
.faq-item .open dt .icon::before {
    transform: rotate(180deg);
}
.faq-item .open dt .icon::after {
    opacity: 0;
    transform: rotate(180deg);
}
.faq-item .alphabet {
    color: var(--d_gray);
    font-family: var(--f_en);
    font-size: 22px;
    font-weight: 400;
    line-height: 1.2;
    text-align: center;
    width: 1.5em;
}
.faq-item .accordion-inner {
    grid-gap: .3em;
    padding: 0 20px 18px 40px;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    .faq-item dt {
        padding: 10px 15px 10px 15px;
    }
    .faq-item .accordion-inner {
        padding: 0 15px 10px;
    }
    .faq-item dt .icon {
        width: 12px;
    }
}

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

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    .faq-item dt .text {
        font-size: 1.125em;
    }
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media (hover: hover) {
    .faq-item:hover::before {
        opacity: 1;
    }
}


/*====================================================
////id | archive-item
====================================================*/
.archive-item-wrapper {
    display: grid;
        grid-gap: min(5vw, 40px) min(4vw, 30px);
}
.archive-item {
    display: grid;
        grid-template-rows: subgrid;
        grid-row: span 3;
        grid-gap: 0;
    line-height: 1.7;
    position: relative;
}
.date_cate {
    display: flex;
        gap: .5em .8em;
    font-size: .8em;
}
.archive-item-date {
    font-size: min(3.2vw, 1.2rem);
    width: 8em;
}
.archive-item-title {
    font-weight: 500;
    margin-top: .5em;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    .archive-item-wrapper {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    .archive-item-wrapper {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media screen and (min-width:960px) and (max-width:1200px) {
    .archive-item-wrapper {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (hover: hover) {
    .archive-item:hover {
        color: var(--mainColor);
    }
}


/*====================================================
////class .pagetop
====================================================*/

.pagetop {
	display: none;
	position: fixed;
		bottom: 15px;
		right: 15px;
	transform: none !important;
	width: 50px;
	height: 50px;
	z-index: 1000;
	/*	border: solid 1px*/
}
.pagetop.stop {
	position: absolute;
	top: -70px;
	bottom: auto;
}
.pagetop a {
	background: var(--mainColor);
	border-radius: 100%;
    color: #fff;
	display: flex;
		align-items: center;
		justify-content: center;
	line-height: 1;
	padding-top: 3%;
	position: relative;
	opacity: .7;
	width: 100%;
	height: 100%;
}
.pagetop a .arrow {
	margin: 0;
	transform: rotate(-90deg);
	width: 50%;
	height: 50%;
}


/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	.pagetop a {
        transform: scale(.8);
        transform-origin: right bottom;
	}
}

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

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
	.pagetop a:hover {
		opacity: 1;
	}
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media screen and (min-width:1580px) {
}

@media (hover: hover) {
	.pagetop a:hover .arrow::after {
		transform: none;
	}
}

/*====================================================
////id |  footer
====================================================*/
footer {
    background: var(--black);
    color: #fff;
}
.footer-inner {
    font-size: .94em;
    padding: min(10vw, 60px) 0;
}

.footer-catchcopy {
    font-size: min(5.5vw, 3rem);
    font-weight: 500;
    letter-spacing: .1em;
    margin-bottom: 1em;
}
.footer-logo {
    margin: 0 auto;
    width: min(40vw, 170px);
}
.footer-logo img {
    filter: invert(10);
}
.footer-name {
    font-size: min(4.2vw, 2rem);
    font-weight: 500;
    letter-spacing: .1em;
    margin-top: .5em;
}

.sns-icon-wrapper {
    display: flex;
        gap: 10px;
        justify-content: center;
    margin: min(5vw, 20px) 0;
}
.sns-icon-link {
    background: #fff;
    border-radius: 100%;
    width: 30px;
}
.sns-icon-link .coverImg {
    padding-top: 100%;
}

.footer-linkBtns {
    display: flex;
        flex-wrap: wrap;
        grid-gap: min(2vw, 20px);
        justify-content: center;
    margin: min(7vw, 40px) 0;
}

.footer-menu ul {
    display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: .8em 2em;
}
.copyright {
    font-size: 1.0rem;
    padding-bottom: 8px;
    text-align: center;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    .footer-menu {
        font-size: min(3.2vw, 1.5rem);
    }
}


/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    .footer-linkBtns .linkBtn {
        font-size: 1.5rem;
        min-width: min(40vw, 220px);
    }
}

@media (hover: hover) {
    .footer-menu li a:hover {
        color: var(--orange);
        opacity: 1;
    }
    .sns-icon-link:hover {
        transform: scale(1.1);
    }
}

.g-recaptcha {
	margin-top: 50px;
	text-align: center;
	font-size: 0.8em;
}
/* .grecaptcha-badge { visibility: hidden; } */

/*====================================================
////id |  xxx
====================================================*/

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media (hover: hover) {}
