@charset "UTF-8";
/* ======================================================================
 reset
====================================================================== */
/*
  Josh's Custom CSS Reset
  https://www.joshwcomeau.com/css/custom-css-reset/
*/
*, *::before, *::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

* {
  margin: 0;
}

html {
  overflow-y: scroll;
}

body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}

input, button, textarea, select {
  font: inherit;
}

p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

ul {
  list-style: none;
  padding-left: 0;
}

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,
input, select, textarea {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  /* Sets a specific default `font-size` for user with `rem` type scales.*/
  font-size: 62.5%;
  /* Changes the default tap highlight to be completely transparent in iOS.*/
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

body {
  color: #0b308e;
  line-height: 1.5;
  background: url(../img/bg.jpg) center center/auto no-repeat #fff;
  background-attachment: fixed;
  font-family: "Noto Sans JP", 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Avenir, "Helvetica Neue", Helvetica, Arial, Verdana, Roboto, sans-serif;
  font-weight: 500;
  word-wrap: break-word;
  word-break: break-all;
}

@media screen and (max-width: 750px) {
  body {
    min-width: inherit;
  }
}

img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}

strong {
  font-weight: bold;
}

a:link {
  color: #0b308e;
  text-decoration: none;
  cursor: pointer;
}

a:visited {
  color: #0b308e;
  text-decoration: none;
}

a:hover {
  color: #0b308e;
  text-decoration: none;
}

a:active {
  color: c;
  text-decoration: none;
}

a[href^="tel"] {
  color: #0b308e;
}

.contain {
  width: 1100px;
  min-width: 1100px;
  margin: 0 auto;
  padding: 0 20px;
}

/* input */
input, textarea, select {
  display: block;
  margin: 0;
  padding: 0;
  outline: none;
  border: none;
  -o-border-image: none;
     border-image: none;
  background: transparent;
  font-family: inherit;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

input::-ms-expand, textarea::-ms-expand, select::-ms-expand {
  display: none;
}

textarea {
  resize: vertical;
}

input:placeholder-shown, textarea:placeholder-shown {
  color: #0b308e;
}

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  color: #0b308e;
}

input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  color: #0b308e;
}

input::-ms-input-placeholder, textarea::-ms-input-placeholder {
  color: #0b308e;
}

input::placeholder, textarea::placeholder {
  color: #0b308e;
}

input:focus:placeholder-shown, textarea:focus:placeholder-shown {
  color: #0b308e;
}

input:focus::-webkit-input-placeholder, textarea:focus::-webkit-input-placeholder {
  color: #0b308e;
}

input:focus:-ms-input-placeholder, textarea:focus:-ms-input-placeholder {
  color: #0b308e;
}

input:focus::-ms-input-placeholder, textarea:focus::-ms-input-placeholder {
  color: #0b308e;
}

input:focus::placeholder, textarea:focus::placeholder {
  color: #0b308e;
}

@media screen and (min-width: 769px) {
  .u_pc {
    display: block;
  }
  .u_sp {
    display: none;
  }
}

@media screen and (max-width: 750px) {
  .u_pc {
    display: none;
  }
  .u_sp {
    display: block;
  }
}

.key_outer {
  position: relative;
}

.text01 {
  font-size: 5rem;
  margin: 0 50px 25px;
}

@media screen and (max-width: 750px) {
  .text01 {
    font-size: calc(50/750*100vw);
    margin: 0 calc(50/750*100vw) calc(25/750*100vw);
  }
}

.img01 {
  margin-bottom: -43px;
}

@media screen and (max-width: 750px) {
  .img01 {
    margin-bottom: calc(-43/750*100vw);
  }
}

.img02 {
  margin: 0 0 17px 26px;
}

@media screen and (max-width: 750px) {
  .img02 {
    margin: 0 calc(50/750*100vw) calc(17/750*100vw) calc(26/750*100vw);
  }
}

.text02 {
  font-size: 3.3rem;
  margin: 0 50px;
  padding-bottom: 82px;
}

@media screen and (max-width: 750px) {
  .text02 {
    font-size: calc(33/750*100vw);
    margin: 0 calc(50/750*100vw);
    padding-bottom: calc(82/750*100vw);
  }
}

.text02_outer {
  background: url(../img/ashirai01.png) right bottom -24px/auto no-repeat;
}

