@charset "utf-8";
@import url("reset.css");
@import url("https://use.fontawesome.com/releases/v5.15.4/css/all.css");

/*============================================================
common
============================================================*/
*{box-sizing: border-box;margin:0;padding:0;}
ul { list-style:none; }

/* body ----------*/
body {
  font-family:'Noto Sans Japanese',yugothic,yu gothic,'游ゴシック',hiragino kaku gothic pron,meiryo,sans-serif;
  font-size:1.6rem;
  line-height:1.6;
  color:#231815;
}
body.nav-open { overflow:hidden; }

main { overflow:hidden; margin-top: 18.5rem; }
@media screen and (max-width:870px) {
  main { margin-top:9rem; }
}
@media screen and (max-width:400px) {
  main { margin-top:7rem; }
}

/* html remを使用する場合----------*/
html { font-size:62.5%; }
@media screen and (max-width:720px) {
	html { font-size:56.3%; }
}
@media screen and (max-width:560px) {
	html { font-size:50%; }
}

/* a ----------*/
a:link, a:visited { transition:all 0.3s ease-out; }
/*a:link, a:visited { transition:color,opacity 0.3s ease-out; }*/
a:hover, a:active { opacity:0.6; }
a:focus, *:focus { outline:none; }
a.no-link { pointer-events:none; position:relative; }
a.no-link:after { content:""; display:block; position:absolute; width:100%; height:100%; top:0; background:rgba(255,255,255,.8); }
nav a.no-link { color:rgba(0,0,0,.4); }
nav a.no-link:after { background:rgba(229,237,238,.3); }
footer a.no-link:after { background:rgba(239,239,239,.8); }
@media screen and (min-width: 735px) {
	a[href^="tel:"] { pointer-events: none; }
}

/* small ----------*/
small { display: inline-block; font-size:80%; font-weight:normal; vertical-align:baseline; opacity:0.7; }

