@charset "utf-8";

@media screen and (max-width: 979px) {}
@media screen and (min-width: 1400px) {}

/*----------------------------------------------------------
   normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css
----------------------------------------------------------*/
/* Document */
html{line-height:1.15;-webkit-text-size-adjust:100%}
/* Sections */
body{margin:0}
main{display:block}
h1{font-size:2em;margin:0.67em 0}
/* Grouping content */
hr{box-sizing:content-box;height:0;overflow:visible}
pre{font-family:monospace,monospace;font-size:1em}
/* Text-level semantics */
a{background-color:transparent}
abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}
b,strong{font-weight:bolder}
code,kbd,samp{font-family:monospace,monospace;font-size:1em}
small{font-size:80%}
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
sub{bottom:-0.25em}
sup{top:-0.5em}
/* Embedded content */
img{border-style:none}
/* Forms */
button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}
button,input{overflow:visible}
button,select{text-transform:none}
button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}
button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}
button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}
fieldset{padding:0.35em 0.75em 0.625em}
legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}
progress{vertical-align:baseline}
textarea{overflow:auto}
[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}
[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}
[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}
[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}
/* Interactive */
details{display:block}
summary{display:list-item}
/* Misc */
template{display:none}
[hidden]{display:none}

/* reset
----------------------------------------------------------*/
h1, h2, h3, h4, h5, h6, dl, dt, dd, ul, ol, li, p, table, th, td, time { margin: 0; padding: 0; font-size: 100%;}
h1, h2, h3, h4, h5, h6, b { font-weight: normal;}
i { font-style: normal;}
li { list-style: none;}
figure { margin: 0;}
img { vertical-align: top; background-color: rgba(255, 255, 255, .01);}
table { border-collapse: collapse; border-spacing: 0;}
input, select, textarea { font-size: 18px; -webkit-appearance: none; -moz-appearance: none; appearance: none;}
button { margin: 0; padding: 0; border: 0; outline: none; background: transparent; box-shadow: 0 0 0 0 transparent; cursor: pointer;}

/*----------------------------------------------------------
   base
----------------------------------------------------------*/
html {
	position: relative;
	height: -webkit-fill-available;
	font-size: 62.5%;
	font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Droid Sans", "Yu Gothic", YuGothic, "\30E1\30A4\30EA\30AA", Meiryo, "\30D2\30E9\30AE\30CE\89D2\30B4 ProN W3", "Hiragino Kaku Gothic ProN", "\FF2D\FF33 \FF30\30B4\30B7\30C3\30AF", sans-serif;
	-webkit-font-smoothing: antialiased;
}
body {
	position: relative;
	min-height: 100vh;
	min-height: -webkit-fill-available;
	background-color: #fff;
	color: #242424;
	font-size: 1.3rem;
	line-height: 2;
	font-weight: 400;
	letter-spacing: .075em;
	text-align: center;
	-webkit-tap-highlight-color: transparent;
}

a,
button {
	display: inline-block;
	color: inherit;
	text-decoration: none;
	outline: none;
	opacity: 1;
	transition: all .3s;
	backface-visibility: hidden;
}
a::after,
a::before,
button::after,
button::before {
	transition: all .3s;
}
a:hover,
button:hover {
	opacity: .7;
}
a img {
	background-color: rgba(255, 255, 255, .01);
	vertical-align: top;
}
#sp-flg,
#tb-flg {
	display: block;
	width: 0;
	height: 0;
	font-size: 0;
	line-height: 0;
}
.sp-show { display: block;}
.tb-show { display: none;}
.pc-show { display: none;}
.pc-hide { display: block;}
.noscript-text { padding: 1em;}

@media screen and (min-width: 570px) {
	html { font-size: clamp(62.5%, 62.5% + ((1vw - 5.7px) * 0.2439), 68.75%);} /* 10px～11px */
	#sp-flg { display: none;}
	.sp-show { display: none;}
	.tb-show { display: block;}
}
@media screen and (min-width: 980px) {
	html { font-size: clamp(50%, 50% + ((1vw - 9.8px) * 0.4762), 62.5%);} /* 8px～10px */
	body { font-size: 1.8rem;}
	#tb-flg { display: none;}
	.pc-show { display: block;}
	.pc-hide { display: none;}
}

