@charset "UTF-8";
html {
  font-size: 10px;
}
body {
  overflow-wrap: break-word;
}
a, a:link, a:visited, a:active, a:hover, a:hover img {
  text-decoration: none;
  color: #333;
}
a:hover {
  text-decoration: none;
}
a:hover, a:hover img, .img_hover:hover {
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)";
  opacity: .80;
}
a {
  color: #000;
}
img {
  vertical-align: bottom;
  max-width: 100%;
  width: auto;
  height: auto;
}
div, p {
  word-break: break-all;
}
ul, ol, li {
  list-style: none;
}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video, nav, picture {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
}
ul, ol, li {
  list-style: none;
}
body, td, th, input, textarea {
  color: #000;
  font-family: "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
  font-size: 1.3rem;
  line-height: 1.5;
}
* {
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
}
figure, picture {
  line-height: 0;
}
picture {
  display: block;
}
html, body {
  width: 100%;
  height: 100%;
  background: #333333;
}
/********************************************
font 
**********************************************/
.open-sans {
  font-family: 'Open Sans', sans-serif;
}
.yu-gothic {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
}
.lato {
  font-family: 'Lato', sans-serif;
}
.yu-mincho {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}
@media screen and (min-width: 769px), print {
  a[href^=tel] {
    pointer-events: none;
    text-decoration: none;
    cursor: default !important;
  }
  .show_sp {
    display: none !important;
  }
  .container {
    min-width: 1100px;
    overflow: hidden;
    background: #fff;
  }
  .row {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
  }
  .inner {
    max-width: 1062px;
    width: 100%;
    margin: 0 auto;
  }
  img {
    max-width: 100%;
    width: auto;
    height: auto;
  }
  body main p {
    font-size: 1.8rem;
    line-height: 1.88889;
  }
  .fadeInUp {
  opacity : 0;
  transform: translateY(40px);
  transition: 3s;
}
  .ttl {
    font-size: 3.5rem;
    font-weight: bold;
    font-style: italic;
    font-family: 'Open Sans', sans-serif;
    color: #272727;
    text-align: center;
    padding-bottom: 1.4rem;
  }
    section:nth-child(n+5) .ttl{
        padding-bottom:40px;
    }
  .ttl_border{
    position: relative;
  }
  .ttl_border::before {
    position: absolute;
    content: " ";
    bottom: 0;
    left: 50%;
    right: 50%;
    width: 124px;
    display: block;
    border-bottom: double #707070;
    transform: translateX(-50%);
    -webkit- transform: translateX(-50%);
  }
  .header {
    width: 100%;
    min-width: 1100px;
    top: 0;
    left: 0;
    z-index: 9999;
    position: fixed;
    background: #fff;
    -webkit-transition: background-color 0.3s ease-in-out;
    -moz-transition: background-color 0.3s ease-in-out;
    transition: background-color 0.3s ease-in-out;
  }
  .header_inner {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    max-width: 1100px;
    margin: 0 auto;
    padding: 28px 0;
  }
  .header.bg {
    background-color:#333333;
    -moz-box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.1);
  }
  .header.bg nav > ul li a {
    color: #fff;
  }
 .header.bg svg.header_logo path {
        fill: #fff;
    }
  .header_logo_link{
        width:193px; 
    }
    .header_logo{
        fill:#231815;
        width: 100%;
    }
  .header h1 {
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    line-height: 0;
  }
    
  .header h1 span {
    font-size: 1.5rem;
    font-weight: bold;
    color: #fff;
    margin-left: 24px;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  .header nav {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .header nav > ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
  }
  .header nav > ul li {
    margin-left: 21.5px;
    margin-right: 21.5px;
  }
    .header nav > ul span{
        display: flex
    }
  .header nav > ul li:nth-child(3) {
    margin-right: 26.5px;
  }
  .header nav > ul span li{
    margin-left: 8.5px;
    margin-right: 8.5px;
  }
  .header nav > ul li a {
    font-family: 'Open Sans', sans-serif;
    font-size: 1.4rem;
    color: #191919;
    font-weight: 400;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    text-transform: capitalize;
  }
  .header nav > a {
    width: 159px;
    height: 54px;
    -moz-border-radius: 27px;
    border-radius: 27px;
    background: #003e92;
    font-size: 1.5rem;
    font-weight: bold;
    color: #fff;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .top_page {
    width: 100%;
    background: #383B3D;
    height: 88px;
    text-align: center;
    line-height: 88px;
  }
  .top_page p:nth-child(2) {
    color: #fff;
    font-family: 'Open Sans', sans-serif;
    letter-spacing: 3px;
    position: relative;
  }
  .top_page p:nth-child(2)::after {
    content: "";
    width: 17px;
    left: 49.4%;
    bottom: 20px;
    height: 1px;
    background: #fff;
    position: absolute;
    transform: rotate(90deg);
    display: block;
    transition: all .6s;
  }
  .top_page_arrow_link {
    position: relative;
    cursor: pointer
  }
  .top_page_arrow {
    display: inline-block;
    color: #000;
    transform: rotate(-90deg);
    position: absolute;
    top: 20px;
    transition: all .6s;
  }
    .top_page_arrow_link:hover .top_page_arrow{
        top: 15px;
    }
    .top_page_arrow_link:hover p:nth-child(2){
        opacity: .80;
    }
    .top_page_arrow_link:hover p:nth-child(2)::after {
        bottom: 15px;
        opacity: .80;
    }
  .top_page_arrow::before, .top_page_arrow::after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
  }
  .top_page_arrow::before {
    left: -9px;
    width: 17px;
    height: 1px;
    background: #fff;
  }
  .top_page_arrow::after {
    left: 4px;
    width: 4px;
    height: 4px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .footer {
    color: #fff;
    text-align: center;
    background-color: #333333;
    padding-top: 53px;
    padding-bottom: 66px;
    margin: 0 auto;
  }
  .footer h2 {
    width: 178px;
    padding-bottom: 15px;
    margin: 0 auto;
  }
  .footer h2 + p {
    color: #D2D2D2;
    font-size: 10px;
    font-family: 'Open Sans', sans-serif;
  }
  .sns_footer {
    padding-top: 44px;
  }
  .sns_footer a {
    padding-right: 14px;
    cursor: pointer;
    transition: all .6s;
  }
  .sns_footer a:last-child {
    padding-right: 0;
  }
}
@media screen and (max-width: 768px) {
  img {
    width: 100%;
    height: auto;
  }
  .container {
    overflow: hidden;
    background:#fff;
  }
  .show_pc {
    display: none !important;
  }
    .show_sp{
      display: block;  
    }
  .inner, .row {
    padding-left: 3.90625vw;
    padding-right: 3.90625vw;
  }
  body {
    padding-top: 13.02083vw;
  }
  body main p {
    font-size: 3.38542vw;
  }
.fadeInUp {
  opacity : 0;
  transform: translateY(40px);
  transition: 3s;
}
  .ttl {
    color: #272727;
    font-size: 3.5rem;
    font-weight: bold;
    font-style: italic;
    font-family: 'Open Sans', sans-serif;
    color: #272727;
    text-align: center;
    padding-bottom: 1.4rem;
  }
  .header {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 115;
    background-color: #fff;
    transition: 3s;
  }
  .header.bg {
      background-color:#333333;
    -moz-box-shadow: 0px 0.39062vw 0.65104vw 0px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 0.39062vw 0.65104vw 0px rgba(0, 0, 0, 0.1);
  }
 .header.bg svg.header_logo path {
        fill: #fff;
    }
    .header.bg h1 .menu_icon{
            border-top: 2px solid #fff;
    border-bottom: 2px solid #fff;
    }
    .header.bg h1 .menu_icon:before, .header.bg h1 .menu_icon:after{
        background: #fff!important;
    }
  .header_logo_link{
        width:193px; 
    }
    .header_logo{
        fill:#231815;
        width: 100%;
    }
  .header h1 {
    height: 13.02083vw;
    width: 100%;
    margin: 0;
    font-size: 0;
    line-height: 1;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-left: 3.90625vw;
    padding-right: 3.90625vw;
  }
  .header h1 a {
    display: block;
  }
  .header h1 a img {
    width: 39.0625vw;
  }
  .header h1 .menu_icon {
        cursor: pointer;
    position: fixed;
    z-index: 200;
    top: -webkit-calc(6.51042vw);
    top: -moz-calc(6.51042vw);
    top: calc(6.51042vw);
    margin-top: -8px;
    right: 3.90625vw;
    width: 23px;
    height: 16px;
    background: transparent;
    border-top: 2px solid #191919;
    border-bottom: 2px solid #191919;
    font-size: 0;
    -webkit-transition: all 0.25s ease-in-out;
    -moz-transition: all 0.25s ease-in-out;
    transition: all 0.25s ease-in-out;
  }
  .header h1 .menu_icon:before, .header h1 .menu_icon:after {
    content: '';
    display: block;
    width: 100%;
    height: 2px;
    position: absolute;
    top: 50%;
    left: 0;
    background:#191919;
    margin-top: -1px;
    -webkit-transition: -webkit-transform 0.25s ease-in-out;
    transition: -webkit-transform 0.25s ease-in-out;
    -moz-transition: transform 0.25s ease-in-out, -moz-transform 0.25s ease-in-out;
    transition: transform 0.25s ease-in-out;
    transition: transform 0.25s ease-in-out, -webkit-transform 0.25s ease-in-out, -moz-transform 0.25s ease-in-out;
  }
  .header h1 .menu_icon.active {
    border-color: transparent;
  }
  .header h1 .menu_icon.active:before {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    background: #191919;
  }
  .header h1 .menu_icon.active:after {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    background: #191919;
  }
  .header nav {
    position: absolute;
    top: 13.02083vw;
    left: 0;
    width: 100%;
    overflow-y: auto;
    z-index: 999;
    opacity: 0;
    visibility: hidden;
    height: 0;
    -webkit-transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
    padding-bottom: 6.51042vw;
    padding-top: 6.51042vw;
    border-top: 1px solid #fff;
    text-align: center;
    background-color: #fff;
  }
  .header nav.active {
    opacity: 1;
    visibility: visible;
  }
    .header nav ul{
        position: absolute;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    }
  .header nav > ul > li {
    text-align: center;
    padding-top: 1.95312vw;
    padding-bottom: 1.95312vw;
    text-align: center;
  }
  .header nav > ul > li a {
    text-decoration: none;
    color:#191919;
    white-space: nowrap;
    font-weight: 400;
    font-size: 4.6875vw;
    font-family: 'Open Sans', sans-serif;
    text-transform: capitalize;
  }
  .header nav > a {
    width: 33.125vw;
    height: 11.25vw;
    -moz-border-radius: 5.625vw;
    border-radius: 5.625vw;
    background:#191919;
    font-size: 3.125vw;
    font-weight: bold;
    color: #fff;
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 3.90625vw;
  }  
    .header nav ul span{
            display: flex;
        justify-content: center;
        padding-top: 30px;
    }
    .header nav ul span li a{
                padding-right: 20%;
    display: block;
    }
    .top_page {
    width: 100%;
    background: #383B3D;
    height: 88px;
    text-align: center;
    line-height: 88px;
  }
  .top_page p:nth-child(2) {
    color: #fff;
    font-family: 'Open Sans', sans-serif;
    letter-spacing: 3px;
    position: relative;
  }
  .top_page p:nth-child(2)::after {
    content: "";
    width: 17px;
    left: 48%;
    bottom: 10px;
    height: 1px;
    background: #fff;
    position: absolute;
    transform: rotate(90deg) translateX(-50%);
      -webkit-transform: rotate(90deg) translateX(-50%);
    display: block;
    transition: all .6s;
  }
  .top_page_arrow_link {
    position: relative;
    cursor: pointer
  }
  .top_page_arrow {
    display: inline-block;
    color: #000;
    transform: rotate(-90deg);
    position: absolute;
    top: 20px;
    transition: all .6s;
  }
    .top_page_arrow_link:hover .top_page_arrow{
        top: 15px;
    }
    .top_page_arrow_link:hover p:nth-child(2){
        opacity: .80;
    }
    .top_page_arrow_link:hover p:nth-child(2)::after {
        bottom: 5px;
        opacity: .80;
    }
  .top_page_arrow::before, .top_page_arrow::after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
  }
  .top_page_arrow::before {
    left: -9px;
    width: 17px;
    height: 1px;
    background: #fff;
  }
  .top_page_arrow::after {
    left: 4px;
    width: 4px;
    height: 4px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .footer {
    color: #fff;
    text-align: center;
    background-color: #333333;
    padding-top: 53px;
    padding-bottom: 66px;
    margin: 0 auto;
  }
  .footer h2 {
    width: 178px;
    padding-bottom: 15px;
    margin: 0 auto;
  }
  .footer h2 + p {
    color: #D2D2D2;
    font-size: 10px;
    font-family: 'Open Sans', sans-serif;
  }
  .sns_footer {
    padding-top: 44px;
      display: flex;
      justify-content: center;
  }
  .sns_footer a {
    padding-right: 14px;
    cursor: pointer;
    transition: all .6s;
  }
  .sns_footer a:last-child {
    padding-right: 0;
  }
    .ttl_border::before {
    position: absolute;
    content: " ";
    bottom: 0;
    left: 50%;
    right: 50%;
    width: 124px;
    display: block;
    border-bottom: double #707070;
    transform: translateX(-50%);
    -webkit- transform: translateX(-50%);
  }
}