
@charset "UTF-8";
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;
	/*font: inherit;*/
	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, li {
	list-style: none;
	list-style-type: 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
====================================================*/
:root {
	--mainColor: #FFA94D;
	--mainColor_l: #fff6ed;
	--red: #f74848;

    --green: #68DA7C;
    --w_green: #F8FFF8;
    --blue: #0077BC;

	--l_gray: #ededed;
	--gray: #aaa;
	--d_gray: #4c4948;
	--black: #333;

    --grd: linear-gradient(to right, #4EACF4, #68DA7C);

	--font_family: 'Zen Kaku Gothic New', "Yu Gothic", "游ゴシック Medium", "YuGothic", "游ゴシック体", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}

html{
	font-size: 10px;
	font-size: 62.5%;
	width: 100%;
	max-width: 100vw;
}
body, button, input, select, optgroup, textarea {
	color: var(--black);
	font-family: var(--font_family);
	font-size: min(3.8vw, 18px);
	font-size: min(3.8vw, 1.8rem);
	font-weight: 500;
	line-height: 1.8;
}
@media screen and (max-width: 960px) {
    body, button, input, select, optgroup, textarea {
        font-size: min(3.8vw, 16px);
        font-size: min(3.8vw, 1.6rem);
    }
}

body {
	position: relative;
	width: 100%;
	height: auto;
}
* {
	min-height: 0;
	min-width : 0;
}

body * {
	box-sizing: border-box;
}
section {
	position: relative;
	max-width: 100vw;
}
a {
	display: inline-block;
	transition: 0.3s ease-in-out;
	color: inherit;
	cursor: pointer;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	outline:none;
	text-decoration: none;
	/* vertical-align: middle; */
}
.tel_link a {
	text-decoration: none !important;
}
a img {
	transition: .1s ease-in-out;
}
p a,
dd a,
.underline {
	color: inherit;
	-webkit-text-decoration: underline dotted 1px currentColor;
	text-decoration: underline dotted 1px currentColor;
	text-underline-position: under;
	text-underline-offset: 0.1em;
}
@media (hover: hover) {
    p a:hover,
    dd a:hover,
    a.underline:hover {
        color: var(--mainColor);
        opacity: 1;
    }
}

.markerline {
	background: linear-gradient(transparent 45%, #FCFFB4 45%, #FCFFB4 100%);
}
img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	display: block;
	/* margin: auto; */
}

body figure {
	margin: 0;
	position: relative;
}
figure img {
	position: relative;
}
figure.coverImg {
	overflow: hidden;
	padding-top: 75%;
	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;
}

.scaleUpImg {
	overflow: hidden;
}
.scaleUpImg img {
	transition: .4s;
}
.scaleUpImg:hover img {
	transform: scale(1.05);
}

p + p {
    margin-top: 1em;
}
.round {
	border-radius: 14px;
	overflow: hidden;
}

hr {
	border-top: solid 1px #CECECE;
	margin: 0;
	width: 100%;
	height: 0;
}
hr.dot {
	border-style: dotted;
}


#contents {
	width: 100%;
	position: relative;
	transition: .2s ease-in-out;
	z-index: 1;
}
.innerBox {
	max-width: 1200px;
	margin: 0 auto;
	padding: min(10vw, 100px) 0;
	position: relative;
	width: 90%;
	z-index: 1;
}
.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: stretch;
}
.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;
}

.whiteBox {
    padding: 1em min(4vw, 2em);
	position: relative;
}
.roundBox {
	border-radius: 20px;
	overflow: hidden;
}
.roundBox-s {
	border-radius: 10px;
	overflow: hidden;
}
.shadowBox {
	box-shadow: min(1.5vw, 7px) min(1.5vw, 7px) 0 #F6DDD6;
}

/* p {margin: 0 0 1.4em;}
p:last-child, p:last-of-type {margin-bottom: 0;} */

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

.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;}