/* loading */
#l-wrap { opacity: 0; transition: opacity .3s;}
#l-loading { z-index: 9999; display: block; position: fixed; top: 0; right: 0; bottom: 0; left: 0; background-color: #fff; visibility: visible; opacity: 1; transition: visibility .5s linear 0s, opacity .5s cubic-bezier(.4, 0, .2, 1);}
#l-loading .loading-inner { text-align: center; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); height: 10px;}
.is-loaded #l-wrap { opacity: 1;}
.is-loaded #l-loading { visibility: hidden; opacity: 0; transition-delay: 0s;}

.loading-animation,
.loading-animation::before,
.loading-animation::after { display: inline-block; width: 10px; height: 10px; background-color: #1060ab; border-radius: 50%; transform-origin: center center;}
.loading-animation { position: relative; opacity: 1; -webkit-animation: loading_anime 1s infinite linear; animation: loading_anime 1s infinite linear;}
.loading-animation::before,
.loading-animation::after { content: ''; position: absolute; top: 0; opacity: .25;}
.loading-animation::before { left: 20px; -webkit-animation: loading_anime_before 1s infinite linear; animation: loading_anime_before 1s infinite linear;}
.loading-animation:after { left: -20px; -webkit-animation: loading_anime_after 1s infinite linear; animation: loading_anime_after 1s infinite linear;}

/* common layout
----------------------------------------------------------*/
#l-wrap {
	overflow: hidden;
}
section {
	position: relative;
	display: block;
}
section::after {
	clear: both;
	content: '';
	display: block;
}
.inner {
	position: relative;
	max-width: 1100px;
	padding-left: 5.3%;
	padding-right: 5.3%;
	margin-right: auto;
	margin-left: auto;
	text-align: left;
}
.inner *,
.header-inner * {
	box-sizing: border-box;
}
.inner.bg::before {
	z-index: -1;
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 100vw;
	margin: auto;
	background-color: #f6f6f6;
	transform: translateX(-50%);
}

#l-main {
	padding-top: 60px;
}
.plain>section {
	padding-bottom: 6.2rem;
}
@media screen and (min-width: 980px) {
	#l-main {
		padding-top: 70px;
	}
	.plain>section {
		padding-bottom: 11.2rem;
	}
}

/* header
----------------------------------------------------------*/
#l-header {
	z-index: 50;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 60px;
	box-sizing: border-box;
	background-color: #fff;
}
#l-header .header-inner {
	padding-left: 5.3%;
	text-align: left;
}
#top-logo {
	padding-top: 22px;
}
#top-logo img {
	width: 120px;
}
#top-logo a:hover {
	opacity: 1;
}

