@charset "UTF-8";

/* =Reset=
-------------------------------------------------------------- */
/* assets */
:root{
	--color_primary: #080d1b;
	--color_main: #001f3c;
	--color_main-grad_start: #00427e;
	--color_main-grad_end: #001f3c;
	--color_point: #938200;
	--color_point-grad_start: #a28f00;
	--color_point-grad_end: #716300;
	--color_point2: #09A21B;
	--color_point3: #1C78CE;
	--color_white: #fff;
	--color_gray: #d8d8d8;
	--color_gray-light: #eaeaea;
	--color_gray-dark: #777;
	--color_danger: #c60000;
	--color_marker: #fff500;
	--color_marker-danger: #fee9ed;
	--color_shadow: rgba(0,0,0,0.14);
	--color_shadow2: rgba(0,0,0,0.3);
	--color_shadow3: rgba(0,0,0,0.6);
	--color_shadow-light: rgba(255,255,255,0.8);
	--color_shadow-light2: rgba(255,255,255,0.4);
	--color_shadow-dark: rgba(0,0,0,0.8);
	
	--fs-xl: 2.38em;	/* 16の場合：38px, 14の場合：35px, 13の場合：32.5px */
	--fs-l: 2em;		/* 16の場合：32px, 14の場合：28px, 13の場合：26px */
	--fs-l-m: 1.75em;
	--fs-m: 1.5em;		/* 16の場合：24px, 14の場合：21px, 13の場合：19.5px */
	--fs-s: 1.25em;		/* 16の場合：20px, 14の場合：18px, 13の場合：16.2px */
	--fs-xs: 1.13em;	/* 16の場合：18px, 14の場合：16px, 13の場合：14.6px */
	--fs-xxs: 0.88em;	/* 16の場合：14px, 14の場合：12px, 13の場合：11.4px */

	--family-default: "Yu Gothic Medium","游ゴシック Medium",YuGothic,"游ゴシック体","Hiragino Sans","ヒラギノ角ゴシック","Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","Meiryo UI","Meiryo","メイリオ",Helvetica,Helvetica Neue,Arial,Osaka,sans-serif;
	--family-min: "Shippori Mincho","Yu Mincho Medium","游明朝 Medium",YuMincho,"游明朝体","Hiragino Mincho ProN","ヒラギノ明朝 ProN","Hiragino Mincho Pro","ヒラギノ明朝 Pro", "Times New Roman", serif;
	--family-en: "Cormorant Garamond", "Times New Roman", serif;
	--family-icon: "Font Awesome 5 Free";
}

body,div,dl,dt,dd,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,table,th,td,figure{margin:0;padding:0;}
header,main,footer,article,aside,section,figure,picture{display: block;}

h1,h2,h3,h4,h5,h6{font-size:100%;}
table{border-collapse: collapse;border-spacing:0;}
caption{text-align:left;}
fieldset,img{border:0;}
img { max-width: 100%; vertical-align: middle;}
input,button,textarea,select{font-size:inherit; font-family:inherit;}
blockquote { position: relative; background-color: var(--color_gray-light); padding: 1.5em 3em; margin: 1em 0;}
blockquote:before,
blockquote:after { position: absolute; color: var(--color_gray); font-size: 7em; pointer-events: none;}
blockquote:before { top: 0; left: 0.1em; content: "“";}
blockquote:after { right: 0.1em; bottom: 0; content: "”";}
hr { display: none;}
picture,figure{display:block;padding:0;margin:0;}
dl, p { margin: 1em 0;}

.tCenter	{text-align:center !important;}


/* 強制リセット用(多用厳禁) */
.m0 {margin: 0 !important;} .mt0{ margin-top: 0 !important;} .mb0{ margin-bottom: 0 !important;}
.p0 {padding: 0 !important;} .pt0 {padding-top: 0 !important;} .pb0 {padding-bottom: 0 !important;}
/* margin */
.mt1em {margin-top:1em !important;} .mt2em {margin-top:2em !important;} .mt3em {margin-top:3em !important;} .mt4em {margin-top:4em !important;}
.mr1em {margin-right:1em !important;} .mr2em {margin-right:2em !important;} .mr3em {margin-right:3em !important;} .mr4em {margin-right:4em !important;}
.mbHem {margin-bottom:0.5em !important;} .mb1em {margin-bottom:1em !important;} .mb2em {margin-bottom:2em !important;} .mb3em {margin-bottom:3em !important;} .mb4em {margin-bottom:4em !important;}
.ml1em {margin-left:1em !important;} .ml2em {margin-left:2em !important;} .ml3em {margin-left:3em !important;} .ml4em {margin-left:4em !important;}
/* padding */
.pt1em {padding-top:1em !important;} .pt2em {padding-top:2em !important;} .pt3em {padding-top:3em !important;} .pt4em {padding-top:4em !important;}
.pr1em {padding-right:1em !important;} .pr2em {padding-right:2em !important;} .pr3em {padding-right:3em !important;} .pr4em {padding-right:4em !important;}
.pb1em {padding-bottom:1em !important;} .pb2em {padding-bottom:2em !important;} .pb3em {padding-bottom:3em !important;} .pb4em {padding-bottom:4em !important;}
.pl1em {padding-left:1em !important;} .pl2em {padding-left:2em !important;} .pl3em {padding-left:3em !important;} .pl4em {padding-left:4em !important;}
/* 旧margin(使用禁止。リニューアル後削除します) */
.mt5 {margin-top:5px;} .mt10 {margin-top:10px;} .mt15 {margin-top:15px;} .mt20 {margin-top:20px;}
.mr5 {margin-right:5px;} .mr10 {margin-right:10px;} .mr15 {margin-right:15px;} .mr20 {margin-right:20px;}
.mb5 {margin-bottom:5px;} .mb10 {margin-bottom:10px;} .mb15 {margin-bottom:15px;} .mb20 {margin-bottom:20px;}
.ml5 {margin-left:5px;} .ml10 {margin-left:10px;} .ml15 {margin-left:15px;} .ml20 {margin-left:20px;} .ml40 {margin-left:40px;}
/* 旧padding(使用禁止。リニューアル後削除します) */
.pt5 {padding-top:5px;} .pt10 {padding-top:10px;} .pt15 {padding-top:15px;} .pt20 {padding-top:20px;}
.pr5 {padding-right:5px;} .pr10 {padding-right:10px;} .pr15 {padding-right:15px;} .pr20 {padding-right:20px;}
.pb5 {padding-bottom:5px;} .pb10 {padding-bottom:10px;} .pb15 {padding-bottom:15px;} .pb20 {padding-bottom:20px;}
.pl5 {padding-left:5px;} .pl10 {padding-left:10px;} .pl15 {padding-left:15px;} .pl20 {padding-left:20px;}