.pa-0 {padding: 0;}
.pt-0 {padding-top: 0;}
.pb-0 {padding-bottom: 0;}

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

.decoBox {
	position: absolute;
	/* z-index: -1; */
}

.hidden {
	display: none;
    pointer-events: none;
}
.over_hidden {
	overflow: hidden;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	.hidden-mob {
		display: none;
	}
	.flexColumn-mob ,
	.flexColumn-tab {
		flex-direction: column;
	}
}
@media screen and (max-width:500px) {
	.display-small {
		display: block;
	}
}
/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
	a:hover {
		opacity: .7;
	}
	a.opacity-1:hover {
		opacity: 1;
	}
	.hidden-pc, .hidden-pc_d-tab {
		display: none;
	}
}

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

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

/*====================================================
//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-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}


/*====================================================
//NOTE テキスト
====================================================*/
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-medium {
	font-weight: 500;
}
.fw-bold {
	font-weight: 600;
}
.fw-black {
	font-weight: 900;
}

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

.tate {
	-ms-writing-mode: tb-rl;
	    writing-mode: vertical-rl;
	-webkit-text-orientation: upright;
	        text-orientation: upright;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}
/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
	.txt-center-pc {
		text-align: center;
	}
}

.lh-10 {line-height: 1.0;}
.lh-12 {line-height: 1.2;}
.lh-14 {line-height: 1.4;}
.lh-15 {line-height: 1.5;}
.lh-16 {line-height: 1.6;}
.lh-18 {line-height: 1.8;}
.lh-21 {line-height: 2.1;}

h1, h2, h3, h4, h5, h6 {
    font-weight: 700;
	line-height: 1.4;
}

h2 {font-size: min(7.0vw, 4rem);}
h3 {font-size: min(6.0vw, 3.6rem);}
h4 {font-size: min(5.5vw, 3rem);}
h5 {font-size: min(5vw, 2.6rem);}

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

.f-inherit { font-size: inherit;}
/*====================================================
//NOTE 装飾系
====================================================*/
.arrow {
    border-radius: 100%;
    display: inline-block;
    overflow: hidden;
    position: relative;
    vertical-align: text-bottom;
    width: 1em;
    height: 1em;
}
.arrow::before,
.arrow::after {
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: 0;
    transition: .3s ease-in-out;
    width: 100%;
    height: 100%;
}

.arrow::before ,
.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 15 15"><path fill="%23FFA94D" d="M7.5,0C3.36,0,0,3.36,0,7.5s3.36,7.5,7.5,7.5,7.5-3.36,7.5-7.5S11.64,0,7.5,0M9.34,8.05l-2.48,2.49c-.19.19-.5.19-.69,0s-.19-.5,0-.69l2.14-2.14-2.14-2.14c-.19-.19-.19-.5,0-.69s.5-.19.69,0l2.48,2.49c.19.19.19.5,0,.69,0,0,0,0,0,0" /></svg>') no-repeat center / contain;
    right: 0;
}
.arrow::after {
    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;
}

