@charset "UTF-8";
/* reset----------------------------------- */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin:0; padding:0; border:0; outline:0; font-weight:400; font-size: 1rem; vertical-align:baseline; background:transparent; }
body { line-height:1; }
article,aside,details,figcaption,figure, footer,header,hgroup,menu,nav,section { display:block; }
nav ul { list-style:none; }
blockquote, q { quotes:none; }
blockquote:before, blockquote:after, q:before, q:after { content:''; content:none; }
a { margin:0; padding:0; vertical-align:baseline; background:transparent; text-decoration: none; }
table { border-collapse:collapse; border-spacing:0; }
hr { display:block; height:1px; border:0; border-top:1px solid #ddd; margin:1em 0; padding:0; }
input, select { vertical-align:middle; }
*, *::before, *::after { box-sizing: border-box; }
img { vertical-align:bottom; }
/***************** basic **********************/
html {  scroll-behavior: smooth; scroll-padding-top: 83px; }
body { max-width: 100%; font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","メイリオ", sans-serif; font-size:1rem; line-height:1.7; font-weight:400; letter-spacing: 0.05rem;}
p { margin-bottom: 1.5rem; }
p:last-child { margin-bottom: 0; }
header { width: 100%; background-color: #edd; position: fixed; top: 0; left: 0; z-index: 1000; }
.header_in { width: 100%; background-color: #fff; display: flex; justify-content: space-between; position: relative; padding: 15px 20px; box-shadow: 0px 6px 10px 0px rgba(0, 0, 0, 0.15); }
#logo { display: inline-block; width: 263px; height: 52px; }
nav ul { display: flex; justify-content: center; height: 100%; align-items: center;}
nav ul li { display: block; margin-left: 40px; }
nav ul li a { color: #444; transition: ease .3s;}
nav ul li a:hover { color: #d44; }
section { padding: 15px; margin-bottom: 40px; }
.top_box { position: relative; margin-top: 82px; }
.top_slider, .top_slider li { width: 100%; height: 600px; }
.top_copy { font-size: 28px; color: #fff; font-weight: 700; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); filter: drop-shadow(0px 0px 10px rgba(0,0,0,0.4)); width: 70%; text-align: center; }
.top_under { background-color: #fff; padding: 60px 10%; text-lign: center; }
.top_under p { text-align: center; }
.sec_in { max-width: 900px; width: 100%; margin: 0 auto;}
.lv2 { font-size: 24px; font-weight: 700; margin-bottom: 2rem; }
.lv4 { font-size: 18px; font-weight: 700; margin-bottom: 0.5rem; }
img + .lv4 { margin-top: 1rem; }
.underl { padding-bottom: 1rem; border-bottom: 2px #287bbf solid; }
.flex { display: flex; justify-content: space-between; flex-wrap: wrap; }
.box3 { width: 31%; margin-bottom: 2rem; } .box3:last-child { margin-bottom: 0; }
.box2 { width: 48%; margin-bottom: 2rem; } .box2:last-child { margin-bottom: 0; }
.box4 { width: 23%; margin-bottom: 1rem; }
.box5 { width: 18%; }
.gray_bg { background-color: #f0f0f0; padding: 60px 15px;}
.blue_bg  { background-color: #287bbf; padding: 20px; color: #fff; border-radius: 30px; }
footer { margin-top: 120px; }
.footer_in { background-color: #287bbf; color: #fff; font-size: 14px; padding: 15px; text-align: center; }
.gray_bdr { border: 1px #ddd solid; padding: 30px; background-color: #fff; box-shadow: 0px 6px 10px 0px rgba(0, 0, 0, 0.15); }
.guild { font-size: 24px; margin-bottom: 1rem; font-weight: 700; }
.action { margin: 1.5rem 0; background-color: #8d7a5e; color: #fff; font-size: 22px; font-weight: 700; padding: 5px 15px; border-radius: 10px; }
.action .arrow { float: right; font-size: 22px; }

.sp_btn { display: none; }
@media screen and (max-width:950px){
	html { scroll-padding-top: 61px; }
	.header_in { padding: 10px 0; }
	#logo { width: 220px; height: 41px; padding-left: 15px; }
	nav { height: auto; padding: 0; position: fixed; top: 58px; width: 100vw; transform: translateX(100vw); transition: ease .5s; }
	nav.open { transform: translateX( 0 ); }
	nav ul { flex-direction: column; background-color: #f0f0f0; box-shadow: 0px 6px 10px 0px rgba(0, 0, 0, 0.15);}
	nav ul li { padding: 10px 15px; border-bottom: 1px #999 dotted; margin-left: 0; width: 100%; }
	nav ul li:last-child { border-bottom: 0; }
	.sp_btn { display: block; position: absolute; top: 15px; right: 15px; width: 30px; height: 30px; }
	.bar_icon { position: absolute; background-color: #999; height: 2px; left: 0; right: 0; top: calc(50% - 1px); transition: ease .5s; border-radius: 2px; }
	.bar_icon:first-child { transform: translateY(8px); }
	.bar_icon:nth-child(2) { opacity: 1; }
	.bar_icon:last-child {  transform: translateY(-8px); }
	.toggle.open .bar_icon:first-child { transform: rotate(45deg); }
	.toggle.open .bar_icon:nth-child(2) { opacity: 0; }
	.toggle.open .bar_icon:last-child { transform: rotate(-45deg); }
	.top_box { margin-top: 61px; }
	.top_slider, .top_slider li {height: 250px; }
	.top_copy { font-size: 24px; }
	.top_under p { text-align: left; }
	.flex { flex-direction: column; }
	.box3, .box2, .box4, .box5 { width: 100%; }
	.action .arrow { transform: rotate(90deg); }
}



/* -------------------------- module -------------------------------- */
.for_pc { display:block!important; } .for_sp { display:none!important; }
@media screen and (max-width:767px) {  .for_sp { display:block!important; } .for_pc { display:none!important; } }

.img_full { width: 100%; }
.img_max { max-width: 100%; }
.img_fit { width: 100%; height: 100%; object-fit: cover; }

.center { text-align: center; }
.blue { color: #287bbf }