#header-btn {
	z-index: 550;
	display: block;
	position: absolute;
	top: 5px;
	right: 9px;
	width: 50px;
	height: 50px;
	cursor: pointer;
}
#header-btn span {
	text-indent: 100%;
	font-size: 0;
	overflow: hidden;
}
#header-btn span,
#header-btn::before,
#header-btn::after {
	content: '';
	position: absolute;
	top: calc(50% - 1px);
	right: 0;
	left: 0;
	display: block;
	width: 27px;
	height: 2px;
	margin: auto;
	border-radius: 1px;
	background-color: #242424;
	transition: transform .3s;
}
#header-btn::before {
	margin-top: -7px;
}
#header-btn::after {
	margin-top: 7px;
}
#header-btn.is-active span {
	display: none;
}
#header-btn.is-active::before {
	width: 32px;
	background-color: #fff;
	transform: translate(0, 7px) rotate(27deg);
}
#header-btn.is-active::after {
	width: 32px;
	background-color: #fff;
	transform: translate(0, -7px) rotate(-27deg);
}
#header-nav {
	z-index: 100;
	overflow-y: auto;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100vh;
	background-color: #1060ab;
	color: #fff;
	visibility: visible;
	opacity: 1;
	transform: translate3d(100vw, 0, 0);
	transition: transform .3s cubic-bezier(.4, 0, .2, 1);
	-webkit-overflow-scrolling: touch;
}
#header-nav.is-active {
	transform: translate3d(0, 0, 0);
	transition-delay: 0s;
}
#nav-inner {
	display: flex;
	justify-content: center;
}
#nav-main {
	padding: 8.0rem 1.7rem 8.0rem 0;
	font-size: 1.5rem;
	line-height: 2.1;
	font-weight: 500;
	letter-spacing: .15em;
}
#nav-main li>ul {
	margin-bottom: .38em;
	padding-left: .8em;
	font-size: 1.4rem;
	font-weight: 400;
}
#nav-main a {
	position: relative;
}
#nav-main a:hover {
	opacity: 1;
}
#nav-main a::after {
	content: '';
	position: absolute;
	bottom: 3px;
	left: 0;
	width: 0;
	height: 1px;
	background-color: #fff;
	opacity: 0;
}
#nav-main a:hover::after {
	width: 100%;
	opacity: 1;
}
@media screen and (min-width: 570px) {
	#header-nav {
		width: min(60%, 420px);
	}
	#nav-main {
		padding: 9.2rem 10.6rem 8.0rem 0;
	}
}
@media screen and (min-width: 980px) {
	#l-header {
		height: 70px;
	}
	#l-header .header-inner {
		padding-left: 50px;
	}
	#top-logo img {
		width: 197px;
	}
	#header-btn {
		right: 41px;
		width: 60px;
		height: 60px;
	}
	#header-btn span,
	#header-btn::before,
	#header-btn::after {
		width: 42px;
		height: 3px;
	}
	#header-btn::before {
		margin-top: -11px;
	}
	#header-btn::after {
		margin-top: 11px;
	}
	#header-btn.is-active::before {
		width: 47px;
		transform: translate(0, 11px) rotate(27deg);
	}
	#header-btn.is-active::after {
		width: 47px;
		transform: translate(0, -11px) rotate(-27deg);
	}
	#nav-main {
		font-size: 2.2rem;
	}
	#nav-main li>ul {
		padding-left: 1.1em;
		font-size: 2.0rem;
		line-height: 1.9;
	}
}

/* footer
----------------------------------------------------------*/
#l-footer {
	padding: 6.4rem 0 2.5rem;
	background-color: #393939;
	color: #fff;
	font-weight: 500;
}
#l-footer .inner {
	padding-left: 9.3%;
	padding-right: 9.3%;
}
#l-footer .vcard {
	margin-bottom: 2.5rem;
}
#l-footer #ft-nav {
	font-size: 1.2rem;
	line-height: 2.25;
}
#l-footer #ft-nav ul {
	margin-bottom: 7px;
}
#l-footer .copy {
	text-align: center;
	width: 100%;
	margin-top: 5.8rem;
	font-size: 1.0rem;
	font-weight: 400;
	letter-spacing: normal;
}
@media screen and (min-width: 570px) {
	#l-footer .inner {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: stretch;
	}
	#l-footer #ft-nav {
		width: 35%;
	}
}
@media screen and (min-width: 980px) {
	#l-footer {
		padding: 7.0rem 0 2.5rem;
	}
	#l-footer .inner {
		padding-left: 5.3%;
		padding-right: 5.3%;
	}
	#l-footer #ft-nav {
		display: flex;
		width: 43.8%;
		font-size: 1.6rem;
		line-height: 2.45;
	}
	#l-footer #ft-nav ul:nth-of-type(1) {
		width: 16.5%;
	}
	#l-footer #ft-nav ul:nth-of-type(2) {
		flex-grow: 1;
	}
	#l-footer #ft-nav ul:nth-of-type(3) {
		width: 37%;
	}
	#l-footer #ft-nav ul li {
		white-space: nowrap;
	}
	#l-footer .copy {
		margin-top: 4.3rem;
		font-size: 1.2rem;
	}
}

/* module
----------------------------------------------------------*/
.image img,
.photo img,
figure img { width: 100%; height: auto;}