@media screen and (max-width: 750px) {
  .text02_outer {
    background: url(../img/ashirai01.png) right bottom calc(-24/750*100vw)/calc(464/750*100vw) no-repeat;
  }
}

.img03 {
  margin: -24px 0 -14px;
}

@media screen and (max-width: 750px) {
  .img03 {
    margin: calc(-24/750*100vw) 0 calc(-14/750*100vw);
  }
}

.img04 {
  margin: 0 0 0 50px;
}

@media screen and (max-width: 750px) {
  .img04 {
    margin: 0 calc(50/750*100vw);
  }
}

.text03 {
  font-size: 3.3rem;
  margin: -37px 50px 36px;
  padding-top: 37px;
}

@media screen and (max-width: 750px) {
  .text03 {
    font-size: calc(33/750*100vw);
    margin: calc(-37/750*100vw) calc(50/750*100vw) calc(36/750*100vw);
    padding-top: calc(37/750*100vw);
  }
}

.text03_outer {
  background: url(../img/ashirai02.png) right bottom 20px/auto no-repeat;
}

@media screen and (max-width: 750px) {
  .text03_outer {
    background: url(../img/ashirai02.png) right bottom calc(20/750*100vw)/calc(408/750*100vw) no-repeat;
  }
}

.img05 {
  margin: 0 0 60px 50px;
}

@media screen and (max-width: 750px) {
  .img05 {
    margin: 0 calc(50/750*100vw) calc(60/750*100vw);
  }
}

.text04 {
  font-size: 3.3rem;
  margin: 0 50px 44px;
  padding-bottom: 26px;
}

@media screen and (max-width: 750px) {
  .text04 {
    font-size: calc(33/750*100vw);
    margin: 0 calc(50/750*100vw) calc(44/750*100vw);
    padding-bottom: calc(26/750*100vw);
  }
}

.text04_outer {
  background: url(../img/img06.png) right 12px bottom/auto no-repeat;
}

@media screen and (max-width: 750px) {
  .text04_outer {
    background: url(../img/img06.png) right calc(12/750*100vw) bottom/calc(302/750*100vw) no-repeat;
  }
}

.text05 {
  font-size: 3.3rem;
  margin: 0 50px 60px;
}

@media screen and (max-width: 750px) {
  .text05 {
    font-size: calc(33/750*100vw);
    margin: 0 calc(50/750*100vw) calc(60/750*100vw);
  }
}

.text05_outer {
  background: url(../img/ashirai03.png) left 344px/auto no-repeat;
}

@media screen and (max-width: 750px) {
  .text05_outer {
    background: url(../img/ashirai03.png) left calc(344/750*100vw)/calc(299/750*100vw) no-repeat;
  }
}

.text06 {
  font-size: 3.3rem;
  margin: 0 50px 90px;
}

@media screen and (max-width: 750px) {
  .text06 {
    font-size: calc(33/750*100vw);
    margin: 0 calc(50/750*100vw) calc(90/750*100vw);
  }
}

.img07 {
  margin: 0 0 30px 50px;
}

@media screen and (max-width: 750px) {
  .img07 {
    margin: 0 calc(50/750*100vw) calc(30/750*100vw);
  }
}

.text07 {
  font-size: 6.9rem;
  margin: 0 50px 43px;
  padding-bottom: 87px;
  letter-spacing: -4px;
}

@media screen and (max-width: 750px) {
  .text07 {
    font-size: calc(69/750*100vw);
    margin: 0 calc(50/750*100vw) calc(43/750*100vw);
    padding-bottom: calc(87/750*100vw);
    letter-spacing: -3px;
  }
}

.text07_outer {
  background: url(../img/ashirai04.png) right bottom/auto no-repeat;
}

@media screen and (max-width: 750px) {
  .text07_outer {
    background: url(../img/ashirai04.png) right bottom/calc(206/750*100vw) no-repeat;
  }
}

.map {
  margin: 0 50px 150px;
}

@media screen and (max-width: 750px) {
  .map {
    margin: 0 calc(50/750*100vw) calc(150/750*100vw);
  }
}

.map_ttl {
  margin-bottom: 25px;
  width: 192px;
}

@media screen and (max-width: 750px) {
  .map_ttl {
    margin-bottom: calc(25/750*100vw);
    width: calc(192/750*100vw);
  }
}

