@charset "utf-8";
/*-----------------------------------------------
 * common.css
 * レスポンシブは基本スタイルを引き継ぐ（PCファースト）
 * @media screen and (max-width:767px)
-------------------------------------------------*/
/*-----------------------------------------------
 * Reset, root
 * Bace
 * Modal
-------------------------------------------------*/
/*-----------------------------------------------
 * Reset, root
-------------------------------------------------*/
body,div,dl,dt,dd,ul,ol,li,p,h1,h2,h3,h4,h5,h6,th,td,pre,code,blockquote,form,fieldset,legend,input,textarea,figcaption,figure{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:normal}li{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}q:before,q:after{content:''}abbr,acronym{border:0;font-variant:normal}sup{vertical-align:text-top}sub{vertical-align:text-bottom}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit}input,textarea,select{*font-size:100%}legend{color:#FFF}hr{display:none}img{vertical-align:bottom}select,input,button,textarea{font-size:99%}table{font-size:inherit;font:100%;border-collapse:collapse;border-spacing:0}pre,code,kbd,samp,tt{font-family:monospace;*font-size:108%;line-height:100%}.hd{display:block;width:0;height:0;overflow:hidden}.cf:before,.cf:after{content:"";display:table}.cf:after{clear:both}.cf{*zoom:1}article,aside,details,figcaption,figure,footer,header,hgroup,hr,menu,nav,section,main{display:block}*{margin:0;padding:0;box-sizing:border-box;max-height:999999px;outline:none;}*:focus{outline: none;}button{background-color:transparent;border:none;cursor:pointer;outline:none;padding:0;}

:root {
	--common-min-width: 1280px;
	--common-min-height: 640px;

	/* メインで使用するサイズやカラー */
	--main-font-size: 16px;
	--main-font-family: "WDXL Lubrifont JP N", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	--color-blue: #003567;
	--color-red: #B81A35;
	--color-yellow: #FAC03D;

	/* easing */
	--easing-outquart: cubic-bezier(0.25, 1, 0.5, 1);

	/* vw min 計算 => min(calc(数値 / var(--vw-min) * 100vw), 数値px) */
	--vw-min: 1280;
}
@media screen and (max-width:767px){
	:root {
		--common-min-width: 100%;
		--common-min-height: auto;
		--main-font-size: 12px;

		/* vw min 計算 => calc(数値px / var(--vw-min) * 100vw) */
		--vw-min: 750;
	}
}

/*-----------------------------------------------
 * Bace
-------------------------------------------------*/
body{
	-webkit-text-size-adjust: 100%;
	background-color: #fff;
	color: #000;
	font-family: var(--main-font-family);
	font-size: var(--main-font-size);
	font-weight: 400;
	font-style: normal;
	letter-spacing: 0.07em;
	line-height: 1.8;
	word-wrap: break-word;
}
.pc{ display: block; }
.sp{ display: none; }
a{ color: #222; }
a:hover{ text-decoration: none; }
.ah { transition: opacity .3s ease; }
.ah:hover { opacity: .7; }
::selection{
	background: var(--color-yellow);
	color: var(--color-blue);
}
::-moz-selection{
	background: var(--color-yellow);
	color: var(--color-blue);
}
@media screen and (max-width:767px){
	.sp{ display: block; }
	.pc{ display: none; }
	.ah:hover { opacity: 1; }
}

/**
 * scroll bar
 */
::-webkit-scrollbar {
	width: 8px;
	height: 8px;
}
::-webkit-scrollbar-track {
	background: #dca11c;
}
::-webkit-scrollbar-thumb {
	background: var(--color-blue);
	box-shadow: none;
}

/**
 * Wrap
 * 大枠のwrap指定
 */
/* fullWrap */
#fullWrap {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	position: relative;
	z-index: 1;
}

/*-----------------------------------------------
 * Modal
-------------------------------------------------*/
/**
 * modalBox
 * 基盤のモーダル
 */
.modalBox{
	-webkit-overflow-scrolling: touch;
	background: var(--color-red);
	display: none;
	width: 100%;
	height: 100%;
	overflow: auto;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
}
/* .modalBox:before {
	content: "";
	background-color: #fff;
	-webkit-mask-image: url(../img/common/parts/parts_wave_hor.svg), url(../img/common/parts/parts_wave_hor.svg);
	mask-image: url(../img/common/parts/parts_wave_hor.svg), url(../img/common/parts/parts_wave_hor.svg);
	-webkit-mask-repeat: repeat-x, repeat-x;
	mask-repeat: repeat-x, repeat-x;
	-webkit-mask-position: top left, bottom left;
	mask-position: top left, bottom left;
	-webkit-mask-size: min(calc(20 / var(--vw-min) * 100vw), 20px);
	mask-size: min(calc(20 / var(--vw-min) * 100vw), 20px);
	width: 100%;
	height: calc(100% - min(calc(100 / var(--vw-min) * 100vw), 100px));
	margin: auto;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 0;
} */
.oneModal{
	display: none;
	width: 100%;
	height: 100%;
	position: relative;
	z-index: 1;
}
.oneModal.is-show {
	display: block;
}

/* oneModalIn */
.oneModalIn{
	display: flex;
	justify-content: center;
	align-items: center;
	height: auto;
	width: 100%;
	min-height: 100%;
	margin: 0 auto;
	position: relative;
}
.oneModalIn:before,
.oneModalIn:after {
	content: "";
	background-color: #fff;
	-webkit-mask: url(../img/common/parts/parts_wave_hor.svg) repeat-x center / contain;
	mask: url(../img/common/parts/parts_wave_hor.svg) repeat-x center / contain;
	width: 100%;
	height: min(calc(20 / var(--vw-min) * 100vw), 20px);
	position: absolute;
}
.oneModalIn:before { top: min(calc(50 / var(--vw-min) * 100vw), 50px); }
.oneModalIn:after { bottom: min(calc(50 / var(--vw-min) * 100vw), 50px); }
@media screen and (max-width:767px){
	.oneModalIn{
		min-width: 100%;
	}
	.oneModalIn__cont{
		width: 100%;
	}
}

/**
 * closeBtn
 */
.closeBtn{
	width: min(calc(100 / var(--vw-min) * 100vw), 100px);
	height: min(calc(63 / var(--vw-min) * 100vw), 63px);
	position: absolute;
	top: min(calc(26 / var(--vw-min) * 100vw), 26px);
	right: min(calc(40 / var(--vw-min) * 100vw), 40px);
	z-index: 2;
}
.closeBtn a {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
}
.closeBtn a:before {
	content: "";
	background: url(../img/common/icon/icon_close.svg) no-repeat 0 0 / contain;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
@media screen and (min-width:768px){
	.closeBtn a:before {
		transition: transform .6s var(--easing-outquart);
	}
	.closeBtn a:hover:before {
		transform: scale(0.93);
	}
}

/**
 * iframe
 */
/* common */
.commonIframe{
	width: 100%;
	height: 100%;
	display: block;
}

/* youtube */
.youtubeIframeWrap {
	width: 70%;
	max-width: 159.993vh;
	position: relative;
}
@media screen and (max-width:767px){
	.youtubeIframeWrap {
		width: 100%;
		max-width: 100%;
		margin: 50px 0;
	}
}
.youtubeIframeWrap:before{
	content: "";
	display: block;
	padding-top: 56.25%;
	z-index: 0;
}
.youtubeIframe{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

/* commentModal */
.commentModal__cont {
	width: min(calc(924 / var(--vw-min) * 100vw), 924px);
	display: flex;
	gap: 0 min(calc(60 / var(--vw-min) * 100vw), 60px);
	margin: min(calc(120 / var(--vw-min) * 100vw), 120px) 0;
}
@media screen and (max-width:767px){
	.commentModal__cont {
		width: 100%;
		flex-direction: column;
		align-items: center;
		gap: calc(40 / var(--vw-min) * 100vw) 0;
	}
}

.commentModal__img {
	width: min(calc(420 / var(--vw-min) * 100vw), 420px);
}
@media screen and (max-width:767px){
	.commentModal__img {
		width: calc(520 / var(--vw-min) * 100vw);
	}
}
.commentModal__img img {
	width: 100%;
}

.commentModal__textWrap {
	flex: 1;
}
@media screen and (max-width:767px){
	.commentModal__textWrap {
		width: calc(520 / var(--vw-min) * 100vw);
	}
}

.commentModal__name {
	color: #fff;
	font-size: min(calc(30 / var(--vw-min) * 100vw), 30px);
}
.commentModal__name > span {
	font-size: min(calc(50 / var(--vw-min) * 100vw), 50px);
}

.commentModal__text {
	color: #fff;
	font-size: min(calc(22 / var(--vw-min) * 100vw), 22px);
	letter-spacing: -.01em;
	line-height: 2;
}