.skip { position: absolute; left: -9999px;}
.left { float: left;}
.right { float: right;}
.clear { clear: both;}
.cf::after { clear: both; content: ''; display: block;}
.txtr { text-align: right;}
.txtc { text-align: center;}

.sp01 { margin-top: .5em;}
.sp02 { margin-top: 1em;}
.sp03 { margin-top: 1.5em;}
.sp04 { margin-top: 2em;}
.sp05 { margin-top: 2.5em;}

/* block */
.grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
}
.grid-ac {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.col1-cell>*,
.col2-cell>.cell,
.col3-cell>.cell,
.col4-cell_li>li,
.grid-ac>* {
	width: 100%;
}
@media screen and (min-width: 570px) {
	.col4-cell_li>li {
		width: 47.96%;
	}
}
@media screen and (min-width: 980px) {
	.col2-cell>.cell {
		width: 49%;
	}
	.col3-cell>.cell {
		width: 32%;
	}
	.col4-cell_li>li {
		width: 23.5%;
	}
}

/* title, text */
.title {
	padding-top: 6.6rem;
	color: #000;
	font-size: 2.35rem;
	line-height: 1.1;
	font-weight: 500;
	text-align: center;
}
.plain .title {
	padding-top: 4.8rem;
	padding-bottom: 4.2rem;
	letter-spacing: .15em;
}
.title span {
	position: relative;
	display: block;
	padding-top: 1.4em;
	font-size: 1.1rem;
	letter-spacing: .05em;
}
.title span::before {
	content: '';
	position: absolute;
	top: .4rem;
	right: 0;
	left: 0;
	width: 100%;
	height: .65rem;
	margin: auto;
	background: url('../img/ico_ttl.svg') no-repeat 50% 50% / auto 100%;
}

#pageTitle {
	display: flex;
	align-items: center;
	height: 14.2rem;
	background: url('../img/bg_title_sp.jpg') no-repeat 50% 50% / cover;
	color: #fff;
}
#pageTitle h1 {
	width: 100%;
	font-size: 2.35rem;
	font-weight: 500;
	text-align: center;
}

.lead {
	padding: 0 0 4.0rem;
	text-align: center;
}
@media screen and (min-width: 980px) {
	.title {
		padding-top: 11.2rem;
		font-size: 3.8rem;
	}
	.plain .title {
		padding-bottom: 5.5rem;
		letter-spacing: .075em;
	}
	.title span {
		padding-top: 1.8em;
		font-size: 1.6rem;
	}
	.title span::before {
		top: .7rem;
		height: 1.0rem;
	}
	#pageTitle {
		height: 21.6rem;
		background-image: url('../img/bg_title_pc.jpg');
	}
	#pageTitle h1 {
		font-size: 3.8rem;
	}
	.lead {
		padding: 0 0 6.2rem;
	}
}

/* btn */
.link-btn a {
	position: relative;
	display: flex;
	align-items: center;
	height: 7.0rem;
	padding: 0 25px;
	background-color: #1060ab;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 500;
}
.link-btn a::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 25px;
	width: 2em;
	height: 1.05rem;
	margin: auto;
	background: url('../img/ico_arrow.svg') no-repeat 100% 50% / auto 100%;
}
.link-btn a.newwin::after {
	height: 1.4rem;
	background-image: url('../img/ico_newwin.svg');
}
@media screen and (min-width: 980px) {
	.link-btn a {
		height: 8.0rem;
		padding: 0 30px;
		font-size: 2.0rem;
	}
	.link-btn a::after {
		right: 30px;
		height: 1.7rem;
	}
	.link-btn a.newwin::after {
		height: 1.8rem;
	}
}

/* js
----------------------------------------------------------*/
/* fade */
.js-fade {
	opacity: 0;
	transition: opacity .5s cubic-bezier(.4, 0, .2, 1);
}
.js-fade.is-active {
	opacity: 1;
}

/* sticky */
.js-sticky {
	position: absolute;
}
.js-sticky.is-fixed {
	position: fixed;
}