.map_outer {
  border: 2px solid #0b308e;
  margin-bottom: 36px;
  padding-top: 52.695%;
  position: relative;
}

@media screen and (max-width: 750px) {
  .map_outer {
    margin-bottom: calc(36/750*100vw);
  }
}

.map_outer iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.map_text {
  font-size: 3.3rem;
}

@media screen and (max-width: 750px) {
  .map_text {
    font-size: calc(33/750*100vw);
  }
}

/* ======================================================================
 layout
====================================================================== */
/* =================================
 l_content_size
================================= */
.l_content_size_sp_1 {
  padding: 0 4%;
}

@media screen and (min-width: 1025px) {
  .l_content_size_sp_1 {
    max-width: 1100px;
    margin: 0 auto;
  }
}

.l_content_size_pc_1 {
  width: 1100px;
  margin: 0 auto;
}

@media screen and (max-width: 750px) {
  .l_content_size_pc_1 {
    width: auto;
    padding: 0 4%;
  }
}

/* =================================
 l_container
================================= */
.l_container {
  position: relative;
}

/* =================================
 l_header
================================= */
.l_header {
  position: absolute;
  top: 26px;
  right: 46px;
}

@media screen and (max-width: 750px) {
  .l_header {
    top: calc(26/750*100vw);
    right: calc(46/750*100vw);
  }
}

.l_header li {
  width: 65px;
}

@media screen and (max-width: 750px) {
  .l_header li {
    width: calc(65/750*100vw);
  }
}

.l_header li + li {
  margin-top: 25px;
}

@media screen and (max-width: 750px) {
  .l_header li + li {
    margin-top: calc(25/750*100vw);
  }
}

/* =================================
 l_header_sp
================================= */
/* =================================
 l_menu_sp
================================= */
/* =================================
 l_breadcrumbs
================================= */
/* =================================
 l_main_visual
================================= */
/* =================================
 l_content
================================= */
/* =================================
 l_main
================================= */
.l_main {
  width: 850px;
  margin: 0 auto;
  padding: 0 50px;
}

@media screen and (max-width: 868px) {
  .l_main {
    width: 100%;
    padding: 0 calc(50/850*100vw);
  }
}

@media screen and (max-width: 750px) {
  .l_main {
    width: inherit;
    padding: 0;
  }
}

/* =================================
 l_side
================================= */
/* =================================
 l_footer
================================= */
.l_footer {
  padding-bottom: 45px;
}

@media screen and (max-width: 750px) {
  .l_footer {
    padding-bottom: calc(45/750*100vw);
  }
}

.l_footer .footer_logo {
  width: 270px;
  margin: 0 auto 135px;
}

@media screen and (max-width: 750px) {
  .l_footer .footer_logo {
    margin: 0 auto calc(135/750*100vw);
    width: calc(270/750*100vw);
  }
}

.l_footer .footer_copy {
  text-align: center;
  font-size: 2.3rem;
}

@media screen and (max-width: 750px) {
  .l_footer .footer_copy {
    font-size: calc(23/750*100vw);
  }
}

/* =================================
 l_hoge
================================= */
/* ======================================================================
 layout p_top
====================================================================== */
/* =================================
 l_container_top
================================= */
.l_container_top {
  position: relative;
}

/* =================================
 l_header_top
================================= */
/* =================================
 l_header_sp_top
================================= */
/* =================================
 l_main_visual_top
================================= */
/* =================================
 l_content_top
================================= */
/* =================================
 l_main_top
================================= */
/* =================================
 l_side_top
================================= */
/* =================================
 l_footer_top
================================= */
/* =================================
 l_hoge_top
================================= */
/* ======================================================================
 z-index
====================================================================== */
.l_loader {
  z-index: 1000;
}

.l_menu_sp {
  z-index: 999;
}

.l_header {
  z-index: 998;
}

.l_header_sp {
  z-index: 998;
}

.c_btn_p_top {
  z-index: 997;
}

.l_side {
  z-index: 996;
}

/* =================================
 p_top
================================= */
.l_menu_sp_top {
  z-index: 999;
}

.l_header_top {
  z-index: 998;
}

.l_header_sp_top {
  z-index: 998;
}

.c_btn_p_top_top {
  z-index: 997;
}

.l_side_top {
  z-index: 996;
}