/* header
-------------------------------------------------------------- */
.header{ 
  padding: 0.5em;
  background-color: var(--color_main);
}

/* main
-------------------------------------------------------------- */
.topHd {
	color: var(--color_main);
	font-size: var(--fs-xl);
	font-family: var(--family-min);
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: -0.02em;
	margin: 0 0 40px;
	text-align: center; 
}

.sec{ padding:4% 2%; }
.sec .inr{
	width: 90%;
	max-width: 700px;
	margin: 0 auto;
}

.errmsg{
	background-color:var(--color_marker-danger);
	color:var(--color_danger);
	padding: 0.5em 1em;
}

.formBtn{ text-align: center;}
.formBtn .sButton2{
	width: 260px;
	max-width: 100%;
	text-align: center;
	background-color: var(--color_gray-dark);
	color: var(--color_white);
	font-weight: bold;
	text-decoration: none;
	border-radius: 26px;
	outline: none;
	margin-top: 20px;
	border: none;
	padding: 15px 0;
}
.formBtn .sButton2:hover{
	opacity:0.8;
    cursor: pointer;
}

/* footer
-------------------------------------------------------------- */
.footer{
  padding: 0.5em;
  background-color: var(--color_main);
}
.footer .copyright{
	color: var(--color_white);
	display: block;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.06em;
	text-align: center;
	width: 100%;
}


/* form
-------------------------------------------------------------- */
#frm dl {margin: 0 0 1em;}
#frm dt {
	font-weight: bold;
	margin-bottom: 0.25em;
}
#frm dd { margin-bottom: 1em; }
#frm span.must,
#frm span.arbitrary{
	color: #fff;
	padding: 0 0.3em;
	font-size: 12px;
	border-radius: 3px;
	display: inline-block;
	margin-right: 0.25em;
}
#frm span.must { background-color: #0053A2; }
#frm span.arbitrary { background-color: #666; }
#frm textarea,
#frm input[type="text"],
#frm input[type="tel"],
#frm input[type="email"] {
	box-sizing: border-box;
	width: 100%;
	border: 1px solid #ccc;
	border-radius: 4px;
	padding: 0.5em;
}
#frm select {
	border: 1px solid #ccc;
	border-radius: 5px;
	padding: 0.4em 0.5em;
}
#frm select.full { width: 100%;}

#frm p{ margin: 0.5em 0 2em; }

#frm .formSubmitBtn{ margin-top: 20px; }

#frm .formSubmitBtn p{
	background: #E89700;
    background: linear-gradient(90deg, #e89700 0%, #e25e00 100%);
    border: 1px solid #e25e00;
    margin: 0;
    transition: 0.2s;
}
#frm .formSubmitBtn p button{
	background: none;
	border: none;
	color: #FFF;
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: var(--fs-m);
	font-weight: bold;
	letter-spacing: 0.04em;
	min-height: 60px;
	padding: 12px 0;
	position: relative;
	text-decoration: none;
	transition: 0.2s;
	width: 100%;
}
#frm .formSubmitBtn p button:before{
	background: url("../images/icon_mail.svg") center center no-repeat;
	background-size: 24px auto;
	content: '';
	display: inline-block;
	margin-right: 12px;
	height: 16px;
	transition: 0.2s;
	width: 24px;
	filter: brightness(0) invert(1);
}
#frm .formSubmitBtn p button:hover{
	background-color: var(--color_white);
	color: #e25e00;
}
#frm .formSubmitBtn p button:hover:before{
	filter: brightness(0) saturate(100%) invert(43%) sepia(91%) saturate(2596%) hue-rotate(3deg) brightness(91%) contrast(101%);
	transition: 0.2s;
}

#frm .open-sub {
  color: #0812E4 !important;
}