/* table ----------*/
table { border-collapse: collapse; border-spacing: 0; }
.table { width:100%; border:solid 1px #DDD; }
.table tr {}
.table th { padding:1rem; background-color:#f6f6f6; vertical-align:middle; }
.table td { padding:1rem; vertical-align:middle; }

/* text-align ----------*/
.tc { text-align:center; }
.tr { text-align:right; }
.tl { text-align:left; }


.cambn { text-align:center; max-width:1000px; margin:0 auto 50px;}




/*============================================================
common parts
============================================================*/
section {  }
img { width:auto; max-width:100%; }
.inner { max-width:104rem; margin:0 auto; padding:0 2rem; }

.scroll { overflow:auto; white-space:nowrap; }
.scroll::-webkit-scrollbar{ height:5px; }
.scroll::-webkit-scrollbar-track{ background:#969696; }
.scroll::-webkit-scrollbar-thumb { background:#17522f; }
.tc { text-align:center; }

.scroll-fade-side {
  transform:translateX(-100%);
  opacity:0;
  transition:1s;
}
.scroll-fade-side.active {
  transform:translateX(0)!important;
  opacity:1!important;
}
.scroll-fadein {
  transform:translateY(100px);
  opacity:0;
  transition:.6s;
}
.scroll-fadein.active {
  transform:translateY(0)!important;
  opacity:1!important;
}

/* title/font -----*/
h4 { font-size:2.6rem; font-weight: bold; text-align:center; margin-bottom:3rem; }
.font_min { font-family:"游明朝", YuMincho, "ヒラギノ明朝 ProN W6", "Hiragino Mincho ProN", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", "Times New Roman", Meiryo, serif; }
@media screen and (max-width:600px){
  h4 { font-size:2.2rem; }
}

/* responsive -----*/
.pc-only { display:block!important; }
.pc { display:block!important; }
.mid-only { display:none!important; }
.mid { display:none; }
.sp-only { display:none!important; }
@media screen and (max-width:768px){
  .pc-only { display:none!important; }
  .mid-only { display:block!important; }
  .mid { display:block!important; }
}
@media screen and (max-width:600px){
  .pc , .pc-only , .mid-only { display:none!important; }
  .sp-only { display:block!important; }
  main { margin-top:70px; }
}


/*============================================================
contents parts
============================================================*/

/* header ----------*/
header { top:0; max-height:19rem; width:100%; z-index:9999; background:#fff; position: fixed;}
header .inner {  }
header .cont { padding:1rem 2rem; position:relative; max-width:104rem; margin:0 auto; }
header .cont .catch { font-size:1.4rem; }
header .cont p { font-weight: bold; }

header .f_menu { display:flex; justify-content:space-between; }

header .cont .b1 { width:56%; display:flex; align-items:flex-start; flex-wrap:wrap; }
header .cont .b1 .catch { width:100%; margin-bottom:1rem; }
header .cont .b1 h1 { max-width:13.5rem; width:100%; }
header .cont .b1 h2 { max-width:22rem; width:100%; margin:0 0 0 2rem; }
header .cont .b1 p { margin-top:auto; }
header .cont .b1 div.hp { margin-left:auto; margin-top:auto; display:none; }
header .cont .b1 div.hp a:first-child { margin-right:1rem; }

header .cont .b2 { width:30%; }
header .cont .b2 ul { display:flex; flex-wrap:wrap; justify-content:space-between; }
header .cont .b2 ul li.hp { width:100%; display:flex; justify-content:flex-end; margin-top:1rem; }
header .cont .b2 ul li.hp a:first-child { margin-right:2rem; }
header .cont .b2 ul li img { width:100%; max-width:13.5rem; }
header .cont .b2 ul li a { display:block; font-weight: bold; }
header .cont .b2 p { text-align:right; }

header .menu { border-top:solid 2px #666464; }
header .menu ul { display:flex; max-width:104rem; margin:1.5rem auto 0; padding:0 2rem; }
header .menu ul li { text-align:center; width:calc(100% / 6); border-left:solid 1px #666464; position:relative; }
header .menu ul li:last-child { border-right:solid 1px #666464; }
header .menu ul li:after { content:""; display:block; width:100%; height:1rem; background:#e5edee; bottom:0; left:0; }
header .menu ul li.current:after { background:#006A95; }
header .menu ul li a { display:flex; justify-content:center; align-items:center; font-weight: bold; height:5rem; }

#sp-menu,nav { display:none; }
#sp-menu { position:absolute; right:1rem; top:50%; transform:translateY(-50%); display: none; width: 6rem; height: 6rem; }
#sp-menu span { position: relative; display: block; width: inherit; height: inherit; }
#sp-menu:after, #sp-menu span:before, #sp-menu span:after { 
  position: absolute;
  left: 25%;
  content: "";
  display: block;
  width: 50%;
  height:4px;
  background-color: #666464;
  transition: all 0.3s ease-out;
}
#sp-menu:after { top: 28%; }
#sp-menu span:before { top: calc(50% - 2px); }
#sp-menu span:after { bottom: 28%; }
#sp-menu.open:after { top:calc(50% - 2px); -webkit-transform: rotate(135deg); transform: rotate(135deg); }
#sp-menu.open span:before { opacity: 0; }
#sp-menu.open span:after { bottom: calc(50% - 2px); -webkit-transform: rotate(-135deg); transform: rotate(-135deg); }

#nav {
  position:fixed;
  top:9rem;
  left:0;
  background:rgba(229,237,238,.9);
  text-align:center;
  width:100%;
  height:100vh;
  transform:translateX(100%);
  transition:all .6s ease-in-out;
  z-index:9999;
  display:block;
}
#nav.active { opacity:1; transform:translateX(0%); }
#nav ul { width:80%; margin:0 auto; padding:3rem 0; }
#nav ul li { }
#nav ul li:first-child { border-top:solid 1px #fff; }
#nav ul li.current { background:#006A95; }
#nav ul li a { display:block; padding:1.5rem 0;border-bottom:solid 1px #fff; font-weight: bold; }
#nav ul li.current a { color:#fff; }
#nav .link { display:flex; justify-content:space-between; width:80%; margin:0 auto; }
#nav .link div { width:48%; }
#nav .link div a { display:flex; justify-content:center; align-items:center; padding:1.5rem 0; color:#fff; font-weight: bold; height:100%; }
#nav .link div:first-child { background:#05609e; }
#nav .link div:last-child { background:#e1353b; }

@media screen and (max-width:1040px){
  header .cont .b2 ul li:first-child { font-size:1.4rem; margin-right:1.5rem; }
  header .cont .b2 ul li:first-child a { word-break:keep-all; }
}
@media screen and (max-width:870px){
  header { position:fixed; }
  header .f_menu { margin-top:0; display:block; }
  header .cont { display:flex; align-items:center; padding:0 1rem; height:9rem; }
  header .cont .b1 { padding:0; width:100%; }
  header .cont .b1 h2 { margin:0 2rem; }
  header .cont .b1 div.hp { display:block; }
  header .cont .catch,header .cont .b1 p,header .cont .b2,header .menu { display:none; }
  header { max-height:9rem; }
  header .cont .b1 { margin-top:0; }  
  #sp-menu { display:block; }  
}
@media screen and (max-width:768px){
  header .cont h1 { width:20%; }
  header .cont h2 { width:40%; margin:0 1rem; }
  header .cont .b1 { flex-wrap:nowrap; }
  header .cont .b1 div.hp { width:30%; font-size:1.4rem; display:flex; flex-direction:column; }
}
@media screen and (max-width:600px){
  header .cont { width:90%; margin:0; }
  header .cont .b1 h1 { max-width:none; width:30%; }
  header .cont .b1 h2 { max-width:none; width:50%; }
}
@media screen and (max-width:400px){
  header,header .cont { height:6rem; }
  header .cont { width:85%; }
  header .cont h2 { margin:0 1rem; }
  
  header .cont .b1 div.hp { font-size:1.2rem; width:30%; }
  #nav { top:6rem; }
}
@media screen and (max-width:330px){
  header .cont .b1 div.hp { width:35%; }
}

/* footer ----------*/
footer { background:#efefef; padding:3rem 0 9rem; }
footer * { text-decoration:none; list-style:none; }
footer ul.f_menu { display:flex; width:100%; margin-bottom:2.5rem; }
footer ul.f_menu li { width:calc(100% / 6); text-align:center; border-left:solid 1px #666464; }
footer ul.f_menu li:last-child { border-right:solid 1px #666464; }
footer ul.f_menu li a { display:flex; justify-content:center; align-items:center; font-weight:bold; padding:1rem 0; }
footer ul.link { display:flex; max-width:30rem; width:100%; margin:0 auto 2rem; }
footer ul.link li { width:calc(50% - 1.5rem); margin-right:3rem; }
footer ul.link li:last-child { margin-right:0; }
footer .tc a { font-weight: bold; }
footer .tx { margin-top:4rem; font-size:1.4rem; }
footer .tx span { font-weight: bold; }
footer .cont { display:flex; justify-content:center; max-width:65rem; margin:1rem auto 0; }
footer .cont li { margin:0 2rem; }
footer .address { text-align:center; margin-top:2rem; font-weight: bold; font-size:1.4rem; }
footer .address a { display:inline-block; margin-left:1em; text-decoration:underline; }

footer .link-area { margin-top:6rem; }
footer .link-area .title { text-align:center; font-size:1.4rem; font-weight: bold; background:#d8dceb; padding:1rem 0; letter-spacing:3px; }
footer .link-area ul { padding:2rem; background:#fff; display:flex; }
footer .link-area ul li { width:calc(25% - 1.6rem); margin-right:2rem; color:#05609e; font-weight: bold; line-height:1.2; }
footer .link-area ul li:last-child { margin-right:0; }
footer .link-area ul li .t { text-align:center; background:#05609e; margin-bottom:0.5rem; color:#fff; padding:0.5rem 0; font-weight: bold; }
footer .link-area ul li img { margin-bottom:0.5rem; }
footer .f_logo { max-width:20rem; width:100%; margin:3rem auto 0; text-align:center; }

footer .last { max-width:50rem; width:100%; margin:5rem auto 0; }
footer .last a { display:block; max-width:40rem; width:100%; margin:0 auto; }
footer .last p { font-size:1.2rem; max-width:35rem; margin:2rem auto 0; }
footer .last p span { font-weight: bold; }
footer .copy { text-align:center; margin-top:2rem; font-size:1.2rem; }

footer #sp-btm-menu { 
  display:none;
  position:fixed;
  z-index:500;
  left:0;
  right:0;
  bottom:0;
}
footer #sp-btm-menu ul { display:flex; width:100%; }
footer #sp-btm-menu ul li { width:50%; text-align:center; }
footer #sp-btm-menu ul li:first-child { background:#05609e; }
footer #sp-btm-menu ul li:last-child { background:#e1353b; }
footer #sp-btm-menu ul li a { display:block; padding:1rem 0; color:#fff; font-weight: bold; font-size:1.6rem; }

footer .f_nolink { pointer-events:none; }
footer .f_nolink:hover { opacity:1; }
@media screen and (max-width:820px){
  
  footer ul.f_menu { display:none; }
  footer #sp-btm-menu { display:block; }
  
}
@media screen and (max-width:900px){
  footer .link-area ul { flex-wrap:wrap; }
  footer .link-area ul li { width:calc(33.33% - 1.3333rem); margin-right:2rem; }
  footer .link-area ul li:nth-of-type(3n) { margin-right:0; }
  footer .link-area ul li:nth-of-type(n+4) { margin-top:2rem; }
}
@media screen and (max-width:690px){
  
}
@media screen and (max-width:600px){
  
  footer .link-area ul li { width:calc(33.33% - 0.6666rem); margin-right:1rem; font-size:1.4rem; }
  
  footer .last { display:block; text-align:center; }
  footer .last p { margin-top:1rem; }
  
  footer .witherth .tt p,footer .witherth ul li .box { font-size:1.4rem; }
  footer .witherth .tt { padding:1.5rem 1rem; }
  footer .witherth ul li { padding:2rem 1rem; }
  footer .witherth ul li .box { display:block; margin-top:1.5rem; }
  footer .witherth ul li .box p.f,footer .witherth ul li .box p.s { width:100%; }
  footer .witherth ul li .box p.s { display:block; margin-top:0.5rem; }
  footer .witherth ul li .box p.s a { padding:0; display:block; border-right:none; }
  footer .witherth ul li .box p.s a:first-child { padding-left:0; }
}
@media screen and (max-width:375px){
  footer .link-area .title { font-size:1.2rem; }
  footer .link-area ul li { font-size:1.2rem; }
}