.linkBtn { /* class linkBtn */
	background: var(--mainColor);
    border: solid 2px var(--mainColor);
	border-radius: 2em;
	color: #fff;
    cursor: pointer;
	display: flex;
        align-items: center;
        gap: .5em;
	font-size: min(4vw, 2.0rem);
	font-weight: 700;
	line-height: 1.4;
	padding: .5em 1em;
	position: relative;
	text-align: center;
	transition: .2s ease-in-out;
    width: min(90%, 400px);
    min-height: 3em;
	z-index: 1;
}
.linkBtn.bg-white {
    color: var(--mainColor);
}
.linkBtn:not(.bg-white) .arrow::before {
    filter: brightness(100);
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {

}
@media (hover: hover) {
    .linkBtn:hover {
        background: var(--mainColor_l);
        color: var(--mainColor);
        opacity: 1;
    }
    .arrow:hover::before,
    a:hover .arrow::before,
    .linkBtn:hover .arrow::before {
        right: -120%;
    }
    .arrow:hover::after,
    a:hover .arrow::after,
    .linkBtn:hover .arrow::after {
        right: 0;
    }
}


dl.accordion dt ,
dl.menu-accordion dt {
	cursor: pointer;
	transition: .2s ease-in-out;
}
dl.accordion dd ,
dl.menu-accordion dd {
	overflow: hidden;
	transition: .2s ease-in-out;
}

ul.markList li {
	line-height: 1.6;
	position: relative;
	padding-left: 1.2em;
}
ul.markList.dot li {
	padding-left: 1em;
}
ul.markList.dot li::before {
	background: currentColor;
	border-radius: 100%;
	content: '';
	margin: auto;
	position: absolute;
		left: .3em;
		top: .7em;
	width: .2em;
	height: .2em;
}
ul.markList.borderMark li {
	padding-left: .7em;
}
ul.markList.borderMark li::before {
	border-top: solid .1em currentColor;
	border-radius: .2em;
	content: '';
	margin: auto;
	position: absolute;
        top: .8em;
		left: 0;
	width: .3em;
	height: 0;
}
ul.markList > li + li {
	margin-top: .3em;
}
ul.markList li:before {
	position: absolute;
	display: block;
	left: 0;
	top: .05em;
}
ul.markList li:after {
	display: none !important;
}
ul.markList.attentionMark {
	line-height: 1.4;
}
ul.markList.attentionMark li:before {
	content: '\203B';
}

ul.markList.checkMark li::before {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 18 18"><path fill="%230b8bd5" d="M9,0C4.03,0,0,4.03,0,9s4.03,9,9,9,9-4.03,9-9S13.97,0,9,0h0M13.41,7.22l-4.74,4.87c-.36.37-.96.38-1.33.02h0s-.65-.64-.65-.64h0l-2.07-2.01c-.36-.38-.34-.97.03-1.33.36-.34.91-.35,1.28-.02l2.05,1.99,4.09-4.19c.35-.39.94-.42,1.33-.07.39.35.42.94.07,1.33-.02.02-.03.04-.05.05" /></svg>') no-repeat top left ;
    content: '';
    top: .35em;
    width: 1.05em;
    height: 1.05em;
}

ol{
	counter-reset:number; /* 名前を付けたカウンターをリセット */
	list-style:none; /* olが数字を付けることをキャンセル */
	margin:0;
	padding:0;
}
ol > li{
	line-height: 1.5;
	padding-left: 1.5em;
	position: relative;
}
ol > li + li {
	margin-top: .3em;
}
ol > li::before{
	counter-increment: number;
	content: counter(number)'.';
	position: absolute;
	top: .3em;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.7em;
	height: 1.2em;
	line-height: 1;
}
ol.circleList > li {
    padding-left: 2em;
}
ol.circleList > li::before {
    background: var(--mainColor);
    border-radius: 100%;
    color: #fff;
	content: counter(number);
    font-size: .6em;
    top: .2em;
    width: 2.2em;
    height: 2.2em;    
}
.squareMark {
	border-radius: 10px;
	display: inline-block;
	line-height: 1;
	padding: .4em 1em;
	vertical-align: .1em;
}
.circleMark {
	border-radius: 2em;
	display: inline-block;
	line-height: 1;
	padding: .2em .6em;
	vertical-align: .1em;
}

.balloon-wrapper {
    font-size: min(3vw, 3rem);
}
.balloon {
    background: #fff;
    border: solid 1px var(--d_gray);
    display: inline-block;
    font-weight: 900;
    line-height: 1.4;
    padding: .4em 1em;
    position: relative;
    transform: rotate(-8deg);
    transform-origin: left bottom;
}
.balloon::before,
.balloon::after {
    clip-path: polygon(0 0, 100% 0, 100% 100%);
    content: '';
    display: block;
    margin: auto;
    position: absolute;
    width: .6em;
    height: .8em;
}
.balloon::before {
    background: var(--d_gray);
    top: 100%;
    left: 1.6em;
}
.balloon::after {
    background: #fff;
    top: calc(100% - 3px);
    left: calc(1.6em - 1px);
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    .balloon-wrapper {
        font-size: min(4vw, 2rem);
    }
}

/*====================================================
////NOTE カラー
====================================================*/
.bg-white {
	background: #fff;
	color: var(--black);
}
.bg-mainColor {
	background: var(--mainColor);
	color: #fff;
}
.bg-red {
	background: var(--red);
	color: #fff;
}

.bg-green {
    background: var(--green);
	color: #fff;
}
.bg-w_green {
    background: var(--w_green);
}
.bg-grd {
    background: var(--grd);
	color: #fff;
}

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

.white {
	color: #fff;
}
.mainColor {
	color: var(--mainColor);
}
.red {
    color: var(--red);
}
.green {
    color: var(--green);
}
.blue {
    color: var(--blue);
}
.gray {
	color: var(--gray);
}
.black {
	color: var(--black);
}


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

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


/*====================================================
////id 【header】
====================================================*/
header {
	transition: .3s ease-in-out;
}
header .headerBox {
    background: rgba(255, 255, 255, .8);
    backdrop-filter: blur(5px);
	position: fixed;
		top: 0;
		left: 0;
	transition: .5s ease-in-out;
	width: 100%;
	z-index: 9999;
}
header.global .headerBox {
}
header .header_logo {
	align-items: center;
	position: relative;
	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 .header_logo img {
    width: 100%;
}


header .menu-outer {
	position: relative;
	z-index: 30;
}
header .menuBtn {
	background: var(--b_gray);
	cursor: pointer;
	display: flex;
		align-items: center;
		justify-content: center;
	position: fixed;
		top: 0px;
		right: 0;
	transition: .2s ease-in-out;
	width: 50px;
	height: 50px;
	z-index: 10;
}
header .menuBtn .humberger {
	margin: 0;
	position: relative;
	transition: .2s ease-in-out;
	width: 24px;
	height: 14px;
}
header .menuBtn .humberger span {
	border-top: solid 2px var(--mainColor);
	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(-5px);
}
header .menuBtn .humberger span:nth-child(2) {
}
header .menuBtn .humberger span:nth-child(3) {
	transform: translateY(5px);
}


header .maskBox {
	background: transparent;
    backdrop-filter: blur(5px);
	opacity: 0;
	pointer-events: none;
	position: fixed;
		top: 70px;
		left: 0;
	transition: .5s ease-in-out;
	width: 100%;
	height: calc(100vh - 70px);
	height: calc(100dvh - 70px);
    z-index: 8888;
}
header .menuBox {
    background-color: rgba(255, 255, 255, .8);
	opacity: 0;
	overflow-y: auto;
	padding: 80px 20px 60px;
	pointer-events: none;
	position: fixed;
		top: 50px;
		right: -500px;
	transition: .5s ease-in-out;
	width: 100%;
		max-width: 500px;
	height: calc(100vh - 50px);
	height: calc(100dvh - 50px);
	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 .menu-outer.open .menuBtn {
    background: var(--mainColor);
}
header .menu-outer.open .humberger span {
    border-top-color: #fff;
    left: -20%;
    right: -20%;
    width: 120%;
}
header .menu-outer.open .humberger span:nth-child(1) {
    transform: rotate(-135deg);
}
header .menu-outer.open .humberger span:nth-child(2) {
    opacity: 0;
}
header .menu-outer.open .humberger span:nth-child(3) {
    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 .menuBox .menuBox-inner {
	grid-gap: 2em min(3vw, 2em);
	grid-template-rows: auto auto 1fr;
	margin: auto;
	width: min(90%, 320px);
}

header .menuBox .menu li {
	padding: 0;
	position: relative;
	width: 100%;
}
header .menuBox .menu li a {
	/* display: block; */
	position: relative;
}
header .menuBox .btnBox {
    display: flex;
        align-items: center;
        gap: 10px;
}

/* ////////// mobile ////////// NOTE header mobile */
@media screen and (max-width: 959.8px) {
	header {
		height: 50px;
	}
	header.hide {
		top: -130px;
	}
	header .headerBox {
		height: 50px;
	}

	header .innerBox {
		align-items: center;
		padding: 0 60px 0 0;
		height: 100%;
	}
	header .logo_img {
		height: 36px;
	}
	header .menuBox {
		padding: 40px 6vw 30px;
	}
	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 a {
        border-bottom: solid 1px var(--l_gray);
		display: block;
		padding: .6em 2em .6em 0;
	}
    header .menuBox .menu a::after {
		border-bottom: solid 2px var(--mainColor);
		content: '';
		display: block;
		margin: auto;
		position: absolute;
			top: 0;
			left: calc(100% - 1.5em);
			bottom: 0;
		transition: .3s ease-in-out;
		width: 0;
		height: 0;
	}
    header .menuBox .btnBox {
        display: grid;        
    }


}

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

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

/* ////////// PC ////////// NOTE header PC */
@media print, screen and (min-width: 960px) {
	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 {
        height: 65px;
        padding-top: 0;
	}
	header.hide {
		top: -180px;
	}
	header .innerBox {
		display: grid;
			align-items: center;
			grid-gap: 0 20px;
            grid-template-columns: min(16vw, 200px) 1fr;
		height: 100%;
        width: 92.4%;
		max-width: none;
		padding: 0 ;
	}
	header .wrapBox {
        width: 100%;
    }
	header .logo_img {
		height: 60px;
	}
	header .header_logo a:hover {
		color: inherit;
		opacity: .8;
	}
	header .menuBtn {
		display: none;
	}
    header .menuBox {
        background: transparent;
        color: var(--black);
        font-size: min(1.4vw, 1.5rem);
        height: 100%;
        max-width: none;
        opacity: 1;
        overflow: visible;
        padding: 0;
        pointer-events: auto;
        position: relative;
            top: auto;
            right: auto;

    }
    header .menuBox .menuBox-inner {
        display: flex;
            justify-content: flex-end;
        width: auto;
    }
    header .menuBox .menu {
        display: flex;
            align-items: center;
            flex-wrap: wrap;
            gap: .3em min(2vw, 2em);
    }
    header .menuBox .menu li {
        width: auto;
    }
    header .menuBox .menu a::before {
		border-bottom: solid 2px var(--mainColor);
		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 .menuBox .menu a:hover::before {
		opacity: 1;
		left: 0;
		right: auto;
		width: 100%;
	}

    header .btnBox .linkBtn {
        font-size: min(1.4vw, 1.5rem);
        width: 11em;
    }
}

@media (hover: hover) {
    header .menu-outer .menuBtn:hover {
        background: var(--mainColor);
    }
    header .menu-outer .menuBtn:hover .humberger span {
        border-top-color: #fff;
    }

	header .menuBox .menu a:hover {
        opacity: 1;
    }
	header .menuBox .menu a:hover::after {
		width: 1.5em;
	}
	header .btnBox.pc_btn a:hover {
        filter: brightness(1.2);
        opacity: 1;
        height: 60px;
    }
}

/*====================================================
////id |  page_title
====================================================*/
#page_title {
    display: flex;
        align-items: center;
    height: min(30vw, 240px);
    overflow: hidden;
}
#page_title::before {
    background: url('../img/illust/illust-1.webp') no-repeat center / cover;
    content: '';
    display: block;
    margin: auto;
    opacity: .3;
    position: absolute;
        top: 0;
        left: 70%;
    width: min(40%, 300px);
    height: 100%;
}
.page_title-inner {
    display: flex;
        justify-content: center;
    padding: min(5vw, 40px);
}
.page_title-head-deco {
    font-size: min(3vw, 2.7rem);
    position: absolute;
        bottom: calc(100% - .5em);
        left: -3em;
}
.page_title-head-deco .big {
    line-height: 1;
}
.page_title-head {
    text-shadow: .05em .05em 0 rgba(0, 0, 0, .5);
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    .page_title-head {
        font-size: min(7vw, 4rem);
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    .page_title-head {
        font-size: min(5vw, 5.5rem);
    }
}

@media (hover: hover) {}

/*====================================================
//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);
}

/*====================================================
//class eachTextAnime
====================================================*/
.eachTextAnime {
	opacity: 0;
}
.eachTextAnime.appeartext {
	opacity: 1;
}
.eachTextAnime span {
	opacity: 0;
}
.eachTextAnime.appeartext 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;}
}

/*====================================================
////id | title
====================================================*/
#title .page_title {
    text-align: center;
}
#title .page_title h1 {
    display: inline-block;
    font-size: min(8vw, 4.5rem);
    text-align: left;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

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

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

@media (hover: hover) {}


/*====================================================
////id | 特殊装飾
====================================================*/
.bodyText.default_deco h1 ,
.bodyText.default_deco h2 ,
.bodyText.default_deco h3 ,
.bodyText.default_deco h4 ,
.bodyText.default_deco h5 {
	font-weight: bold;
	line-height: 1.4;
	/* margin: 0 0 1em; */
    position: relative;
}
.bodyText.default_deco * + .headBox h1 ,
.bodyText.default_deco * + .headBox h2 {
	margin-top: 3em;
}
.bodyText.default_deco * + .headBox h3 ,
.bodyText.default_deco * + .headBox h4 ,
.bodyText.default_deco * + .headBox h5 {
	margin-top: 2.5em;
}
.bodyText.default_deco h1 {
    padding: .4em 1em;
	font-size: min(5.3vw, 2.2rem);
}
.bodyText.default_deco h1::before {
    background: var(--grd);
    content: '';
    display: block;
    margin: auto;
    opacity: .3;
    position: absolute;
        top: 0;
        left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.bodyText.default_deco h2 {
    background: var(--w_green);
    border-left: solid 3px var(--green);
    padding: .4em .8em .35em;
	font-size: min(5vw, 2.0rem);
}
.bodyText.default_deco h3 {
    border-bottom: solid 3px var(--gren);
    padding: 0 0 .4em;
	font-size: min(4.8vw, 1.8rem);
}
.bodyText.default_deco h4 {
	font-size: min(4.5vw, 1.8rem);
}
.bodyText.default_deco h5 {
	font-size: min(4.3vw, 1.7rem);
}
h1.deco_none,
h2.deco_none,
h3.deco_none,
h4.deco_none,
h5.deco_none,
ul.deco_none li {
	background: transparent;
	border: none;
	color: inherit;
	padding: 0;
}
.bodyText.deco_none h1,
.bodyText.deco_none h2,
.bodyText.deco_none h3,
.bodyText.deco_none h4,
.bodyText.deco_none h5,
.bodyText.deco_none ul li {
	margin: 0;
}
.bodyText .deco_none:before,
.bodyText .deco_none:after {
	display: none;
}

.bodyText.default_deco * + p,
.bodyText.default_deco * + ul,
.bodyText.default_deco * + ol {
	margin-top: 1.5em;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

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

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

@media (hover: hover) {}


/*====================================================
//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-repeat-x: initial;
	background-repeat-y: 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="no"],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: 5px;
	color: var(--black);
	display: block;
	font-family: var(--font_family);
	line-height: 1.6;
	padding: .6em .8em .7em;
	transition: .2s ease-in-out;
	width: 100%;
}
input.input-s {
    max-width: 220px;
}
input.error, select.error, textarea.error {
	background: var(--red);
	border-color: var(--red);
}
::-moz-placeholder {
	color: var(--gray);
}
:-ms-input-placeholder {
	color: var(--gray);
}
::placeholder {
	color: var(--gray);
    font-size: .9em;
}
textarea {
	resize: vertical;
	min-height: 130px;
	width: 100%;
}
input[type="text"]:focus, input[type="email"]:focus, input[type="password"]:focus, select:focus, textarea:focus {
	border-color: var(--gray);
}
input[type="file"],
label {
	cursor: pointer;
	display: grid;
}
label {
	cursor: pointer;
}
form label {
	position: relative;
	line-height: 1.4;
	display: inline-block;
}

input[type="checkbox"] + span ,
input[type="checkbox"] + label {
	position: relative;
	padding-left: 1.4em;
	display: inline-block;
}
input[type="checkbox"] + span:before ,
input[type="checkbox"] + label:before {
    background: #fff;
	position: absolute;
	content: '';
	width: .9em;
	height: .9em;
	border: solid 1px var(--gray);
	border-radius: 3px;
	top: .25em;
	left: 0px;
	transition: .2s ease-in-out;
}
input[type="checkbox"] + label:before {
}
input[type="checkbox"] + span:after ,
input[type="checkbox"] + label:after {
	position: absolute;
	content: '';
	width: .7em;
	height: .4em;
	border: solid;
	border-width: 0 0 3px 3px;
	border-color: transparent transparent var(--red) var(--red);
	transform: rotate(-45deg);
	top: .2em;
	left: .2em;
	opacity: 0;
	transition: .2s ease-in-out;
}
input[type="checkbox"] + label:after {
}
input[type="checkbox"]:checked + span:after ,
input[type="checkbox"]:checked + label:after {
	opacity: 1;
}
input[type="radio"] + span ,
input[type="radio"] + label {
	margin: 0 1em .4em 0;
	position: relative;
	padding-left: 1.5em;
}
input[type="radio"] + span:before,
input[type="radio"] + label:before {
    background: #fff;
	position: absolute;
	content: '';
	width: 1em;
	height: 1em;
	border: solid 1px var(--gray);
	border-radius: 100%;
	top: .23em;
	left: 0px;
	transition: .2s ease-in-out;
}
input[type="radio"] + span:after,
input[type="radio"] + label:after {
	position: absolute;
	content: '';
	width: .6em;
	height: .6em;
	top: .48em;
	left: .26em;
	border-radius: 100%;
	opacity: 0;
	transition: .2s ease-in-out;
}
input[type="radio"]:checked + span:after,
input[type="radio"]:checked + label:after {
	opacity: 1;
	background: var(--red);
}


.select {
	position: relative;
	max-width: 800px;
}
.select:before {
	position: absolute;
	content: '';
	width: 0;
	height: 0;
	border: solid 4px transparent;
	border-top-color: currentColor;
	border-top-width: 6px;
	border-bottom-width: 0;
	right: 20px;
	top: 0;
	bottom: 0;
	margin: auto;
	pointer-events: none;
	z-index: 100;
}
.select select {
	width: 100%;
}
#confirm .select:before {
	display: none;
}
select {
	cursor: pointer;
	padding-right: 2em;
}
label img {
	display: inline-block;
	margin-right: .4em;
	transition: .2s ease-in-out;
	vertical-align: text-bottom;
	width: 1.3em;
}
input:checked + label img {
	filter: brightness(0) invert(1);
}
button:disabled {
	cursor: default;
	filter: grayscale(.7);
	opacity: .5;
	pointer-events: none;
}

.btnBox .box-inner.flexBox {
	grid-gap: 30px;
	justify-content: space-evenly;
	margin: auto;
}

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

	.errorBox {
		border-width: 4px;
		padding: 1em 1em
	}
}

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

	.errorBox {
		padding: 1em 1.2em
	}
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
	.checkboxBox, .radioBox {
		grid-gap: 10px;
	}
	.btnBox .box-inner.flexBox {
		flex-direction: column;
	}
}

@media screen and (min-width:1330px) {
	input[type="checkbox"] + label ,
	input[type="radio"] + label {
	}
}


/*====================================================
////class .formBox
====================================================*/
.form-item-wrapper {
    padding: min(8vw, 70px) min(5vw, 30px);
}
.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);
    border-radius: 3px;
    color: #fff;
	display: inline-block;
	font-size: .7em;
	font-weight: 700;
	line-height: 1;
	margin-left: 1em;
	padding: .25em .5em .3em;
    vertical-align: .2em;
}
.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 .input-wrapper {
    display: grid;
        grid-gap: 7px;
}
.formBox .counter-wrapper {
    display: flex;
        align-items: center;
        gap: .8em;
}
.formBox .consentBox .consent_check {
    display: flex;
        align-items: center;
    position: relative;
}
.formBox .consentBox .checkBox {
	width: 1.5em;
}
.formBox .consentBox div {
	position: relative;
}

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

.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;
        margin: auto;
        width: min(100%, 540px);
	}
	.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 1.5em;
		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%;
	}
	#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;
	}
	.formBox dd .dateBox {
		width: calc(50% - 5px);
	}
    .formBox .consentBox {
        grid-column: span 2;
    }
	.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;
    }
}

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