/* keyframes
----------------------------------------------------------*/
@keyframes loading_anime {
	0% { opacity: 1;}
	33% { opacity: .25;}
	66% { opacity: .25;}
	100% { opacity: 1;}
}
@keyframes loading_anime_before {
	0% { opacity: .25;}
	33% { opacity: 1;}
	66% { opacity: .25;}
}
@keyframes loading_anime_after {
	33% { opacity: .25;}
	66% { opacity: 1;}
	100% { opacity: .25;}
}
@keyframes show {
	0% { opacity: 0;}
	100% { opacity: 1;}
}
@keyframes hide {
	0% { opacity: 1;}
	100% { opacity: 0;}
}

/* contact (old design)
----------------------------------------------------------*/
form input,
form textarea {
	outline-color: rgb(229, 151, 0);
}

/* old design */
.pos_center {text-align:center;}
.mb10 {margin-bottom:10px !important;}
.mb20 {margin-bottom:20px !important;}
.mb30 {margin-bottom:30px !important;}
.mb50 {margin-bottom:50px !important;}
.mb70 {margin-bottom:70px !important;}
.mb90 {margin-bottom:90px !important;}
textarea {color: #999;}
textarea.tdelete {color: #000;}

form {
	max-width: 660px;
	margin: 0 auto;
}
form input {
	font-size: 20px;
	background: #F3F3F3;
	border: 1px solid #E3E3E3;
	width: 100%;
	height: 50px;
	padding: 0 0 0 15px;
}
form textarea {
	font-size: 20px;
	padding: 12px 0 0 15px;
	width: 100%;
	height: 50px;
}
form textarea.last {
	height: 250px;
	background: #F3F3F3;
	border: 1px solid #E3E3E3;
}
form dl dt span {
	display: inline-block;
	font-size: 13px;
	line-height: 1.1;
	padding: 3px 10px;
	color: #1867B3;
	background-color: #DBF2FF;
	margin-left: 0.5em;
}
form dl dd {
	margin-bottom: 40px;
}
form .hidden {
	display: none;
}
/* mod start */
form button,
.error button,
.form-btn a {
	width: 100%;
	max-width: 492px;
	height: 70px;
	padding: 0;
	background-color: #FFFFFF;
	cursor: pointer;
	border: 2px solid #777;
	border-radius: 5px;
	color: #666;
	font-size: 1.2em;
	font-weight: 400;
	letter-spacing: .03em;
}
.form-btn a {
	display: block;
	line-height: 66px;
	margin: 0 auto;
}
form button:hover,
.error button:hover,
.form-btn a:hover {
	border-color: #0078be;
	background-color: #e6f2f9;
	color: #0078be;
	opacity: 1;
}
/* mod end */

#formWrap {
	max-width: 660px;
	margin: 0 auto;
	padding: 10px;
	color: #555;
	line-height: 120%;
}
table.formTable {
	width: 100%;
	margin: 0 auto 1em;
	border-collapse: collapse;
	text-align: left;
}
table.formTable td {
	background: #F3F3F3;
	border: 1px solid #E3E3E3;
}
table.formTable td,
table.formTable th {
	border: 1px solid #E3E3E3;
	padding: 13px 10px;
}
/* mod start */
table.formTable th {
	width: 14em;
	font-size: .9em;
	font-weight: normal;
	letter-spacing: normal;
	background: #FFF;
	text-align: left;
}
table.formTable tr:nth-of-type(1) {display: none;}
/* mod end */

p.error_messe {
	margin: 5px 0;
	color: red;
}
#formWrap h3 {
	font-size: 140%;
	line-height: 130%;
	text-align: center;
	margin: 1.5em 0;
	font-weight: bold;
}
#formWrap p {
	margin-bottom: 1em;
	line-height: 1.8;
}
#formWrap p.center {
	text-align: center;
}

article#thanks h2 {
	text-align: center;
	text-indent: inherit;
	padding: 50px 0 1.4em;
}
article#thanks p {
	text-align: center;
	font-size: large;
	padding: 0 0 1em;
	line-height: 140%;
	border-bottom: 2px solid #DCDCDC;
}
article#thanks p:last-child {
	padding: 1em 0 50px;
	border-bottom: none;
}