@charset "utf-8";

* { margin: 0; padding: 0; box-sizing: border-box; vertical-align: middle; }
h1, h2, h3, h4, h5, h6, p, ul, ol, dl { font-size: 1.0em; font-weight: normal; line-height: 1.5; color: #000000; }
body, textarea { font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }
img { border: none; max-width: 100%; height: auto; }
table { border-collapse: collapse; }
th, td { text-align: left; vertical-align: top; font-weight: normal; line-height: 1.5; }
ul, ol { list-style-type: none; }
a { text-decoration: none; color: #000000; }
button { cursor: pointer; border: none; background: transparent; }
button img { width: 100%; }
input[type="button"] { cursor: pointer; border: none; background: transparent; }

.clearfix:after { content: ""; display: block; clear: both; }
.text-left { text-align: left; }
.text-center { text-align: center; }
.text-right { text-align: right; }
.hidden { display: none; }

a img { transition: 0.2s linear opacity; }
a:hover img { opacity: 0.7; }
a[name]:hover img { opacity: 1; }
button img { transition: 0.2s linear opacity; } 
button:hover img { opacity: 0.7; }

.button01 { display: inline-block; color: #fff; background: #c01e19; font-weight: bold; padding: 10px 20px; text-align: center; }
.button02 { 
	display: inline-block; 
	position: relative; 
	padding: 15px 40px 15px 70px; 
	color: #fff; 
	text-align: center; 
	background: #f95b42; 
	border-radius: 20px; 
	box-shadow: 2px 2px 2px 2px rgba(0,0,0,0.2); 
	text-shadow: none;
	border: none;
	transition: 0.2s linear background; 
}
.button02:before { content: ""; background: url(images/s06_img02.png) no-repeat left 20px center; position: absolute; left: 0; right: 0; top: 0; bottom: 0; }
.button02:hover { background: #100964; box-shadow: none; }


#page { overflow: hidden; }

#header .menu a:hover { color: #ff0c0c; }
#header .menu li.active a { color: #ff0c0c; }

#section01 .content { padding-top: 50.53%; position: relative; }
#section01 img { position: absolute; opacity: 0; }
#section01 .anim01 { left: 31.6%; top: 36.53%; width: 57.2%; z-index: 10; }
#section01 .anim02 { left: 13.5%; top: 29.43%; width: 17.2%; z-index: 20; }
#section01 .anim03 { left: 20%; top: 20.1%; width: 11.46%; z-index: 10; }
#section01 .anim04 { left: 11.1%; top: 45.73%; width: 6.93%; z-index: 10; }

#section02 { background: #235180; }
#section02 .content { padding: 15% 0; }
#section02 h2 { text-align: center; color: #fff; font-weight: bold; margin-bottom: 8%; }
#section02 .animation { text-align: center; margin-bottom: 12%; visibility: hidden; }
#section02 .animation .arrow { margin-bottom: 1%; text-align: center; }
#section02 .animation ul li { display: inline-block; margin: 0 6.1%; width: 19%; }
#section02 p { text-align: center; color: #fff; margin-bottom: 15%; line-height: 2.0; }
#section02 .banner { text-align: center; }

#section03 { background: url(images/s03_bg01.png) no-repeat center; background-size: cover; }
#section03 .content { padding: 15% 0; }
#section03 h2 { text-align: center; color: #fff; font-weight: bold; margin-bottom: 8%; }
#section03 .box { border: 10px solid #000; background: #fff; padding: 8% 4%; }
#section03 p { text-align: center; font-weight: bold; margin-bottom: 4%; }
#section03 .button { text-align: center; }
#section03 .button a { transition: 0.2s linear opacity; }
#section03 .button a:hover { opacity: 0.7; }

#section04 .content { padding: 15% 0; text-align: center; }
#section04 h2 { text-align: center; font-weight: bold; margin-bottom: 10%; }
#section04 h3 { text-align: center; margin-bottom: 8%; }
#section04 p.txt { display: inline-block; text-align: left;}

#section05 .block01 { background: url(images/s05_bg01.png) no-repeat center; background-size: cover; }
#section05 .block01 .content { padding: 15% 0; }
#section05 .block01 h2 { text-align: center; color: #fff; font-weight: bold; margin-bottom: 10%; }
#section05 .block01 .box { background: rgba(0,0,0,0.7); }
#section05 .block01 dl { color: #fff; overflow: hidden; background: rgba(48,48,48,0.5); }
#section05 .block01 a { color: #ffffff; }
#section05 .block02 iframe { width: 100%; height: 590px; border: none; }

#section06 { background: #235180; }
#section06 .content { padding: 15% 0; }
#section06 h2 { text-align: center; color: #fff; font-weight: bold; margin-bottom: 12%; }
#section06 p { text-align: center; color: #fff; margin-bottom: 8%; }
#section06 p a { color: #ffd900; text-decoration: underline; }
#section06 p img { margin: 0 20px; }
#section06 form label { color: #fff; display: block; position: relative; margin: 0; }
#section06 form label.require:after { content: "必須"; position: absolute; right: 0; top: 5px; color: #fff; background: #f95b42; border-radius: 4px; line-height: 1.0; padding: 5px; }
#section06 table { width: 100%; margin-bottom: 8%; }
#section06 input { width: 100%; max-width: none; padding: 5px; background: #517d99; border: none; outline: none; color: #fff; border-radius: 4px; box-shadow: none; margin: 0; }
#section06 textarea { width: 100% !important; max-width: none; height: 180px !important; padding: 5px; background: #517d99; border: none; outline: none; color: #fff; border-radius: 4px; box-shadow: none; margin: 0; }
#section06 .button { text-align: center; }

#footer { background: #f6f6f6; }
#footer .content { padding: 2% 0; }
#footer h2 { text-align: center; margin-bottom: 3%; }
#footer p { text-align: center; margin-bottom: 3%; }
#footer ul { margin-bottom: 6%; }
#footer ul li { color: #4d4b4c; }
#footer a { color: #4d4b4c; }
#footer p.copyright { color: #4d4b4c; }

#thanks .content { padding: 30% 0 20%; }
#thanks p { text-align: center; }

div.mfp_err { background: none; }



/**
 * SP
 */
@media screen and (max-width: 767px) {

.visible-pc { display: none; }

.wrapper { padding: 0 10px; }

.button01 { font-size: 2.6vw; }

#header:after { content: ""; display: block; height: 60px; }
#header .menu { display: none; }
#header .fixed-menu { position: fixed; left: 0; right: 0; top: 0; bottom: 0; z-index: 100; background: #fff; opacity: 0; transition: 0.2s linear opacity; display: none; }
#header .fixed-menu.active { opacity: 1; display: block; }
#header .fixed-menu .menu-wrapper { padding: 10% 5%; }
#header .fixed-menu h1 { text-align: center; margin-bottom: 15%; }
#header .fixed-menu h1 img { max-width: 60%; }
#header .fixed-menu .links { text-align: center; }
#header .fixed-menu .links a { display: block; padding: 10px 0; margin-bottom: 5%; }
#header .nav-button { background: #000; padding: 10px; position: fixed; z-index: 200; top: 10px; right: 10px; cursor: pointer; opacity: 1; transition: 0.2s linear opacity; }
#header .nav-button:hover { opacity: 0.7; }
#header .nav-button .anim { background: #000; border: none; position: relative; width: 40px; height: 36px; vertical-align: bottom; display: block; }
#header .nav-button .anim span { display: inline-block; transition: all 0.4s; box-sizing: border-box; }
#header .nav-button .anim span { position: absolute; left: 0;  width: 100%; height: 4px; background-color: #fff;  border-radius: 4px; }
#header .nav-button .anim span:nth-of-type(1) { top: 0; }
#header .nav-button .anim span:nth-of-type(2) { top: 16px; }
#header .nav-button .anim span:nth-of-type(3) { bottom: 0; }
#header .nav-button.active .anim span:nth-of-type(1) { -webkit-transform: translateY(16px) rotate(-45deg); transform: translateY(16px) rotate(-45deg); }
#header .nav-button.active .anim span:nth-of-type(2) { opacity: 0; }
#header .nav-button.active .anim span:nth-of-type(3) { -webkit-transform: translateY(-16px) rotate(45deg); transform: translateY(-16px) rotate(45deg); }

#section02 h2 { font-size: 4.6875vw; }
#section02 p { font-size: 3.125vw; }
#section02 .animation .arrow img { max-width: 69%; }

#section03 h2 { font-size: 4.6875vw; }
#section03 p { font-size: 4.6875vw; }

#section04 h2 { font-size: 4.6875vw; }
#section04 h3 { font-size: 4.6875vw; }
#section04 p { font-size: 3.125vw; }

#section05 .block01 h2 { font-size: 4.6875vw; }
#section05 .block01 .box { padding: 2%; }
#section05 .block01 dl { padding: 2%; margin-bottom: 5%; }
#section05 .block01 dt, #section05 dd { font-size: 3.125vw; }

#section06 h2 { font-size: 4.6875vw; }
#section06 p { font-size: 3.125vw; }
#section06 p img { width: 60px; }
#section06 label { font-size: 3.125vw; }
#section06 input { font-size: 3.125vw; }
#section06 textarea { font-size: 3.125vw; height: 100px !important; }
#section06 table,
#section06 thead,
#section06 tbody,
#section06 tr,
#section06 th,
#section06 td { display: block; }
#section06 tr { margin-bottom: 5%; }
#section06 form label { margin-bottom: 10px; }
#section06 form label.require:after { top: 0; }

#footer h2 img { max-width: 60%; }
#footer ul { text-align: center; }
#footer ul li { font-size: 3.125vw; }
#footer p { font-size: 3.125vw; }


}

/**
 * PC・タブレット
 */
@media screen and (min-width: 768px) {

.visible-sp { display: none; }

.wrapper { max-width: 1000px; margin: 0 auto; padding: 0 10px; }

.button01 { font-size: 1.25em; }
.button02 { font-size: 1.25em; }

#header .menu { position: absolute; left: 0; right: 0; top: 0; z-index: 100; }
#header .menu ul { text-align: center; padding: 2% 0; }
#header .menu li { display: inline-block; margin: 0 2%; }
#header .menu a { font-size: 1.9vw; }

#header .fixed-menu { position: fixed; left: 0; right: 0; top: 0; z-index: 100; background: #fff; margin-top: -100px; transition: 0.2s linear margin; }
#header .fixed-menu.show { display: block; margin-top: 0; }
#header .fixed-menu:before { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 5px; border-bottom: 5px solid #f2f2f2; z-index: 10; }
#header .fixed-menu a { display: block; position: relative; z-index: 0; }
#header .fixed-menu a:hover { background-color: #235180; color: #fff; z-index: 20; }
#header .fixed-menu a.active { background-color: #235180; color: #fff; z-index: 20; }
#header .fixed-menu .menu-wrapper { max-width: 1200px; margin: 0 auto; position: relative; }
#header .fixed-menu h1 { position: absolute; left: 10px; top: 0; bottom: 10px; width: 16%; }
#header .fixed-menu h1 img { position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; }
#header .fixed-menu .links { display: flex; justify-content: flex-end; }
#header .fixed-menu a { font-size: 1.9vw; padding: 25px 20px; }
#header .fixed-menu a:not(:last-child) { border-right: 1px solid #cccccc; }
#header .fixed-menu a:not(:first-child) { border-left: 1px solid #f6f6f6; }
#header .nav-button { display: none; }

#section01 .wrapper { max-width: 1500px; padding: 0; }

#section02 h2 { font-size: 2.25em; }
#section02 p { font-size: 1.5em; }
#section02 .animation .arrow img { max-width: 66.5%; }

#section03 h2 { font-size: 2.25em; }
#section03 p { font-size: 2.25em; }
#section03 .button a { min-width: 300px; }

#section04 h2 { font-size: 2.25em; }
#section04 h3 { font-size: 2.25em; }
#section04 p { font-size: 1.5em; }

#section05 .block01 .wrapper { max-width: 1080px; }
#section05 .block01 h2 { font-size: 2.25em; }
#section05 .block01 .box { padding: 2%; }
#section05 .block01 dl { margin-bottom: 2%; }
#section05 .block01 dt, #section05 dd { float: left; font-size: 1.5em; }
#section05 .block01 dt { width: 20%; padding: 0 2%; }
#section05 .block01 dd { width: 80%; padding-right: 2%; }

#section06 .wrapper { max-width: 1240px; }
#section06 h2 { font-size: 2.25em; }
#section06 p { font-size: 1.5em; }
#section06 table { max-width: 880px; margin-left: auto; margin-right: auto; }
#section06 th { width: 40%; padding: 10px; }
#section06 td { padding: 10px; }
#section06 label { font-size: 1.5em; padding-right: 40px; }
#section06 label.require:after { font-size: 1.25rem; }
#section06 input { font-size: 1.5em; }
#section06 textarea { font-size: 1.5em; }

#footer ul { text-align: center; }
#footer ul li { display: inline-block; font-size: 1.5em; }
#footer ul li:after { content: "|"; margin: 0 10px; letter-spacing: 0; }
#footer ul li:last-child:after { content: ""; }
#footer p { font-size: 1.5em; }

#thanks p { font-size: 1.5em; }
.thanks #header .menu { display: none; }
.thanks #header .fixed-menu { margin-top: 0; }

}

/**
 * PC
 */
@media screen and (min-width: 1200px) {

#header .menu a { font-size: 1.5em; }
#header .fixed-menu a { font-size: 1.5em; }


}