/*====================================================
////class .pagetop
====================================================*/
.pagetop {
	display: none;
	position: fixed;
		bottom: min(3vw, 30px);
		right: min(3vw, 30px);
	transform: none !important;
	transition: .6s ease-in-out;
	width: 3em;
	height: 3em;
	z-index: 9999;
	/*	border: solid 1px*/
}
.pagetop.stop {
	position: absolute;
	top: -70px;
	bottom: auto;
}
.pagetop a {
	background: var(--green);
	color: #fff;
	border-radius: 100%;
	display: flex;
		align-items: center;
		justify-content: center;
    font-weight: 700;
	position: relative;
	text-align: center;
	opacity: .8;
	width: 100%;
	height: 100%;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 600px) {
}

@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:1330px) {
}

/*====================================================
////id footer
====================================================*/
footer {
    position: relative;
}
footer::before {
    background: var(--grd);
    content: '';
    display: block;
    margin: auto;
    opacity: .2;
    position: absolute;
        top: 0;
        left: 0;
    width: 100%;
    height: 100%;
}
.footer-inner {
    padding-bottom: min(6vw, 60px);
}
.footer_logo .logo_img {
    margin-bottom: 30px;
    width: min(30%, 200px);
}
.footer-contact {
    border: solid 2px var(--mainColor);
    border-radius: min(7.7vw, 60px);
    display: grid;
        align-items: center;
    margin-bottom: min(6vw, 60px);
    padding: min(7vw, 40px) min(4vw, 80px);
}
.footer-text p {
    margin-top: .7em;
}
.footer-menu ul {
    display: flex;
        flex-wrap: wrap;
        gap: .8em 2em;
        justify-content: center;
    font-weight: 400;
}
.copyright {
    font-size: 1rem;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    .footer-contact {
        grid-gap: min(8vw, 30px);
        place-items: center;
        text-align: center;
    }
    .footer-text h2 {
        font-size: min(8.5vw, 4rem);
    }
    .footer-text p {
        font-size: min(3.8vw, 1.8rem);
    }
    .footer-arrow .arrow {
        width: min(15vw, 90px);
        height: min(15vw, 90px);
    }
    .footer-menu ul {
        font-size: min(3.2vw, 1.3rem);
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    .footer-contact {
        grid-template-columns: 1fr auto;
        min-height: 300px;
    }
    .footer-text h2 {
        font-size: min(6.4vw, 6rem);
    }
    .footer-text p {
        font-size: min(2.4vw, 2.3rem);
    }
    .footer-arrow .arrow {
        width: min(8vw, 90px);
        height: min(8vw, 90px);
    }
    .footer-menu ul {
        font-size: 1.5rem;
    }
}

@media (hover: hover) {
    .footer-contact:hover {
        background: var(--mainColor_l);
    }
    .footer-menu a:hover {
        color: var(--mainColor);
        opacity: 1;
    }

}

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

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

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

@media (hover: hover) {}
