@charset "UTF-8";
/*--------------------------------------------------------------
Foundation
--------------------------------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Zen+Antique+Soft&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600&display=swap");
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, i, font, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td, figure, figcaption,
button, input, textarea, select, i {
  border: 0;
  font-style: inherit;
  font-weight: inherit;
  font-size: inherit;
  line-height: inherit;
  font-family: inherit;
  letter-spacing: inherit;
  color: inherit;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
  line-height: 1.5;
}

html {
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.5;
  background: #fff;
  color: #2B2004;
  overflow-x: hidden;
  overflow-y: scroll;
  font-family: 'Noto Sans JP', sans-serif;
}

ul, li {
  list-style: none;
}

table {
  border-collapse: collapse;
  width: 100%;
}

a:hover,
a:active,
a:focus {
  outline: 0;
}

a {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transition: all .2s ease-in;
  transition: all .2s ease-in;
  -webkit-transition-property: opacity, color, background, box-shadow, -webkit-transform;
  transition-property: opacity, color, background, box-shadow, -webkit-transform;
  transition-property: opacity, color, background, transform, box-shadow;
  transition-property: opacity, color, background, transform, box-shadow, -webkit-transform;
  opacity: 1;
  line-height: inherit;
}

img {
  vertical-align: middle;
}

img,
input[type="image"] {
  border: 0;
  height: auto;
  max-width: 100%;
}

input[type="submit"], input[type="button"], button {
  cursor: pointer;
  -webkit-appearance: none;
  border-radius: 0;
  font-size: inherit;
  letter-spacing: inherit;
  background: none;
}

strong {
  font-weight: bold;
}

a {
  text-decoration: none;
}

a:hover,
input[type="image"]:hover {
  opacity: 0.7;
}

p {
  line-height: inherit;
}

p * {
  line-height: inherit;
}

main {
  overflow: hidden;
}

.m_ft {
  font-family: "游明朝 Medium", "Yu Mincho Medium", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.ft_o {
  font-family: ab-ootori, sans-serif;
}

.ft_z {
  font-family: 'Zen Antique Soft', serif;
}

.ft_e {
  font-family: 'Montserrat', sans-serif;
}

/*--------------------------------------------------------------
Component
--------------------------------------------------------------*/
.evt {
  visibility: hidden;
}

.c_anchor {
  position: absolute;
  width: 100%;
  left: 0;
  margin-top: -7.5rem;
}

@media screen and (max-width: 767px) {
  .c_anchor {
    margin-top: -7.5rem;
  }
}

.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3em, 0);
    transform: translate3d(0, 3em, 0);
  }
  30% {
    opacity: .5;
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3em, 0);
    transform: translate3d(0, 3em, 0);
  }
  30% {
    opacity: .5;
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}

.c_ttl {
  text-align: center;
  font-size: 6.4rem;
  line-height: 1;
  margin-bottom: .5em;
}

@media screen and (max-width: 767px) {
  .c_ttl {
    font-size: 7rem;
  }
  .c_ttl.b {
    font-size: 5.8rem;
  }
  .c_ttl.spl2 {
    line-height: 1.2;
  }
}

.c_lead {
  font-size: 1.8rem;
  line-height: 1.88;
}

.c_lead.b {
  text-align: center;
}

@media screen and (max-width: 767px) {
  .c_lead {
    font-size: 2.4rem;
    line-height: 2;
    text-align: left;
    margin-bottom: 6rem;
  }
}

@media screen and (min-width: 768px) {
  .c_lead {
    margin: 0 auto 6rem;
    width: 75.6rem;
  }
}

.c_btn {
  text-align: center;
}

.c_btn a {
  display: inline-block;
  font-weight: bold;
  background: #3C444D url(../img/ico_arrow01.svg) no-repeat calc(100% - 2.5rem) center/2.7rem;
  width: 55rem;
  max-width: 100%;
  line-height: 9rem;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .c_btn a {
    font-size: 2.6rem;
  }
}

.c_btn a.b {
  font-size: 2.4rem;
  padding-right: 1.8em;
}

.c_btn a.b i {
  font-weight: normal;
  font-size: 2.2rem;
}

.c_btn a.b img {
  width: 6.0833em;
  margin: 0 1em 0 .5em;
}

/*--------------------------------------------------------------
Utility
--------------------------------------------------------------*/
.u_wrap {
  overflow: hidden;
}

.u_inner {
  width: 100rem;
  margin: 0 auto;
  max-width: 100%;
}

html {
  font-size: 10px;
}

@media screen and (min-width: 768px) and (max-width: 1400px) {
  html {
    font-size: calc(100vw * 10 / 1400);
  }
}

@media screen and (max-width: 767px) {
  html {
    font-size: calc(100vw * 10 / 640);
  }
}

.u_clearfix:after,
.u_clearfix > li:after {
  height: 0;
  visibility: hidden;
  content: ".";
  display: block;
  clear: both;
}

* html .u_clearfix,
* html .u_clearfix > li {
  zoom: 1;
}

* + html .u_clearfix,
* + html .u_clearfix li {
  zoom: 1;
}

.u_switch_img {
  opacity: 1;
}

.u_relative {
  position: relative;
}

@media screen and (min-width: 768px) {
  .u_visible_sp {
    display: none;
  }
  .u_tel {
    pointer-events: none;
    cursor: default;
  }
  .u_tel:hover {
    opacity: 1;
  }
}

@media screen and (max-width: 767px) {
  .u_visible_pc {
    display: none;
  }
  .u_inner {
    width: auto;
    margin: 0 4rem;
  }
  .u_inner.b {
    margin: 0;
  }
}

/*--------------------------------------------------------------
Layout/PageBase
--------------------------------------------------------------*/
#header {
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 66;
  background: linear-gradient(90deg, #395e81 0%, #2a455f 52.71%, #395e81 100%);
  height: 7.5rem;
}

@media screen and (min-width: 768px) {
  #header {
    color: #fff;
  }
}

#header a {
  display: block;
}

#header:before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: -1;
  background: url(../img/bg_pattern01.png) 50%/9.2rem;
}

#header.shop {
  background: #fff;
  color: #2A455F;
}

#header.shop:before {
  content: none;
}

@media screen and (min-width: 768px) {
  #header.shop .h_logo {
    margin-left: -15rem;
  }
  #header.shop .h_nav {
    padding-top: 2.6rem;
  }
  #header.shop .h_nav li {
    margin: 0 .6em;
  }
}

@media screen and (max-width: 767px) {
  #header.shop .h_logo img {
    width: 36.7rem;
  }
}

@media screen and (max-width: 767px) {
  #header {
    height: 7.5rem;
  }
}

.h_logo {
  top: 1rem;
}

.h_logo img {
  width: 36.8rem;
}

@media screen and (max-width: 767px) {
  .h_logo {
    position: absolute;
    width: 100%;
    text-align: center;
    left: 0;
  }
}

@media screen and (min-width: 768px) {
  .h_logo {
    top: 1.3rem;
    left: calc(50% - 50rem);
    position: absolute;
  }
  .h_logo img {
    width: 17.3rem;
  }
}

.h_logo em {
  color: #2B2004;
  font-size: 2.4rem;
  margin-left: 1em;
  vertical-align: -.35em;
}

@media screen and (max-width: 767px) {
  .h_logo em {
    font-size: 2.8rem;
  }
}

@media screen and (min-width: 768px) {
  .h_tel {
    text-align: center;
    position: absolute;
    right: calc(50% - 59rem);
    top: 1.5rem;
  }
  .h_tel img {
    position: absolute;
    left: -4rem;
    top: 1rem;
    width: 2.3rem;
  }
  .h_tel em {
    font-size: 3rem;
    display: block;
    line-height: 1;
  }
  .h_tel small {
    display: block;
    font-size: 1.3rem;
  }
}

.h_nav li {
  font-size: 1.6rem;
}

@media screen and (min-width: 768px) {
  .h_nav {
    text-align: center;
    padding-top: 2.2rem;
    margin-left: 2.5rem;
    font-family: 'Zen Antique Soft', serif;
  }
  .h_nav li {
    display: inline-block;
    margin: 0 .8em;
  }
}

@media screen and (max-width: 767px) {
  .h_nav {
    display: -webkit-box;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .h_nav > * {
    margin-left: 3%;
    width: 48.5%;
  }
  .h_nav > *:nth-child(2n + 1) {
    margin-left: 0;
  }
  .h_nav li {
    font-size: 2.6rem;
    border: solid 1px #5A7A98;
    margin-top: 2.5rem;
  }
  .h_nav a {
    padding: .7em 0;
  }
}

@media screen and (max-width: 767px) {
  .h_close {
    letter-spacing: .1em;
    padding: 1.5rem 0 0;
    cursor: pointer;
  }
  .h_close img {
    widthb: 2rem;
    margin-right: .6em;
    vertical-align: -.1em;
  }
  #toggle_menu {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    overflow-y: auto;
    transform: translateY(100%);
    background: linear-gradient(#395e81 0%, #1f3b57 100%);
    bottom: 13rem;
    color: #fff;
    text-align: center;
    padding: 0 4rem 5rem;
    transition: transform .2s ease-in;
  }
  body.open #toggle_menu {
    transform: translateY(0);
  }
  body.open {
    overflow-y: hidden;
  }
  .sp_nav {
    position: fixed;
    background: #fff;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 66;
    display: flex;
    box-shadow: 0px -0.3rem 0.63rem rgba(0, 0, 0, 0.16);
    text-align: center;
  }
  .sp_nav li {
    width: 28.125%;
    font-size: 1.9rem;
    font-weight: 500;
    color: #2A455F;
    position: relative;
    height: 13rem;
  }
  .sp_nav li:nth-child(-n + 2) {
    border-right: solid 1px #E2E2E2;
  }
  .sp_nav li:nth-child(2) {
    border-right: solid 1px #E2E2E2;
  }
  .sp_nav li img {
    height: 5.2rem;
    display: block;
    margin: 2rem auto 1rem;
  }
  .sp_nav li a {
    display: block;
  }
  .sp_nav .h_menu {
    width: 15.625%;
    font-size: 1.9rem;
    color: #fff;
    background: #28445F;
    cursor: pointer;
  }
}

#gototop {
  position: fixed;
  right: 1em;
  bottom: 1em;
  width: 3.4rem;
  z-index: 5;
}

#gototop img {
  background: #fff;
  border-radius: 50%;
}

@media screen and (max-width: 767px) {
  #gototop {
    bottom: 15rem;
  }
}

#footer {
  color: #fff;
  background: linear-gradient(#395e81 0%, #1f3b57 100%);
  position: relative;
}

@media screen and (max-width: 767px) {
  #footer {
    margin-bottom: 13rem;
  }
}

@media screen and (min-width: 768px) {
  .f_logo {
    width: 20rem;
    position: absolute;
  }
}

@media screen and (max-width: 767px) {
  .f_logo {
    text-align: center;
  }
  .f_logo img {
    width: 20rem;
  }
}

@media screen and (min-width: 768px) {
  .f_nav {
    text-align: right;
    margin-right: 15rem;
    padding-top: 2.5rem;
  }
  .f_nav li {
    display: inline-block;
    font-size: 1.56rem;
    margin-left: 1.6em;
  }
}

.f_link li {
  display: inline-block;
  font-size: 1.4rem;
}

.f_link li + li:before {
  content: '|';
  margin: 0 .6em;
}

@media screen and (max-width: 767px) {
  .f_link li {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 767px) {
  .f_link {
    margin-top: 4rem;
    text-align: center;
    position: relative;
  }
}

@media screen and (min-width: 768px) {
  .f_link {
    margin-right: 15rem;
    text-align: right;
    margin-top: 2rem;
  }
}

.f_bg {
  background: url(../img/bg_pattern01.png) 50%/9.2rem;
  padding: 5rem 0 11rem;
}

@media screen and (max-width: 767px) {
  .f_bg {
    padding: 4rem 0;
  }
}

.f_copy {
  font-size: 1.4rem;
  padding: .9em 0;
}

@media screen and (max-width: 767px) {
  .f_copy {
    text-align: center;
    font-size: 1.8rem;
    padding: 1.2em 0;
  }
}

.f_img {
  position: absolute;
  bottom: 0;
  right: calc(50% - 64rem);
  width: 27.1rem;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .f_img {
    right: 0;
  }
  .f_img img {
    width: 29.7rem;
    max-width: 29.7rem;
    right: -2rem;
    position: relative;
  }
}

/*--------------------------------------------------------------
Project
--------------------------------------------------------------*/
.top_main {
  margin-top: 7.5rem;
  margin: 7.5rem 0 5rem;
  background: #2B2004 url(../img/top_mv_bg.png) no-repeat 50%/289.7rem;
  height: 69rem;
  position: relative;
}

@media screen and (max-width: 767px) {
  .top_main {
    margin-top: 7.5rem;
    margin: 7.5rem 0 5rem;
    height: auto;
  }
}

@media screen and (min-width: 768px) {
  .top_main .mv {
    width: 113.2rem;
    position: absolute;
    left: calc(50% - 75.8rem);
  }
}

.top_main .copy {
  position: absolute;
  bottom: 22.5rem;
  right: calc(50% - 63.4rem);
}

@media screen and (max-width: 767px) {
  .top_main .copy {
    right: 4rem;
    width: 20.1rem;
    bottom: 39.2rem;
  }
}

.top_main .img {
  position: absolute;
  width: 32.5rem;
  bottom: 0;
  right: calc(50% - 70rem);
}

@media screen and (max-width: 767px) {
  .top_main .img {
    right: 4rem;
    width: 21.7rem;
    bottom: 23.5rem;
  }
}

.top_lead {
  margin-bottom: 8rem;
}

@media screen and (min-width: 768px) {
  .top_lead {
    text-align: center;
  }
}

.top_lead .ttl {
  font-size: 4rem;
  margin-bottom: .6em;
}

@media screen and (max-width: 767px) {
  .top_lead .ttl {
    font-size: 4.4rem;
    line-height: 1.4;
  }
}

.top_lead .ttl2 {
  color: #fff;
  font-size: 3.2rem;
  line-height: 6.5rem;
  position: relative;
  margin-bottom: 2rem;
}

@media screen and (max-width: 767px) {
  .top_lead .ttl2 {
    background: #395E81 url(../img/ttl_bg_sp.png) no-repeat center top/100%;
    font-size: 3.6rem;
    padding: 1em 0 .5em;
    text-align: center;
    margin-bottom: 3rem;
  }
}

@media screen and (min-width: 768px) {
  .top_lead .ttl2 {
    background: #395E81 url(../img/ttl_bg_l.png) no-repeat left center/contain;
  }
  .top_lead .ttl2:before {
    content: '';
    position: absolute;
    right: 0;
    height: 100%;
    top: 0;
    width: 100%;
    background: url(../img/ttl_bg_r.png) no-repeat right center/contain;
  }
}

.top_lead .ttl2 + p {
  margin-bottom: 4rem;
}

@media screen and (max-width: 767px) {
  .top_lead .ttl2 + p {
    font-size: 2.4rem;
    padding: 0 3.5rem;
  }
}

.top_lead .box {
  border: solid 1px #395E81;
  padding-bottom: 5rem;
}

.top_lead li p {
  background: #E7EDF4;
  border-radius: 2em;
  color: #445464;
  padding: .1em 1em;
  margin-top: 2.4rem;
}

.top_lead li img {
  width: 16rem;
}

@media screen and (max-width: 767px) {
  .top_lead li {
    text-align: center;
    margin-bottom: 4rem;
  }
  .top_lead li p {
    font-size: 2.2rem;
    padding: .3em 0;
  }
  .top_lead li img {
    width: 23rem;
  }
}

@media screen and (max-width: 767px) {
  .top_lead ul {
    margin: 0 3.5rem -4rem;
    display: -webkit-box;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .top_lead ul > * {
    margin-left: 5%;
    width: 47.5%;
  }
  .top_lead ul > *:nth-child(2n + 1) {
    margin-left: 0;
  }
}

@media screen and (min-width: 768px) {
  .top_lead li {
    display: inline-block;
    vertical-align: top;
    margin: 0 1.5rem;
  }
}

.top_shop {
  text-align: center;
  overflow: hidden;
  margin-bottom: 11rem;
}

@media screen and (max-width: 767px) {
  .top_shop {
    margin-bottom: 8.5rem;
  }
}

.top_shop .ttl {
  font-size: 6.4rem;
  line-height: 1;
  margin-bottom: 2rem;
}

.top_shop .ttl small {
  display: block;
  font-size: 2.4rem;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .top_shop .ttl small {
    font-size: 3rem;
  }
}

@media screen and (max-width: 767px) {
  .top_shop .ttl {
    font-size: 7rem;
    margin-bottom: 5rem;
  }
}

.top_shop li {
  width: 28rem;
  margin: 0 1rem;
}

@media screen and (max-width: 767px) {
  .top_shop li {
    width: 32rem;
  }
}

.top_shop li p {
  font-size: 1.8rem;
  margin-top: 1.5rem;
}

@media screen and (max-width: 767px) {
  .top_shop li p {
    font-size: 2rem;
  }
}

.top_shop li img {
  width: 100%;
}

.top_shop li b {
  display: block;
}

@media screen and (max-width: 767px) {
  .top_shop li b {
    font-size: 2.4rem;
    margin-bottom: .3em;
  }
}

.top_shop .c_btn {
  margin-top: 8rem;
}

.top_about {
  background: #395E81;
}

@media screen and (max-width: 767px) {
  .top_about {
    padding-bottom: 6rem;
  }
}

@media screen and (min-width: 768px) {
  .top_about .img {
    width: 68rem;
  }
}

.top_about .img img {
  width: 100%;
}

.top_about .desc {
  color: #fff;
}

.top_about .desc .box {
  height: 100%;
  background: url(../img/bg_pattern01.png) left top/6.9rem;
  padding: 9rem 8rem 0 12.3rem;
}

@media screen and (min-width: 768px) {
  .top_about .desc .box {
    width: 63.7rem;
    margin-left: auto;
  }
}

@media screen and (max-width: 767px) {
  .top_about .desc .box {
    padding: 5.5rem 4rem 10rem;
  }
}

.top_about .ttl {
  font-size: 5.4rem;
  text-align: center;
  margin-bottom: .5em;
}

@media screen and (max-width: 767px) {
  .top_about .ttl {
    font-size: 5.6rem;
  }
}

.top_about .ttl img {
  display: block;
  margin: 0 auto .6em;
  width: 9rem;
}

.top_about p {
  font-size: 1.8rem;
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .top_about p {
    font-size: 2.4rem;
  }
}

@media screen and (min-width: 768px) {
  .top_about {
    display: flex;
  }
  .top_about > * {
    width: 50%;
  }
}

.c_item {
  text-align: center;
  margin: 8rem 0;
}

.c_item .c_ttl.b em {
  position: absolute;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.33;
  background: url(../img/bg_blowing03.svg) no-repeat 50%/contain;
  width: 14.9rem;
  height: 7.7rem;
  color: #2A455F;
  right: calc(50% + 13rem);
  margin-top: .3em;
  padding-top: .9em;
  padding-right: 1em;
}

@media screen and (max-width: 767px) {
  .c_item .c_ttl.b {
    position: relative;
    left: .8em;
  }
}

.c_itemlist {
  display: flex;
  flex-flow: wrap;
  text-align: left;
}

.c_itemlist li {
  background: url(../img/item_bg.png) no-repeat 50%/100% 100%;
}

@media screen and (max-width: 767px) {
  .c_itemlist li {
    background-image: url(../img/item_bg_sp.png);
  }
}

.c_itemlist a {
  display: block;
}

.c_itemlist a[href="#"] {
  pointer-events: none;
}

@media screen and (min-width: 768px) {
  .c_itemlist a {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
  }
}

@media screen and (min-width: 768px) {
  .c_itemlist dl {
    margin-top: 3rem;
    padding-right: 2rem;
  }
}

.c_itemlist dt {
  color: #395E81;
  font-size: 3.8rem;
  margin-bottom: .4em;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .c_itemlist dt {
    font-size: 4.4rem;
  }
}

.c_itemlist dd {
  font-size: 1.6rem;
  line-height: 1.75;
}

@media screen and (max-width: 767px) {
  .c_itemlist dd {
    font-size: 2rem;
    padding: 0 4rem;
    padding-bottom: 2.5rem;
  }
  .c_itemlist dd br {
    display: none;
  }
}

.c_itemlist .img {
  width: 20rem;
}

@media screen and (max-width: 767px) {
  .c_itemlist {
    display: flex;
    text-align: center;
  }
  .c_itemlist li {
    width: 50%;
  }
  .c_itemlist .img {
    margin: 1.4rem auto;
  }
  .c_itemlist .b {
    width: 100%;
  }
  .c_itemlist .b a {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    align-items: center;
    padding: 1.4rem 6rem;
  }
  .c_itemlist .b dl {
    text-align: left;
    width: calc(100% - 24rem);
  }
  .c_itemlist .b dd {
    padding: 0;
  }
}

@media screen and (min-width: 768px) {
  .c_itemlist li {
    width: 33.33%;
  }
  .c_itemlist dl {
    width: calc(100% - 22rem);
  }
}

.c_exp {
  margin: 11rem 0 11rem;
}

@media screen and (max-width: 767px) {
  .c_exp {
    magin: 8rem 0 19rem;
  }
}

.c_exp .ttl {
  text-align: center;
  font-size: 4.4rem;
  line-height: 1.27;
  padding-bottom: .8em;
  margin-bottom: 3.5rem;
  background: url(../img/bg_arrow.svg) no-repeat center bottom/auto 1.7rem;
}

.c_exp p {
  line-height: 2;
}

.c_exp .scroll {
  margin-bottom: 5.5rem;
}

.c_exp ul {
  margin: 0 -1rem 5.5rem;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .c_exp ul {
    text-align: left;
    margin: 0 -4rem 4rem 0;
    white-space: nowrap;
    overflow-x: auto;
  }
}

.c_exp li {
  display: inline-block;
  vertical-align: top;
  width: 18.5rem;
  margin: 0 .6rem;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .c_exp li {
    margin: 0;
  }
  .c_exp li + li {
    margin-left: 2rem;
  }
}

.c_exp li p {
  font-size: 2rem;
  line-height: 1.4;
  color: #445464;
  font-weight: bold;
  margin-top: .5em;
}

@media screen and (max-width: 767px) {
  .c_exp li p {
    font-size: 2.4rem;
  }
}

.c_banner {
  position: relative;
  text-align: center;
  margin-top: 16rem;
  color: #fff;
  background: linear-gradient(#395e81 0%, #1f3b57 100%);
}

@media screen and (max-width: 767px) {
  .c_banner {
    padding-bottom: 5rem;
  }
}

.c_banner .box {
  background: url(../img/bg_pattern01.png) center top/9.2rem;
  position: relative;
  height: 63.5rem;
  padding-top: 13rem;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .c_banner .box {
    height: auto;
    margin-bottom: 4rem;
    padding-bottom: 2rem;
  }
}

.c_banner .img {
  position: absolute;
  bottom: 0;
  left: calc(50% - 62rem);
  width: 36.4rem;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .c_banner .img {
    left: -12rem;
  }
}

.c_banner .catch {
  font-size: 1rem;
  background: url(../img/bg_blowing01.svg) no-repeat 50%/contain;
  height: 17.5em;
  width: 55.4em;
  position: absolute;
  left: 21.23rem;
  top: -5.3rem;
  white-space: nowrap;
}

@media screen and (max-width: 767px) {
  .c_banner .catch {
    left: 50%;
    transform: translateX(-50%);
  }
}

.c_banner .catch p {
  font-size: 2.6rem;
  font-weight: bold;
  color: #445464;
  line-height: 1.23;
  width: 9em;
  display: inline-block;
  margin: 1.9em .6em 0;
}

.c_banner .catch p em {
  position: relative;
}

.c_banner .catch p em:before {
  content: '';
  background: #445464;
  border-radius: 50%;
  width: .2em;
  height: .2em;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -.2em;
}

.c_banner .catch .b {
  color: #fff;
}

.c_banner .ttl {
  font-size: 5.4rem;
  line-height: 1;
  margin-bottom: 1em;
}

@media screen and (max-width: 767px) {
  .c_banner .ttl {
    margin-bottom: 1.3em;
  }
}

.c_banner .ttl i {
  position: relative;
}

.c_banner .ttl i:before, .c_banner .ttl i:after {
  content: '';
  height: 1em;
  border-left: solid .3rem #fff;
  position: absolute;
  margin-top: .1em;
}

.c_banner .ttl i:before {
  transform: rotate(-45deg);
  margin-left: -.7em;
}

.c_banner .ttl i:after {
  transform: rotate(45deg);
  margin-left: .8em;
}

.c_banner .ttl b {
  display: block;
  font-weight: normal;
  font-size: 7.5rem;
  margin: .3em 0 .3em;
}

.c_banner .ttl em {
  color: #FFF500;
}

@media screen and (max-width: 767px) {
  .c_banner .ttl em {
    margin-top: .3em;
    display: inline-block;
  }
}

.c_banner .ttl small {
  font-size: .84em;
}

.c_banner .ttl img {
  width: 4.333em;
  vertical-align: -.12em;
}

.c_banner dt {
  font-size: 2.4rem;
  font-weight: bold;
  color: #FFF500;
  position: relative;
  margin-bottom: .3em;
}

@media screen and (max-width: 767px) {
  .c_banner dt {
    margin-left: 1em;
  }
}

.c_banner dt:before, .c_banner dt:after {
  content: '';
  position: absolute;
  border: .5em solid transparent;
  border-top: 0.8em solid #FFF500;
  margin-top: .45em;
}

.c_banner dt:before {
  margin-left: -1.8em;
}

.c_banner dt:after {
  margin-left: .8em;
}

@media screen and (max-width: 767px) {
  .c_banner dt:after {
    content: none;
  }
}

.c_banner dd a {
  background: url(../img/ico_tel01.svg) no-repeat left 0.15em/0.7457em;
  font-size: 5.9rem;
  color: #FFF500;
  line-height: 1;
  display: inline-block;
  padding-left: 1em;
}

.c_banner dd small {
  display: block;
  font-size: 1.8rem;
  margin-top: .7em;
}

@media screen and (min-width: 768px) {
  .c_banner .btn {
    position: absolute;
    right: calc(50% - 50rem);
    bottom: 5.74rem;
    z-index: 1;
  }
}

.c_banner .btn a {
  display: block;
  position: relative;
  background: url(../img/bg_hex01.svg) no-repeat 50%/contain;
  font-weight: bold;
}

.c_banner .btn a.b {
  background-image: url(../img/bg_hex01_y.svg);
  color: #395E81;
}

@media screen and (min-width: 768px) {
  .c_banner .btn a.b {
    padding-top: 3.2em;
  }
  .c_banner .btn a.b i {
    font-size: 1.2em;
  }
}

@media screen and (max-width: 767px) {
  .c_banner .btn a.b {
    background-image: url(../img/bg_hex01_y_sp.png);
  }
}

.c_banner .btn a.b:before {
  background-image: url(../img/ico_arrow01_b.svg);
}

@media screen and (min-width: 768px) {
  .c_banner .btn a {
    width: 10.3em;
    height: 11.1em;
    padding-top: 3.8em;
  }
}

@media screen and (max-width: 767px) {
  .c_banner .btn a {
    background-image: url(../img/bg_hex01_sp.svg);
    line-height: 12.2rem;
    width: auto;
    font-size: 2.6rem;
    padding-right: 1em;
  }
  .c_banner .btn a br {
    display: none;
  }
}

.c_banner .btn a:before {
  content: '';
  width: 100%;
  height: 1.35em;
  background: url(../img/ico_arrow01.svg) no-repeat 50%/contain;
  bottom: 4rem;
  position: absolute;
  left: 0;
}

@media screen and (max-width: 767px) {
  .c_banner .btn a:before {
    left: auto;
    width: 2.7rem;
    right: 3em;
  }
}

.c_banner2 {
  position: relative;
  text-align: center;
  color: #2A455F;
}

.c_banner2 .box {
  position: relative;
  padding: 13rem 0 7rem;
}

@media screen and (max-width: 767px) {
  .c_banner2 .box {
    padding: 25.5rem 0 8rem;
    padding-right: 12rem;
  }
}

.c_banner2 .logo {
  position: absolute;
  top: .5rem;
  right: 0;
  width: 39.7rem;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .c_banner2 .logo {
    width: 40rem;
    right: auto;
    top: auto;
    bottom: 4rem;
    left: 4rem;
  }
}

.c_banner2 .img {
  position: absolute;
  bottom: 0;
  left: calc(50% - 56.6rem);
  width: 33rem;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .c_banner2 .img {
    left: auto;
    right: 0;
    width: 23.5rem;
  }
}

.c_banner2 .catch {
  font-size: 1rem;
  background: url(../img/bg_blowing02.svg) no-repeat 50%/contain;
  height: 11.4em;
  width: 34.4em;
  position: absolute;
  left: 30.3rem;
  top: 4.3rem;
  white-space: nowrap;
}

@media screen and (max-width: 767px) {
  .c_banner2 .catch {
    left: 50%;
    transform: translateX(-50%);
    background-image: url(../img/bg_blowing02_sp.svg);
    width: 55.4rem;
    height: 17.5rem;
  }
}

.c_banner2 .catch p {
  font-size: 2.4rem;
  font-weight: bold;
  color: #445464;
  line-height: 1.23;
  display: inline-block;
  vertical-align: top;
  margin: 1.1em .7em 0;
}

@media screen and (max-width: 767px) {
  .c_banner2 .catch p {
    font-size: 2.8rem;
    margin: 1.5em 2.2em 0;
    vertical-align: middle;
    line-height: 1.35;
  }
}

.c_banner2 .catch .b {
  color: #fff;
}

.c_banner2 .ttl {
  font-size: 6.4rem;
  margin-bottom: .2em;
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .c_banner2 .ttl {
    margin-bottom: .3em;
    font-size: 7.5rem;
    line-height: 1.3;
  }
}

.c_banner2 .ttl small {
  font-size: .84em;
}

.c_banner2 .ttl img {
  width: 4.375em;
  vertical-align: -.12em;
}

@media screen and (max-width: 767px) {
  .c_banner2 dl {
    margin-right: 4rem;
  }
}

.c_banner2 dt {
  font-size: 2.4rem;
  font-weight: bold;
  position: relative;
  margin-bottom: .3em;
}

@media screen and (max-width: 767px) {
  .c_banner2 dt {
    margin-left: 1em;
  }
}

.c_banner2 dt:before, .c_banner2 dt:after {
  content: '';
  position: absolute;
  border: .5em solid transparent;
  border-top: 0.8em solid #2A455F;
  margin-top: .45em;
}

.c_banner2 dt:before {
  margin-left: -1.8em;
}

.c_banner2 dt:after {
  margin-left: .8em;
}

@media screen and (max-width: 767px) {
  .c_banner2 dt:after {
    margin-left: .4em;
  }
}

.c_banner2 dd a {
  background: url(../img/ico_tel02.svg) no-repeat left 0.15em/0.7457em;
  font-size: 5.9rem;
  line-height: 1;
  display: inline-block;
  padding-left: 1em;
}

@media screen and (max-width: 767px) {
  .c_banner2 dd a {
    font-size: 4.4rem;
  }
}

.c_banner2 dd small {
  display: block;
  font-size: 1.8rem;
  margin-top: .5em;
}

.c_reason {
  margin-top: 7rem;
  text-align: center;
}

.c_reason .sub {
  background: url(../img/bg_ribbon.svg) no-repeat 50%/contain;
  font-size: 2.8rem;
  font-weight: bold;
  color: #445464;
  line-height: 8.7rem;
  margin: -.4em 0 3.5rem;
}

@media screen and (max-width: 767px) {
  .c_reason .sub {
    background-image: url(../img/bg_ribbon_sp.svg);
    line-height: 8.4rem;
    margin: -.7em 0 5rem;
  }
}

.c_reason .c_ttl img {
  width: 4.797em;
  vertical-align: -.2em;
  margin-right: .2em;
}

@media screen and (max-width: 767px) {
  .c_reason .c_ttl img {
    margin-bottom: .2em;
  }
}

.c_reason li {
  background: #9F0F25;
  color: #fff;
  position: relative;
  z-index: 1;
  padding: 2rem 0 5rem;
}

@media screen and (max-width: 767px) {
  .c_reason li {
    padding: 5rem 0 6rem;
  }
}

.c_reason li img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
  width: 30.8rem;
}

@media screen and (max-width: 767px) {
  .c_reason li img {
    width: 28.7rem;
  }
}

.c_reason li:nth-child(2) {
  background: #436426;
}

.c_reason li:nth-child(3) {
  background: #222F65;
}

.c_reason li:nth-child(4) {
  background: #817237;
}

.c_reason li:nth-child(5) {
  background: #10162F;
}

.c_reason li p {
  font-size: 1.8rem;
  line-height: 2;
  text-align: left;
  padding: 0 4.5rem;
}

@media screen and (max-width: 767px) {
  .c_reason li p {
    font-size: 2.4rem;
    line-height: 1.83;
  }
  .c_reason li p br {
    display: none;
  }
}

.c_reason .ttl {
  font-size: 6.4rem;
  line-height: 1.4375;
}

@media screen and (max-width: 767px) {
  .c_reason .ttl {
    margin-bottom: .4em;
  }
}

@media screen and (min-width: 768px) {
  .c_reason ul {
    display: flex;
    flex-flow: wrap;
  }
  .c_reason li {
    width: 33.33%;
  }
  .c_reason li:nth-child(n + 4) {
    width: 50%;
  }
  .c_reason li:nth-child(n + 4) p {
    padding: 0 10rem;
  }
  .c_reason li:nth-child(3) .ttl {
    line-height: 1.2;
  }
  .c_reason .ttl {
    height: 4.2em;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: center;
    justify-content: center;
  }
}

.c_flow {
  background: url(../img/bg_pattern02.png) 50%/6.9rem;
  padding: 9.5rem 0;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .c_flow {
    padding: 7rem 0 6rem;
  }
}

.c_flow .step li {
  background: url(../img/bg_hex02.svg) no-repeat 50%/contain;
  display: inline-block;
  vertical-align: top;
  font-size: 3.2rem;
  width: 6.4375em;
  height: 6.9375em;
  color: #fff;
  line-height: 1.3125;
  padding-top: 1.1em;
}

.c_flow .step li + li {
  margin-left: 8rem;
  position: relative;
}

.c_flow .step li + li:before {
  content: '';
  position: absolute;
  height: 100%;
  background: url(../img/ico_arrow02.svg) no-repeat 50%/contain;
  width: 1.6rem;
  left: -5rem;
  top: 0;
}

@media screen and (max-width: 767px) {
  .c_flow .step li:nth-child(3) {
    margin-left: 1rem;
    margin-top: -1.5rem;
  }
}

.c_flow .step i {
  display: block;
  color: #FFF500;
  font-size: .75em;
  position: relative;
  letter-spacing: .1em;
  padding-bottom: .4em;
  margin-bottom: .6em;
}

.c_flow .step i:before {
  content: '';
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 2em;
  border-bottom: solid 1px #fff;
  bottom: 0;
}

.c_flow .c_btn {
  margin: 4.4rem 0 0;
}

@media screen and (max-width: 767px) {
  .c_flow .c_btn {
    margin: 6rem 0 0;
  }
}

.c_flow .c_doc {
  margin-top: 8rem;
}

@media screen and (max-width: 767px) {
  .c_flow .c_doc {
    margin-top: 6.5rem;
  }
}

.c_doc {
  background: #fff;
  border: solid 1px #C7C6C6;
  padding: 4.5rem 5rem 6rem;
  text-align: center;
  position: relative;
}

@media screen and (max-width: 767px) {
  .c_doc {
    padding: 4rem 3.5rem;
  }
}

.c_doc .ttl {
  font-size: 3.2rem;
  position: relative;
  display: inline-block;
  border-bottom: solid 1px #D1D1D1;
  margin-bottom: 5.5rem;
  padding-bottom: .3em;
}

@media screen and (max-width: 767px) {
  .c_doc .ttl {
    padding-bottom: .6em;
    margin-bottom: 4rem;
  }
}

.c_doc .list {
  text-align: left;
  margin-bottom: 4rem;
}

.c_doc li {
  font-size: 1.6rem;
  line-height: 2.25;
}

@media screen and (max-width: 767px) {
  .c_doc li {
    font-size: 2.4rem;
    line-height: 2;
  }
}

.c_doc .note {
  text-align: left;
  color: #DB0000;
  font-size: 1.4rem;
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .c_doc .note {
    font-size: 2rem;
    line-height: 1.7;
    margin-top: 4rem;
  }
}

@media screen and (max-width: 767px) {
  .c_doc img {
    width: 24.3rem;
  }
}

@media screen and (min-width: 768px) {
  .c_doc ul {
    display: inline-block;
    vertical-align: top;
    width: 31rem;
  }
  .c_doc img {
    position: absolute;
    width: 19.1rem;
    top: 15rem;
    right: 2rem;
  }
}

.c_shop {
  margin: 8rem 0 18rem;
}

@media screen and (max-width: 767px) {
  .c_shop {
    margin: 6rem 0 11rem;
  }
}

.c_shop .c_ttl {
  margin-bottom: 7rem;
}

.c_shop dl {
  margin-bottom: 3rem;
}

@media screen and (min-width: 768px) {
  .c_shop dl {
    border-bottom: solid 1px #EBEBEB;
  }
}

.c_shop dt {
  color: #395E81;
  font-size: 2.2rem;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .c_shop dt {
    position: absolute;
  }
}

@media screen and (max-width: 767px) {
  .c_shop dt {
    border-bottom: solid 1px #EBEBEB;
    font-size: 3rem;
    padding-bottom: .5em;
    margin-bottom: 1rem;
  }
}

@media screen and (min-width: 768px) {
  .c_shop dd {
    margin-left: 27rem;
    padding-bottom: 3rem;
  }
}

@media screen and (max-width: 767px) {
  .c_shop dd {
    margin-bottom: 5rem;
  }
}

@media screen and (min-width: 768px) {
  .c_shop ul {
    margin-right: -3rem;
  }
}

.c_shop li {
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .c_shop li {
    margin-top: 1.5rem;
  }
}

.c_shop li a {
  background: #ECEFF2;
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  color: #395E81;
  border: solid 1px #395E81;
  padding: .2em 1em;
  border-radius: .1em;
  margin-right: .5em;
}

@media screen and (max-width: 767px) {
  .c_shop li a {
    font-size: 2.4rem;
  }
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}

[dir="rtl"] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  z-index: 2;
  height: 6rem;
  width: 6rem;
  top: 8rem;
  border: none;
  color: transparent;
  cursor: pointer;
}

.slick-prev:active, .slick-prev:focus,
.slick-next:active,
.slick-next:focus {
  outline: 0;
}

.slick-prev {
  background: url(../img/ico_prev.svg) no-repeat left top/contain;
  left: -.6rem;
}

.slick-next {
  background: url(../img/ico_next.svg) no-repeat right top/contain;
  right: -.6rem;
}

.low {
  margin-top: 7.5rem;
}

@media screen and (max-width: 767px) {
  .low {
    margin-top: 7.5rem;
  }
}

.low_header {
  margin-top: 7.5rem;
  position: relative;
  padding-top: 7rem;
  margin-bottom: 8rem;
}

.low_header:before {
  background: url(../img/ttl_bg.png) repeat-x 50%/140rem;
  content: '';
  position: absolute;
  width: 100%;
  height: 60rem;
  left: 0;
  top: 0;
  z-index: -1;
}

.low_header p {
  text-align: center;
}

@media screen and (max-width: 767px) {
  .low_header p {
    padding: 0 4rem;
  }
}

@media screen and (max-width: 767px) {
  .low_header {
    margin-top: 7.5rem;
    padding-top: 5rem;
    margin-bottom: 6rem;
  }
}

.low_ttl {
  font-size: 4rem;
  line-height: 1;
  margin-bottom: 3.5rem;
}

@media screen and (max-width: 767px) {
  .low_ttl {
    font-size: 4.6rem;
    margin-bottom: 5rem;
  }
}

.low_ttl small {
  font-size: 2rem;
  margin-left: 2em;
}

@media screen and (max-width: 767px) {
  .low_ttl small {
    display: block;
    margin-left: 0;
    font-size: 2.4rem;
    margin-top: .6em;
  }
}

.low_parts {
  margin-bottom: 11.5rem;
}

.low_doc {
  margin: 7.5rem 0 12rem;
}

@media screen and (max-width: 767px) {
  .low_doc {
    margin: 5.5rem 0 11rem;
  }
}

.news_list.b li {
  margin-bottom: 3rem;
}

.news_list li {
  font-size: 1.7rem;
  margin-bottom: 2rem;
}

@media screen and (max-width: 767px) {
  .news_list li {
    margin-bottom: 5rem;
  }
}

.news_list li i {
  color: #2A455F;
  border: solid 1px #A0BED9;
  display: inline-block;
  width: 7em;
  text-align: center;
  padding: .1em 0;
  font-size: 1.5rem;
  margin-left: 2em;
}

@media screen and (max-width: 767px) {
  .news_list li i {
    font-size: 1.8rem;
    margin-bottom: 1em;
  }
}

.news_list li a:hover {
  opacity: 1;
}

.news_list li a:hover span + span {
  text-decoration: underline;
  color: #2A455F;
}

.news_list li a span {
  display: block;
  line-height: 1.82;
}

@media screen and (min-width: 768px) {
  .news_list li a {
    display: flex;
  }
  .news_list li a span {
    width: 25rem;
  }
  .news_list li a span + span {
    width: calc(100% - 25rem);
  }
}

@media screen and (max-width: 767px) {
  .news_list li {
    font-size: 2.4rem;
  }
  .news_list li small {
    font-size: 1.8rem;
  }
}

.c_news {
  background: #F2F7FC;
  padding-bottom: 4rem;
  margin: 8rem 0;
}

@media screen and (max-width: 767px) {
  .c_news {
    padding-bottom: 5rem;
    margin-bottom: 5rem;
  }
}

.c_news .low_ttl {
  position: relative;
  top: -.5em;
  margin-bottom: 2rem;
}

.c_news .more {
  text-align: right;
  color: #395E81;
  text-decoration: underline;
  font-size: 1.7rem;
}

@media screen and (max-width: 767px) {
  .c_news .more {
    font-size: 2.4rem;
  }
}

.shop_body {
  margin-bottom: 11rem;
}

@media screen and (max-width: 767px) {
  .shop_body .c_shop {
    margin-bottom: 5rem;
  }
  .shop_body .c_shop dt {
    border-bottom: none;
    padding-bottom: 0;
  }
  .shop_body .c_shop dl {
    border-bottom: solid 1px #EBEBEB;
  }
}

.shop_list .area {
  position: relative;
  line-height: 6.5rem;
  background: url(../img/ttlarea_bg.png) no-repeat left top/contain;
  font-size: 2.4rem;
  font-weight: bold;
  color: #fff;
  padding-left: 1.5em;
  margin-bottom: 3rem;
}

@media screen and (max-width: 767px) {
  .shop_list .area {
    background-image: url(../img/ttlara_bg_sp.png);
    line-height: 7rem;
    font-size: 2.8rem;
    padding-left: 1em;
  }
}

.shop_list .ttl {
  font-weight: bold;
  color: #2A455F;
  font-size: 2.4rem;
  margin-bottom: 2rem;
}

@media screen and (max-width: 767px) {
  .shop_list .ttl {
    font-size: 2.8rem;
  }
}

.shop_list ul {
  margin-bottom: 8rem;
}

@media screen and (min-width: 768px) {
  .shop_list ul {
    display: -webkit-box;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .shop_list ul > * {
    margin-left: 3%;
    width: 31.33333%;
  }
  .shop_list ul > *:nth-child(3n + 1) {
    margin-left: 0;
  }
}

.shop_list li {
  border: solid 1px #BFBFBF;
  padding: 3rem;
  margin-bottom: 3rem;
  position: relative;
}

@media screen and (max-width: 767px) {
  .shop_list li {
    margin-bottom: 2rem;
  }
}

.shop_list li .new {
  position: absolute;
  right: 0;
  top: 0;
  color: #fff;
  font-size: 1.5rem;
  background: #A50524;
  line-height: 5.4rem;
  font-weight: 500;
  padding: 0 .8em;
}

@media screen and (max-width: 767px) {
  .shop_list li .new {
    font-size: 2.2rem;
  }
}

.shop_list li p {
  font-size: 1.6rem;
  line-height: 1.875;
  margin-bottom: 3.5rem;
}

@media screen and (max-width: 767px) {
  .shop_list li p {
    font-size: 2.2rem;
  }
}

.shop_list li a {
  display: block;
  line-height: 4.4rem;
  padding-left: 8rem;
  margin-top: 1.2rem;
  font-size: 1.6rem;
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  .shop_list li a {
    width: calc(100% - 16.2rem);
    font-size: 2rem;
    line-height: 5rem;
  }
}

.shop_list li .tel {
  color: #fff;
  background: #335574 url(../img/ico_tel.svg) no-repeat 1.3em center/2.3rem;
  font-size: 2rem;
}

@media screen and (min-width: 768px) {
  .shop_list li .tel {
    pointer-events: none;
  }
}

@media screen and (max-width: 767px) {
  .shop_list li .tel {
    font-size: 2.4rem;
  }
}

.shop_list li .map {
  color: #fff;
  background: #3C444D url(../img/ico_pin.svg) no-repeat 2em center/1.5rem;
}

.shop_list li .detail {
  color: #2A455F;
  background: #E3DE5F url(../img/ico_shop_sm.svg) no-repeat 1.7em center/2.5rem;
}

@media screen and (max-width: 767px) {
  .shop_list li .detail {
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 15rem;
    padding-left: 0;
    text-align: center;
    margin-top: 0;
    line-height: 1.3;
    padding-top: 2.4em;
    background-position: center .8em;
  }
}

.shop_list li .name {
  color: #2A455F;
  font-size: 2.8rem;
  line-height: 1;
  margin-bottom: 1em;
}

@media screen and (max-width: 767px) {
  .shop_list li .name {
    font-size: 3.6rem;
  }
}

@media screen and (max-width: 767px) {
  .shop_list li .btn {
    position: relative;
  }
}

@media screen and (min-width: 768px) {
  .list_body .c_itemlist li {
    width: 50%;
    margin-bottom: 1rem;
  }
}

.com_body {
  margin-bottom: 13rem;
}

.com_body td {
  border-top: solid 1px #D9D9D9;
  padding: .8em 0 2em;
}

@media screen and (max-width: 767px) {
  .com_body td {
    position: relative;
  }
  .com_body td:before {
    content: '';
    position: absolute;
    width: 17rem;
    border-bottom: solid 1px #707070;
    position: absolute;
    top: 0;
  }
}

@media screen and (min-width: 768px) {
  .com_body td {
    padding: 1.3em 2em;
  }
}

.com_body th {
  text-align: left;
  font-weight: 500;
  padding: 1.3em 1em;
  width: 17rem;
}

@media screen and (min-width: 768px) {
  .com_body th {
    border-top: solid 1px #707070;
  }
}

@media screen and (max-width: 767px) {
  .com_body th {
    padding: 0 0 .6em;
  }
}

.com_body tr > * {
  font-size: 1.7rem;
  line-height: 1.83;
}

@media screen and (max-width: 767px) {
  .com_body tr > * {
    float: left;
    width: 100%;
    font-size: 2.4rem;
  }
}

.pp_body {
  margin-bottom: 15rem;
}

.pp_body * {
  font-size: 1.7rem;
  line-height: 2.17;
}

@media screen and (max-width: 767px) {
  .pp_body * {
    font-size: 2.2rem;
  }
}

.pp_body dt {
  font-weight: 500;
  margin-top: 4rem;
}

.pp_body .name {
  text-align: right;
  line-height: 1.76;
  margin-top: 7rem;
}

.faq_body {
  margin-bottom: 24rem;
}

@media screen and (max-width: 767px) {
  .faq_body {
    margin-bottom: 17rem;
  }
}

.c_faq {
  margin: 9rem 0 12rem;
}

.c_faq .c_btn {
  margin-top: 8rem;
}

.c_faq .c_ttl {
  margin-bottom: .8em;
}

.c_faq .faq_list dl:nth-child(n + 4) {
  display: none;
}

.faq_list dl {
  background: #FAFAF8;
  padding: 2.5rem 2.5rem;
  border: solid 1px #BEBEBE;
  border-radius: .3rem;
  margin-bottom: 3rem;
}

.faq_list dl > * {
  position: relative;
  padding-left: 7rem;
}

.faq_list dl > *:before {
  content: 'Q';
  color: #FFF505;
  font-weight: normal;
  position: absolute;
  left: 0;
  font-size: 2.6rem;
  background: #272727;
  width: 1.54em;
  height: 1.54em;
  text-align: center;
  line-height: 1;
  padding-top: .1em;
  border-radius: .2em;
}

.faq_list dd {
  border-top: solid 1px #BFBFBF;
  font-size: 1.6rem;
  line-height: 2.125;
  display: none;
  margin-top: 3rem;
  padding-top: 2.5rem;
}

.faq_list dd:before {
  content: 'A';
  background: #DB0000;
  padding-top: .2em;
}

@media screen and (max-width: 767px) {
  .faq_list dd {
    font-size: 2.2rem;
  }
}

.faq_list dt {
  font-size: 2.4rem;
  font-weight: bold;
  cursor: pointer;
  padding-right: 1.5em;
  background: url(../img/ico_down.svg) no-repeat right center/1.4rem;
}

.faq_list dt.open {
  background-image: url(../img/ico_up.svg);
}

.faq_list dt.open + dd {
  display: block;
}

@media screen and (max-width: 767px) {
  .faq_list dt {
    font-size: 2.8rem;
  }
}

.form {
  margin-bottom: 21rem;
}

.form div.wpcf7 .ajax-loader {
  position: absolute;
  left: 0;
  background-color: transparent;
}

.form div.wpcf7 .ajax-loader:before {
  content: none;
}

.form .wpcf7-spinner {
  display: none !important;
}

.form span.wpcf7-list-item {
  margin: 0;
  display: inline;
}

.form .wpcf7c-conf:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #fff inset;
}

.form input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #fff inset;
}

.form input[readonly], .form textarea[readonly], .form select[readonly] {
  border: none !important;
  background: #fff;
}

.form .lead {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.88;
}

.form .lead em {
  color: #DB0000;
}

@media screen and (max-width: 767px) {
  .form .lead {
    font-size: 2.2rem;
  }
}

.form .note {
  background: #F2F7FC;
  font-size: 1.5rem;
  line-height: 1.86;
  padding: 1.5rem 4rem;
  margin: 3rem 0 6rem;
}

@media screen and (max-width: 767px) {
  .form .note {
    font-size: 2rem;
    padding: 2.5rem 3rem;
    margin: 3rem 0 5rem;
  }
}

.form .req {
  font-size: 1.6rem;
  margin: 0 1em 3rem;
}

@media screen and (max-width: 767px) {
  .form .req {
    font-size: 2rem;
    margin: 0 0 4rem;
  }
}

.form th {
  color: #DB0000;
  text-align: left;
  font-weight: bold;
  padding: .8em 0;
  width: 24rem;
}

@media screen and (max-width: 767px) {
  .form th {
    font-size: 2.6rem;
  }
}

.form td {
  font-size: 1.6rem;
  padding-bottom: 2.5em;
}

@media screen and (max-width: 767px) {
  .form td {
    font-size: 2.2rem;
    padding-bottom: 1.5em;
  }
}

.form td input[type="text"], .form td input[type="email"], .form td input[type="tel"], .form td textarea, .form td select {
  border: solid 1px #B9CFE3;
  padding: 1em 1.5em;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .form td.zip1 input {
    width: 20rem;
  }
}

.form td .date {
  font-size: 1.8rem;
  font-weight: bold;
  display: flex;
}

@media screen and (max-width: 767px) {
  .form td .date {
    font-size: 2rem;
  }
}

.form td .date + .date {
  margin-top: 3rem;
}

.form td .date input {
  width: 2em;
  margin-right: 1em;
}

@media screen and (max-width: 767px) {
  .form td .date input {
    margin-right: .5em;
  }
}

.form td .date p:nth-child(1) {
  background: #E9EEF4;
  padding: 0 1em;
  line-height: 3.5;
}

.form td .date label {
  margin-left: 1em;
}

.form td textarea {
  height: 10em;
}

.form tr > * {
  vertical-align: top;
}

@media screen and (max-width: 767px) {
  .form tr > * {
    float: left;
    width: 100%;
  }
}

.form .pp {
  margin: 2rem 0 5rem;
  border: solid 1px #B9CFE3;
  padding: 2rem 3rem;
  font-size: 1.6rem;
  line-height: 1.875;
}

@media screen and (max-width: 767px) {
  .form .pp {
    font-size: 2rem;
    margin: 0 0 4rem;
  }
}

.form .pp * {
  line-height: inherit;
}

.form .pp dt {
  font-weight: bold;
}

.form .doui2 {
  text-align: center;
  color: #DB0000;
  margin-bottom: 3rem;
}

@media screen and (max-width: 767px) {
  .form .doui2 {
    margin-bottom: 6rem;
  }
}

.form .doui2 input {
  margin-right: 1em;
}

.form .btn {
  text-align: center;
}

.form .btn input {
  background: #FFF500;
  color: #2A455F;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 12rem;
  width: 60rem;
  max-width: 100%;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}

@media screen and (max-width: 767px) {
  .form .btn input {
    font-size: 2.6rem;
  }
}

.thanks_body {
  text-align: center;
}

.thanks_body .low_header {
  padding-top: 18rem;
}

@media screen and (max-width: 767px) {
  .thanks_body .low_header {
    padding-top: 10rem;
  }
}

.thanks_body .ttl {
  font-size: 8rem;
  letter-spacing: .12em;
  line-height: 1;
  margin-bottom: 3rem;
}

.thanks_body .txt {
  text-align: center;
  font-size: 1.7rem;
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .thanks_body .txt {
    font-size: 2.2rem;
    text-align: left;
  }
}

@media screen and (min-width: 768px) {
  .thanks_body .txt {
    width: 74rem;
    margin: 0 auto;
  }
}

.thanks_body .tel {
  color: #446788;
  margin: 7rem 0 20rem;
}

.thanks_body .tel a {
  font-size: 4.6rem;
  background: url(../img/ico_tel04.svg) no-repeat left bottom/3.6rem;
  display: inline-block;
  padding-left: 1.5em;
  line-height: 1;
}

.thanks_body .tel small {
  display: block;
  font-size: 1.6rem;
  margin-top: 1em;
}

.flow_sec .head {
  border-bottom: solid 1px #707070;
  padding-bottom: 3rem;
  margin-bottom: 5rem;
}

.flow_sec .head p {
  font-size: 1.7rem;
  line-height: 1.76;
}

@media screen and (max-width: 767px) {
  .flow_sec .head p {
    font-size: 2.4rem;
    line-height: 1.66;
  }
}

@media screen and (min-width: 768px) {
  .flow_sec .head * {
    display: inline-block;
    vertical-align: middle;
  }
  .flow_sec .head .ttl {
    margin-right: 1em;
  }
  .flow_sec .head p {
    width: 67rem;
  }
}

.flow_sec .ttl {
  font-size: 4rem;
}

@media screen and (max-width: 767px) {
  .flow_sec .ttl {
    font-size: 4.4rem;
    text-align: center;
    margin-bottom: .4em;
  }
}

.flow_sec .ttl2 {
  color: #2A455F;
  font-size: 3.4rem;
  margin-bottom: .4em;
}

@media screen and (max-width: 767px) {
  .flow_sec .ttl2 {
    font-size: 3.6rem;
    margin: 2rem 0 .5em;
  }
}

.flow_sec .ttl2 small {
  color: #2B2004;
  font-size: .7em;
}

.flow_sec li {
  margin-bottom: 4.5rem;
}

@media screen and (max-width: 767px) {
  .flow_sec li {
    margin-bottom: 7rem;
  }
}

@media screen and (min-width: 768px) {
  .flow_sec li {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
  }
  .flow_sec li .img {
    width: 40rem;
  }
  .flow_sec li .desc {
    width: calc(100% - 43.5rem);
  }
}

.flow_sec li p {
  font-size: 1.7rem;
  line-height: 1.76;
}

@media screen and (max-width: 767px) {
  .flow_sec li p {
    font-size: 2.4rem;
    line-height: 1.66;
  }
}

.flow_sec .note {
  border: solid 1px #E2C2C8;
  text-align: center;
  padding: 5rem 0 4.5rem;
  margin-bottom: 9rem;
}

@media screen and (max-width: 767px) {
  .flow_sec .note {
    padding: 6.5rem 4rem 2.5rem;
    margin-bottom: 8rem;
  }
}

.flow_sec .note p {
  color: #A50524;
  font-size: 1.7rem;
  line-height: 1.76;
}

@media screen and (max-width: 767px) {
  .flow_sec .note p {
    font-size: 2.4rem;
    line-height: 2;
    text-align: left;
  }
}

.flow_sec .note .tel {
  margin-top: .8em;
}

@media screen and (max-width: 767px) {
  .flow_sec .note .tel {
    text-align: center;
    margin-top: 3.5rem;
  }
}

.flow_sec .note .tel a {
  font-size: 3.5rem;
  vertical-align: -.1em;
  display: inline-block;
  margin-left: .5em;
}

@media screen and (max-width: 767px) {
  .flow_sec .note .tel a {
    font-size: 4.5rem;
  }
}

.flow_sec .note .tel small {
  background: #A50524;
  color: #fff;
  display: inline-block;
  padding: .1em 1em;
}

@media screen and (max-width: 767px) {
  .flow_sec .note .tel small {
    display: block;
    magin: 0;
  }
}

.flow_sec .c_btn {
  margin-bottom: 14rem;
}

@media screen and (max-width: 767px) {
  .flow_sec .c_btn {
    margin-bottom: 10rem;
  }
}

.c_banner3 {
  margin-bottom: 9rem;
}

.c_banner3 .bg {
  background: #2a455f url(../img/bg_pattern01.png) 50%/9.2rem;
  position: relative;
  z-index: 1;
  padding: 10rem 4rem 6.5rem;
  color: #FEF501;
}

@media screen and (max-width: 767px) {
  .c_banner3 .bg {
    text-align: center;
    padding: 12rem 5rem 2.5rem;
    margin: 0 -4rem;
  }
}

.c_banner3 .img {
  position: absolute;
  right: 0;
  width: 35rem;
  bottom: 0;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .c_banner3 .img {
    right: auto;
    left: 0;
    width: 29.3rem;
  }
}

.c_banner3 .logo {
  position: absolute;
  width: 34rem;
  left: 2rem;
  top: -1rem;
  z-index: -2;
}

.c_banner3 .catch {
  font-size: 1rem;
  background: url(../img/bg_blowing02.svg) no-repeat 50%/contain;
  height: 11.4em;
  width: 34.4em;
  position: absolute;
  left: 5.5rem;
  top: -2rem;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .c_banner3 .catch {
    top: -3rem;
    left: 50%;
    transform: translateX(-50%);
    width: 38.1em;
    height: 12.5rem;
  }
}

.c_banner3 .catch p {
  font-size: 2.4rem;
  font-weight: bold;
  color: #445464;
  line-height: 1.23;
  display: inline-block;
  vertical-align: top;
  margin: 1.1em .7em 0;
}

@media screen and (max-width: 767px) {
  .c_banner3 .catch p {
    margin: 1.4em 1em 0;
  }
}

.c_banner3 .catch .b {
  color: #fff;
}

.c_banner3 .ttl {
  font-size: 6.4rem;
  position: relative;
  z-index: 1;
  margin-bottom: .1em;
}

@media screen and (max-width: 767px) {
  .c_banner3 .ttl {
    margin-bottom: .3em;
    font-size: 7.5rem;
    line-height: 1.3;
  }
}

.c_banner3 .ttl small {
  color: #fff;
}

.c_banner3 .ttl img {
  width: 4.375em;
  vertical-align: -.12em;
  margin-left: .8em;
}

.c_banner3 .txt {
  font-size: 2.8rem;
  color: #fff;
  margin-bottom: 3.5rem;
}

@media screen and (max-width: 767px) {
  .c_banner3 .txt {
    line-height: 1.71;
    margin-bottom: 2.5rem;
  }
}

.c_banner3 .tel a {
  font-size: 5.4rem;
  vertical-align: -.2em;
  margin-right: .4em;
  background: url(../img/ico_tel01.svg) no-repeat left 0.4em/0.74em;
  line-height: 1;
  padding-left: 1.1em;
}

@media screen and (max-width: 767px) {
  .c_banner3 .tel a {
    font-size: 5.9rem;
  }
}

.c_banner3 .tel small {
  font-size: 1.8rem;
}

@media screen and (max-width: 767px) {
  .c_banner3 .tel small {
    display: block;
  }
}

.c_banner3 .c_btn {
  text-align: left;
  margin-top: 3rem;
}

@media screen and (max-width: 767px) {
  .c_banner3 .c_btn {
    margin-top: 4.5rem;
  }
}

.c_banner3 .c_btn a {
  text-align: center;
  background-color: #FEF501;
  color: #2A455F;
  background-image: url(../img/ico_arrow03.svg);
  width: 60rem;
}

.first_mv {
  margin-bottom: 8rem;
}

.first_mv img {
  width: 100%;
}

.first_lead {
  text-align: center;
}

.first_lead .ttl {
  text-align: center;
  font-size: 4.4rem;
  line-height: 1.27;
  padding-bottom: .8em;
  margin-bottom: 3.5rem;
  background: url(../img/bg_arrow.svg) no-repeat center bottom/auto 1.7rem;
}

.first_lead .sub {
  background: url(../img/bg_ribbon.svg) no-repeat 50%/contain;
  font-size: 2.8rem;
  font-weight: bold;
  color: #445464;
  line-height: 8.7rem;
  margin: -.4em 0 3.5rem;
}

@media screen and (max-width: 767px) {
  .first_lead .sub {
    background-image: url(../img/bg_ribbon2_sp.svg);
    line-height: 1.29;
    margin: -.7em 0 2rem;
    height: 16.8rem;
    font-size: 3.4rem;
    padding-top: 1.2em;
  }
}

.first_lead ul {
  margin: 0 -2rem 12rem;
}

@media screen and (max-width: 767px) {
  .first_lead ul {
    margin-bottom: 5rem;
  }
}

.first_lead li {
  background: url(../img/bg_hex04.svg) no-repeat 50%/contain;
  width: 23rem;
  height: 24.9rem;
  display: inline-block;
  vertical-align: middle;
  font-weight: bold;
  color: #fff;
  margin: 0 1rem;
}

@media screen and (max-width: 767px) {
  .first_lead li {
    font-size: 2.4rem;
    width: 25rem;
    height: 27rem;
    margin: 0 1.2rem 3rem;
  }
}

.first_lead li em {
  display: block;
  font-size: 1.4em;
  color: #FFF500;
}

.first_lead li p {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
}

.first_ttl {
  text-align: center;
  font-size: 4rem;
  line-height: 1.4;
  margin-bottom: 4rem;
}

.first_eco {
  background: #F2F7FC;
  padding: 7rem 0 12rem;
  margin-bottom: 10rem;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .first_eco {
    padding: 7rem 0 9rem;
    margin-bottom: 7rem;
  }
}

.first_eco p {
  font-size: 1.8rem;
  line-height: 2.2;
}

@media screen and (max-width: 767px) {
  .first_eco p {
    font-size: 2.4rem;
    text-align: left;
    line-height: 2;
  }
}

.first_eco p + p {
  margin-top: 2em;
}

@media screen and (min-width: 768px) {
  .first_eco ul {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    margin-bottom: 5rem;
  }
  .first_eco ul > * {
    width: 49rem;
  }
}

.first_eco li {
  background: #fff;
  padding-bottom: 2.2rem;
}

@media screen and (max-width: 767px) {
  .first_eco li {
    margin-bottom: 5rem;
    padding-bottom: 3rem;
  }
}

.first_eco li p {
  font-size: 2.2rem;
  color: #2A455F;
  font-weight: bold;
  line-height: 1.63;
  margin-top: 2.5rem;
}

@media screen and (max-width: 767px) {
  .first_eco li p {
    font-size: 2.8rem;
    text-align: center;
  }
}

.first_eco li img {
  height: 9.8rem;
}

.first_eco .ttl {
  background: #395E81;
  color: #fff;
  font-weight: bold;
  font-size: 2.2rem;
  padding: .3em 0;
  margin: -1rem 5.5rem 1.2rem;
}

@media screen and (max-width: 767px) {
  .first_eco .ttl {
    font-size: 2.6rem;
    margin: 0 8rem 1.2rem;
    position: relative;
    top: -1rem;
  }
}

.first_shop {
  margin-bottom: 18rem;
}

@media screen and (max-width: 767px) {
  .first_shop {
    margin-bottom: 11rem;
  }
}

.first_shop .img {
  margin-bottom: 7rem;
}

@media screen and (max-width: 767px) {
  .first_shop .img {
    margin-bottom: 5.5rem;
  }
}

@media screen and (min-width: 768px) {
  .first_shop .img {
    display: flex;
  }
  .first_shop .img img {
    width: 50%;
  }
}

.first_shop ul {
  margin-bottom: 3rem;
}

@media screen and (min-width: 768px) {
  .first_shop ul {
    display: -webkit-box;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 7rem;
  }
  .first_shop ul > * {
    margin-left: 14%;
    width: 43%;
  }
  .first_shop ul > *:nth-child(2n + 1) {
    margin-left: 0;
  }
}

.first_shop li {
  position: relative;
  height: 34rem;
  background: url(../img/feature_logo_mark.png) no-repeat top center/25.8rem;
}

@media screen and (max-width: 767px) {
  .first_shop li {
    height: 43rem;
    background-size: 32.6rem;
  }
}

.first_shop li i {
  text-align: center;
  display: block;
  font-size: 6.4rem;
  color: #B9CFE3;
  margin-bottom: .1em;
}

.first_shop li .ttl {
  font-size: 3rem;
  color: #2A455F;
  margin-bottom: .5em;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .first_shop li .ttl {
    font-size: 3.8rem;
  }
}

.first_shop li p {
  font-size: 1.8rem;
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .first_shop li p {
    font-size: 2.4rem;
  }
}

.first_shop .c_btn {
  margin-bottom: 2.5rem;
}

.shop_header {
  background: linear-gradient(90deg, #2a455f 0%, #2a455f 23.15%, #2a455f 52.71%, #395e81 100%);
  position: relative;
  z-index: 1;
  color: #fff;
  text-align: center;
}

.shop_header:before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: -2;
  background: url(../img/bg_pattern01.png) 50%/9.2rem;
}

@media screen and (min-width: 768px) {
  .shop_header {
    display: flex;
  }
  .shop_header .img {
    width: 64.1rem;
  }
  .shop_header .desc {
    width: calc(50% + 5.9rem);
  }
}

@media screen and (max-width: 767px) {
  .shop_header .img {
    display: flex;
  }
  .shop_header .img img {
    width: 50%;
  }
}

.shop_header .desc {
  padding-top: 6rem;
}

@media screen and (max-width: 767px) {
  .shop_header .desc {
    padding-bottom: 21.5rem;
    position: relative;
  }
}

.shop_header .icon {
  position: absolute;
  bottom: -2rem;
  left: calc(50% - 80.1rem);
  width: 64.1rem;
}

@media screen and (max-width: 767px) {
  .shop_header .icon {
    left: -5rem;
    width: 56.6rem;
    bottom: 0;
  }
}

.shop_header .logo {
  position: absolute;
  left: calc(50% - 56rem);
  z-index: -1;
  top: 4rem;
  width: 50rem;
}

@media screen and (max-width: 767px) {
  .shop_header .logo {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
  }
}

.shop_header .copy {
  width: 54.1rem;
  margin-right: 9rem;
  margin-left: auto;
  margin-bottom: 2.5rem;
  display: block;
}

@media screen and (max-width: 767px) {
  .shop_header .copy {
    margin: 0 auto 4rem;
    position: relative;
    z-index: 1;
  }
}

.shop_header .ttl {
  font-size: 2.8rem;
  line-height: 1.2;
  width: 48rem;
  margin-left: auto;
  margin-right: 14rem;
  border-top: solid 1px #466B8E;
  border-bottom: solid 1px #466B8E;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .shop_header .ttl {
    height: 14rem;
  }
}

@media screen and (max-width: 767px) {
  .shop_header .ttl {
    padding: .6em 0;
    width: 38rem;
    margin-right: auto;
  }
}

.shop_header .ttl em {
  display: block;
  line-height: 1.2;
  margin-top: .3em;
}

@media screen and (max-width: 767px) {
  .shop_header .ttl em {
    line-height: inherit;
    margin-top: .4em;
  }
}

.shop_header p {
  font-size: 7.3rem;
}

.shop_header p small {
  display: block;
  position: relative;
  font-size: .507em;
}

.shop_header p small:before, .shop_header p small:after {
  content: '';
  height: .8em;
  border-left: solid .081em #fff;
  position: absolute;
  margin-top: .4em;
}

.shop_header p small:before {
  transform: rotate(-40deg);
  margin-left: -.7em;
}

.shop_header p small:after {
  transform: rotate(40deg);
  margin-left: .5em;
}

.shop_catch {
  text-align: center;
  position: relative;
  z-index: 1;
}

.shop_catch li {
  background: #9F0F25;
  color: #fff;
  line-height: 8rem;
}

.shop_catch li:nth-child(2) {
  background: #477221;
}

.shop_catch li:nth-child(3) {
  background: #A88C1C;
}

.shop_catch img {
  height: 2.9rem;
}

@media screen and (min-width: 768px) {
  .shop_catch {
    display: flex;
  }
  .shop_catch li {
    width: 33.33%;
  }
}

.shop_lead {
  position: relative;
  margin-top: 6rem;
}

.shop_lead .ttl {
  font-size: 4rem;
  margin-bottom: 1em;
}

@media screen and (min-width: 768px) {
  .shop_lead .ttl {
    text-align: center;
  }
}

@media screen and (max-width: 767px) {
  .shop_lead .ttl {
    font-size: 4.4rem;
  }
}

.shop_lead .line {
  background: #52D010;
  padding: 3rem 0 1.5rem;
  text-align: center;
}

.shop_lead .line dt {
  font-size: 4rem;
  margin-bottom: .3em;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .shop_lead .line dt {
    font-size: 4.4rem;
  }
}

.shop_lead .line dt img {
  width: 1.25em;
  margin-right: .5em;
  vertical-align: -.3em;
}

.shop_lead .line p {
  font-size: 1.8rem;
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  .shop_lead .line p {
    font-size: 2.2rem;
  }
}

.shop_lead .line .btn {
  margin-top: 2rem;
}

.shop_lead .line .btn a {
  display: block;
  background: url(../img/bg_hex03.svg) no-repeat 50%/contain;
  height: 4.45em;
  font-size: 2rem;
  font-weight: bold;
  padding-top: 1.3em;
}

@media screen and (max-width: 767px) {
  .shop_lead .line .btn a {
    font-size: 2.4rem;
  }
}

@media screen and (max-width: 767px) {
  .shop_lead .line {
    margin-top: 2.5rem;
  }
}

.shop_lead .row {
  margin: 7rem 0 15rem;
}

@media screen and (min-width: 768px) {
  .shop_lead .row {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
  }
  .shop_lead .row > * {
    width: 49rem;
  }
}

@media screen and (max-width: 767px) {
  .shop_lead .row {
    margin: 6rem 0 8.5rem;
  }
}

.shop_lead .corona {
  border: solid 1px #A0A0A0;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .shop_lead .corona {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    height: 24.5rem;
  }
  .shop_lead .corona .msg {
    width: 23.3rem;
    margin-right: 2.2rem;
    height: 100%;
  }
}

.shop_lead .corona .msg {
  background: #355777;
  color: #fff;
  position: relative;
  padding-top: 1.8em;
  font-size: 1.9rem;
  font-weight: bold;
  line-height: 1.79;
}

.shop_lead .corona .msg img {
  width: 5.1em;
  margin-bottom: .6em;
}

.shop_lead .corona .msg:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: solid 1px #9D9D9D;
  width: calc(100% - 1.8rem);
  height: calc(100% - 1.8rem);
}

@media screen and (max-width: 767px) {
  .shop_lead .corona .msg {
    padding: 1em 0;
  }
  .shop_lead .corona .msg p {
    display: inline-block;
    vertical-align: middle;
    font-size: 2.4rem;
    text-align: left;
    width: 34rem;
    line-height: 1.41;
  }
  .shop_lead .corona .msg p br {
    display: none;
  }
  .shop_lead .corona .msg img {
    margin-right: 1.4em;
  }
}

@media screen and (max-width: 767px) {
  .shop_lead .corona ul {
    padding: 2.8rem;
  }
}

.shop_lead .corona li {
  color: #445464;
  background: #FEF400;
  border-radius: 2em;
  font-size: 1.8rem;
  font-weight: 500;
  padding: .25em 1em;
}

@media screen and (max-width: 767px) {
  .shop_lead .corona li {
    font-size: 2.4rem;
    color: #445464;
  }
}

.shop_lead .corona li + li {
  margin-top: .8em;
}

.shop_lead .logo {
  position: absolute;
  top: -20rem;
  left: calc(50% - 75rem);
  width: 50rem;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .shop_lead .logo {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 40rem;
    top: 0;
  }
}

.shop_lead .name {
  font-size: 4rem;
  margin-bottom: .7em;
}

@media screen and (max-width: 767px) {
  .shop_lead .name {
    font-size: 4.4rem;
  }
}

.shop_lead .place {
  border: solid 1px #707070;
  font-size: 1.5rem;
  padding: .8em 1.5em;
  margin-bottom: 1.8em;
}

.shop_lead .place em {
  display: block;
  font-size: 1.333em;
}

@media screen and (max-width: 767px) {
  .shop_lead .place {
    font-size: 1.8rem;
    line-height: 1.8;
  }
}

.shop_lead .info {
  font-size: 1.8rem;
  line-height: 1.88;
  margin-bottom: 1.2em;
}

@media screen and (max-width: 767px) {
  .shop_lead .info {
    font-size: 2.4rem;
  }
}

.shop_lead .detail {
  position: relative;
  margin-bottom: 7rem;
}

@media screen and (max-width: 767px) {
  .shop_lead .detail {
    text-align: center;
    margin-bottom: 3rem;
  }
  .shop_lead .detail .desc {
    margin-bottom: 5rem;
  }
}

@media screen and (min-width: 768px) {
  .shop_lead .detail {
    display: flex;
  }
  .shop_lead .detail .desc {
    width: 45rem;
    margin-right: 6rem;
  }
  .shop_lead .detail .img {
    width: 69rem;
    margin-right: -20rem;
  }
}

@media screen and (max-width: 767px) {
  .shop_lead .tel {
    font-size: 3rem;
  }
}

.shop_lead .tel a {
  background: #335574;
  display: inline-block;
  color: #fff;
  padding: .4em 2em .4em 1em;
}

@media screen and (max-width: 767px) {
  .shop_lead .tel a {
    width: 100%;
  }
}

.shop_lead .tel .url {
  padding: .4em 1em;
  font-size: .945em;
}

.shop_lead .tel img {
  width: .95em;
  margin-right: .6em;
  vertical-align: -.1em;
}

.shop_lead .tel + .tel {
  margin-top: .5em;
}

.shop_lead .map {
  position: relative;
  height: 0;
  padding-top: 43.3rem;
  overflow: hidden;
  margin-bottom: 6rem;
}

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

@media screen and (max-width: 767px) {
  .shop_lead .map {
    margin: 0 4rem 6rem;
  }
}

.shop_lead .c_btn {
  margin-bottom: 7rem;
}

.shop_modal .ttl2 {
  text-align: center;
  font-weight: bold;
  font-size: 3rem;
  margin-bottom: 5.5rem;
}

@media screen and (min-width: 768px) {
  .shop_modal .shop {
    display: flex;
  }
  .shop_modal .shop ul {
    width: 50%;
  }
}

.shop_modal li {
  margin-bottom: 4.5rem;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
}

.shop_modal li .img {
  width: 18rem;
}

@media screen and (max-width: 767px) {
  .shop_modal li .img {
    width: 21.8rem;
  }
}

.shop_modal li p {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.88;
  width: calc(100% - 20.5rem);
}

@media screen and (max-width: 767px) {
  .shop_modal li p {
    width: calc(100% - 24rem);
    font-size: 2.2rem;
  }
}

.shop_modal li p i {
  display: block;
  font-size: 1.6rem;
  background: #395E81;
  text-align: center;
  width: 2em;
  height: 2em;
  border-radius: 50%;
  margin-bottom: .4em;
  font-size: 1.6rem;
}

@media screen and (min-width: 768px) {
  .shop_modal ul {
    margin-bottom: -4rem;
  }
}

.shop_msg {
  padding: 7rem 0 8.5rem;
  background: linear-gradient(#395e81 0%, #1f3b57 100%);
  color: #fff;
}

@media screen and (max-width: 767px) {
  .shop_msg {
    padding: 5.5rem 0 4rem;
  }
}

.shop_msg .box {
  width: 74rem;
  margin: 0 auto;
  max-width: 100%;
}

.shop_msg .movie {
  position: relative;
  height: 0;
  padding-top: 56.3%;
  overflow: hidden;
}

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

.shop_msg .c_lead {
  margin-bottom: 3.5rem;
}

@media screen and (min-width: 768px) {
  .shop_msg .c_lead {
    text-align: center;
  }
}

.shop_result {
  margin: 9.5rem 0 11rem;
}

@media screen and (max-width: 767px) {
  .shop_result {
    margin: 5rem 0 9rem;
  }
}

.shop_result ul {
  display: -webkit-box;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 5rem;
}

.shop_result ul > * {
  margin-left: 4%;
  width: 22%;
}

@media screen and (min-width: 768px) {
  .shop_result ul > *:nth-child(4n + 1) {
    margin-left: 0;
  }
}

@media screen and (max-width: 767px) {
  .shop_result ul > * {
    margin-left: 7%;
    width: 46.5%;
  }
  .shop_result ul > *:nth-child(2n + 1) {
    margin-left: 0;
  }
}

@media screen and (max-width: 767px) {
  .shop_result ul {
    margin-bottom: 2rem;
  }
}

.shop_result li {
  margin-bottom: 3rem;
}

@media screen and (max-width: 767px) {
  .shop_result li {
    margin-bottom: 4.5rem;
  }
}

.shop_result li p {
  font-size: 1.5rem;
  line-height: 1.6;
  margin-top: .4em;
}

@media screen and (max-width: 767px) {
  .shop_result li p {
    font-size: 2rem;
  }
}

.shop_result li p + p {
  color: #9F0F25;
  text-align: right;
  font-size: 500;
  line-height: 1.3;
}

.shop_result li p + p em {
  font-size: 1.46em;
  margin: 0 .3em;
}

.popup-modal {
  position: fixed;
  background: #2A455F;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: 9999;
  display: none;
  color: #fff;
  overflow-y: auto;
}

.popup-modal .close {
  cursor: pointer;
  background: #395E81;
  text-align: center;
  width: 7em;
  line-height: 5rem;
}

@media screen and (min-width: 768px) {
  .popup-modal .close {
    position: absolute;
    top: 3rem;
    right: 3rem;
  }
}

@media screen and (max-width: 767px) {
  .popup-modal .close {
    margin: 0 auto;
  }
}

.popup-modal .close i {
  font-weight: 500;
  letter-spacing: .1em;
  margin-left: .5em;
  vertical-align: -.1em;
}

.popup-modal .close img {
  width: 1em;
}

@media screen and (max-width: 767px) {
  .popup-modal .wrap {
    padding: 6rem 0 5rem;
  }
}

@media screen and (min-width: 768px) {
  .popup-modal .wrap {
    width: 100rem;
    margin: 0 auto;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
  }
}

body.show-modal {
  overflow-y: hidden;
}

.visit_header {
  margin-bottom: 4.5rem;
}

@media screen and (min-width: 768px) {
  .visit_header {
    background: url(../img/kaitori_mv_bg.png) repeat-x center top/140rem;
    height: 48rem;
    position: relative;
  }
  .visit_header img {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    width: 140rem;
  }
}

@media screen and (max-width: 767px) {
  .visit_header {
    margin-top: -1rem;
  }
  .visit_header img {
    wieth: 100%;
  }
}

.visit_lead .ttl {
  font-size: 4.4rem;
  line-height: 1.4;
  padding-bottom: 0;
  background: none;
}

@media screen and (max-width: 767px) {
  .visit_lead .ttl {
    text-align: left;
  }
}

.visit_lead li:nth-child(2n + 0) {
  background-image: url(../img/bg_hex05.svg);
}

@media screen and (max-width: 767px) {
  .visit_lead .sub {
    margin-top: 5.5rem;
  }
}

.visit_contact {
  background: #E7F0FA url(../img/bg_pattern04.png) center top/22.5rem;
  position: relative;
  padding: 4.5rem 0;
}

@media screen and (max-width: 767px) {
  .visit_contact {
    padding: 0 0 5rem;
  }
}

.visit_contact .ttl {
  text-align: center;
  font-size: 2.8rem;
  color: #2A455F;
  font-weight: bold;
  position: relative;
  line-height: 1.3125;
  margin-bottom: .5em;
}

@media screen and (max-width: 767px) {
  .visit_contact .ttl {
    font-size: 3.2rem;
  }
}

.visit_contact .ttl:before, .visit_contact .ttl:after {
  content: '';
  position: absolute;
  background: url(../img/ttl_bg01_l.svg) no-repeat 50%/contain;
  width: 2.3rem;
  height: 2.7rem;
  bottom: .3em;
}

@media screen and (max-width: 767px) {
  .visit_contact .ttl:before, .visit_contact .ttl:after {
    bottom: .4em;
  }
}

.visit_contact .ttl:before {
  margin-left: -1.3em;
}

@media screen and (max-width: 767px) {
  .visit_contact .ttl:before {
    left: -.6em;
    margin: 0;
  }
}

.visit_contact .ttl:after {
  background-image: url(../img/ttl_bg01_r.svg);
  margin-left: .3em;
}

@media screen and (max-width: 767px) {
  .visit_contact .ttl:after {
    right: -.6em;
    margin: 0;
  }
}

@media screen and (min-width: 768px) {
  .visit_contact .img {
    position: absolute;
    bottom: 0;
    right: calc(50% - 67.5rem);
    width: 26.6rem;
  }
}

@media screen and (max-width: 767px) {
  .visit_contact .img {
    width: 28.7rem;
    display: block;
    margin: 0 auto -5rem;
    position: relative;
    top: -8rem;
  }
}

.visit_kaitori {
  background: #395E81;
  color: #fff;
  padding: 6rem 0 10.5rem;
}

@media screen and (max-width: 767px) {
  .visit_kaitori {
    padding: 5rem 0 10rem;
    text-align: center;
    margin-bottom: 8rem;
  }
}

.visit_kaitori .ttl {
  text-align: center;
  font-size: 4.4rem;
  margin-bottom: 4.5rem;
}

.visit_kaitori .ttl em {
  color: #FFF500;
  font-size: 1.18em;
}

.visit_kaitori li {
  font-weight: bold;
  border: solid 1px #fff;
  margin-top: 1.5rem;
  padding: 4rem 5rem;
}

@media screen and (min-width: 768px) {
  .visit_kaitori li {
    padding: 2.8rem 3rem 2rem 13rem;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    align-items: center;
  }
  .visit_kaitori li .img {
    width: 34.3rem;
  }
  .visit_kaitori li dl {
    width: calc(100% - 39.2rem);
    margin-bottom: 1rem;
  }
}

.visit_kaitori .img {
  position: relative;
}

.visit_kaitori .img img {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .visit_kaitori .img {
    margin-bottom: 3.4rem;
  }
}

.visit_kaitori .img p {
  color: #FFF500;
  position: absolute;
  bottom: -.2em;
  left: 6.6rem;
  white-space: nowrap;
}

@media screen and (max-width: 767px) {
  .visit_kaitori .img p {
    font-size: 2.33rem;
    left: 8rem;
  }
}

.visit_kaitori dt {
  font-size: 2.2rem;
  margin-bottom: .4em;
}

@media screen and (max-width: 767px) {
  .visit_kaitori dt {
    font-size: 2.6rem;
  }
}

.visit_kaitori dd {
  color: #F5D100;
  font-size: 6.2rem;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .visit_kaitori dd {
    font-size: 6.6rem;
  }
}

.visit_kaitori dd i {
  background: #F5D100;
  color: #000000;
  font-size: .29em;
  vertical-align: middle;
  position: relative;
  padding: 0 .6em;
  line-height: 3.6rem;
  display: inline-block;
  margin-right: 2em;
}

@media screen and (max-width: 767px) {
  .visit_kaitori dd i {
    margin-right: 1.5em;
    vertical-align: .8em;
  }
}

.visit_kaitori dd i:before {
  content: '';
  position: absolute;
  border-style: solid;
  border-width: 1.8rem 0 1.8rem 1.1rem;
  border-color: transparent transparent transparent #F5D100;
  right: -1.1rem;
}

.visit_kaitori dd small {
  font-size: .645em;
}

.visit_flow {
  margin-top: 10rem;
}

@media screen and (min-width: 768px) {
  .visit_flow .c_lead {
    text-align: center;
  }
}

.visit_flow li {
  margin-bottom: 4.5rem;
}

@media screen and (max-width: 767px) {
  .visit_flow li {
    margin-bottom: 7rem;
  }
}

@media screen and (min-width: 768px) {
  .visit_flow li {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
  }
  .visit_flow li .img {
    width: 40rem;
  }
  .visit_flow li .desc {
    width: calc(100% - 43.8rem);
  }
}

.visit_flow li p {
  font-size: 1.7rem;
  line-height: 1.76;
}

@media screen and (max-width: 767px) {
  .visit_flow li p {
    font-size: 2.4rem;
  }
}

@media screen and (max-width: 767px) {
  .visit_flow .img {
    margin-bottom: 3.5rem;
  }
  .visit_flow .img img {
    width: 100%;
  }
}

.visit_flow .ttl {
  color: #395E81;
  font-size: 3.4rem;
  margin-bottom: .6em;
}

@media screen and (max-width: 767px) {
  .visit_flow .ttl {
    font-size: 3.6rem;
  }
}

.visit_flow .area {
  background: #FAFAF8;
  padding: 3rem 4rem;
}

@media screen and (max-width: 767px) {
  .visit_flow .area {
    padding: 3.5rem 5.5rem 5rem;
  }
}

.visit_flow .area .ttl {
  text-align: center;
  margin-bottom: 0;
}

.visit_flow .area .ttl i {
  border-bottom: solid 1px #CECECE;
  padding-bottom: .4em;
  display: inline-block;
}

.visit_flow .area dl {
  font-weight: bold;
  font-size: 1.8rem;
}

@media screen and (max-width: 767px) {
  .visit_flow .area dl {
    font-size: 2.4rem;
    text-align: center;
  }
}

.visit_flow .area dt {
  background: #3C444D;
  color: #FFF500;
  text-align: center;
  line-height: 2.4;
}

@media screen and (max-width: 767px) {
  .visit_flow .area dt {
    margin: 3.5rem 0 1.5rem;
    line-height: 4.6rem;
  }
}

.visit_flow .area dd {
  white-space: nowrap;
}

@media screen and (min-width: 768px) {
  .visit_flow .area dl {
    display: flex;
    flex-wrap: wrap;
    -webkit-box-align: center;
    align-items: center;
  }
  .visit_flow .area dl > * {
    margin-top: 3rem;
  }
  .visit_flow .area dt {
    width: 8em;
    margin-right: 1em;
  }
  .visit_flow .area dd {
    width: 32rem;
  }
  .visit_flow .area dd:nth-of-type(2n + 0) {
    width: 20rem;
  }
}

.visit_contact2 {
  background: url(../img/bnr_contact_bg.jpg) no-repeat 50%/cover;
  padding: 10rem 0;
}

@media screen and (max-width: 767px) {
  .visit_contact2 {
    padding: 6rem 0 6.6rem;
  }
}

.visit_contact2 .box {
  background: rgba(255, 255, 255, 0.68);
  padding: 4rem 14.5rem 7rem;
  margin-bottom: 5rem;
}

@media screen and (max-width: 767px) {
  .visit_contact2 .box {
    padding: 5rem 4rem 6rem;
  }
}

.visit_contact2 .box p:not(.ttl) {
  line-height: 2;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .visit_contact2 .box p:not(.ttl) {
    font-size: 2.2rem;
  }
}

.visit_contact2 .box p:not(.ttl) em {
  background: linear-gradient(transparent 20%, #FFF500 20%);
}

.visit_contact2 .ttl {
  text-align: center;
  font-weight: 900;
  font-size: 4.8rem;
  line-height: 1.375;
  margin-bottom: .6em;
}

.c_link {
  text-align: center;
}

.c_link dl {
  background: url(../img/bg_hex06.png) no-repeat 50%/contain;
  height: 15.8rem;
  padding-top: 2.2rem;
}

@media screen and (min-width: 768px) {
  .c_link dl {
    width: 41.8rem;
  }
}

@media screen and (max-width: 767px) {
  .c_link dl {
    background-image: url(../img/bg_hex06_sp.png);
    height: 17.8rem;
    padding-top: 2.5rem;
  }
}

.c_link dt {
  background: url(../img/bg_hex08.svg) no-repeat 50%/contain;
  line-height: 3.4rem;
  color: #fff;
  font-size: 1.7rem;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .c_link dt {
    font-size: 2rem;
    line-height: 4rem;
  }
}

.c_link .mail {
  background-image: url(../img/bg_hex07.png);
}

.c_link .mail a {
  font-size: 2.8rem;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .c_link .mail a {
    font-size: 3.4rem;
  }
}

@media screen and (max-width: 767px) {
  .c_link .mail {
    background-image: url(../img/bg_hex07_sp.png);
  }
}

.c_link .tel a {
  font-size: 3.5rem;
  background: url(../img/ico_tel02_sm.svg) no-repeat left 0.45em/0.8em;
  padding: 0 1.1em;
}

@media screen and (max-width: 767px) {
  .c_link .tel a {
    font-size: 3.96rem;
  }
}

.c_link dd {
  color: #2A455F;
}

.c_link small {
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  .c_link small {
    font-size: 1.8rem;
  }
}

.c_link a {
  display: inline-block;
  line-height: 5.3rem;
}

@media screen and (max-width: 767px) {
  .c_link a {
    line-height: 5.8rem;
  }
}

@media screen and (min-width: 768px) {
  .c_link {
    width: 85rem;
    margin: 0 auto;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
  }
}

.item_header {
  margin-top: 7.5rem;
  position: relative;
  padding: 6rem 0 3.5rem;
  background: -moz-linear-gradient(0% 50% 0deg, #1d2f41 0%, #446d93 100%);
  background: -webkit-linear-gradient(0deg, #1d2f41 0%, #446d93 100%);
  background: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0, #1d2f41), color-stop(1, #446d93));
  background: linear-gradient(90deg, #1d2f41 0%, #446d93 100%);
  color: #fff;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .item_header {
    margin-top: 7.5rem;
    padding: 4.5rem 0 5.5rem;
  }
}

.item_header .ttl {
  font-size: 6.8rem;
  line-height: 1.41;
  margin-bottom: .4em;
}

@media screen and (max-width: 767px) {
  .item_header .ttl {
    font-size: 5.8rem;
  }
}

.item_header p {
  font-weight: bold;
  line-height: 1.7;
}

@media screen and (max-width: 767px) {
  .item_header p {
    padding: 0 4rem;
    font-size: 2.4rem;
    font-weight: 500;
  }
}

@media screen and (min-width: 768px) {
  .item_header p {
    margin: 0 auto;
    width: 80rem;
  }
}

.item_main {
  background: url(../img/item_mv_bg.png) center top/140rem;
  position: relative;
  padding-top: 2.3rem;
}

@media screen and (max-width: 767px) {
  .item_main {
    background-size: 100%;
  }
}

.item_main .item {
  width: 112.4rem;
  position: relative;
  left: calc(50% - 70rem);
}

@media screen and (max-width: 767px) {
  .item_main .item {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .item_main .img {
    position: absolute;
    bottom: 0;
    right: calc(50% - 70rem);
    width: 66.9rem;
  }
}

.item_main .catch {
  position: absolute;
  left: calc(50% - 61.5rem);
  bottom: 2.4rem;
  width: 32.4rem;
}

@media screen and (max-width: 767px) {
  .item_main .catch {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 52.7rem;
    bottom: -9.3rem;
  }
}

.item_lead {
  margin: 8.5rem 0 8rem;
}

@media screen and (max-width: 767px) {
  .item_lead {
    margin: 14rem 0 8rem;
  }
}

.item_lead li {
  background: #FEF501;
  color: #445464;
  font-weight: bold;
  width: 30rem;
}

.item_lead li p {
  margin: 0 1.5em;
}

@media screen and (min-width: 768px) {
  .item_lead li {
    height: 9rem;
  }
  .item_lead li p {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
  }
}

@media screen and (max-width: 767px) {
  .item_lead li {
    display: block;
    width: auto;
    font-size: 2.8rem;
    padding: 1em 0;
  }
  .item_lead li + li {
    margin-top: 2rem;
    margin-left: 0;
  }
}

@media screen and (max-width: 767px) {
  .item_lead ul {
    margin: 0 0 6rem;
  }
}

.item_status {
  text-align: center;
  background: #F2F7FC url(../img/bg_pattern03.png) center top/22.5rem;
  padding: 5.5rem 0 7rem;
}

@media screen and (max-width: 767px) {
  .item_status {
    padding: 5.5rem 0 4rem;
  }
}

.item_status .ttl {
  font-size: 5.7rem;
  margin-bottom: 2rem;
}

@media screen and (max-width: 767px) {
  .item_status .ttl {
    font-size: 6rem;
    margin-bottom: 3.5rem;
  }
}

.item_status .ttl small {
  font-size: 4.4rem;
  display: block;
  position: relative;
}

@media screen and (max-width: 767px) {
  .item_status .ttl small {
    font-size: 4rem;
  }
}

.item_status .ttl small:before, .item_status .ttl small:after {
  content: '';
  height: 1em;
  border-left: solid 2px #395E81;
  position: absolute;
  margin-top: .4em;
}

.item_status .ttl small:before {
  transform: rotate(-38deg);
  margin-left: -.7em;
}

.item_status .ttl small:after {
  transform: rotate(38deg);
  margin-left: .5em;
}

.item_status .ttl em {
  font-size: 11rem;
  letter-spacing: -.12em;
  line-height: 1.2;
  margin: 0 .25em 0 .2em;
}

.item_status .ttl i {
  color: #445464;
  font-size: 2rem;
  font-weight: bold;
  background: #FFF500;
  line-height: 7rem;
  display: inline-block;
  padding: 0 1.2em;
  vertical-align: 1.2em;
}

@media screen and (max-width: 767px) {
  .item_status .ttl i {
    font-size: 2.8rem;
    vertical-align: middle;
    margin-bottom: .3em;
  }
}

.item_status .box {
  background: -moz-linear-gradient(0% 50% 0deg, #1d2f41 0%, #446d93 100%);
  background: -webkit-linear-gradient(0deg, #1d2f41 0%, #446d93 100%);
  background: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0, #1d2f41), color-stop(1, #446d93));
  background: linear-gradient(90deg, #1d2f41 0%, #446d93 100%);
  padding: 4rem 4.5rem;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .item_status .box {
    padding: 2.5rem 2.5rem;
  }
}

.item_status .img {
  text-align: left;
  font-size: 1.6rem;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .item_status .img {
    font-size: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .item_status .img figcaption {
    margin-top: 1em;
  }
  .item_status .img figure {
    margin-bottom: 4.5rem;
  }
}

.item_status .img p {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.75;
  color: #FFF500;
}

.item_status .catch {
  color: #FFF500;
  font-size: 4rem;
  margin-bottom: 3rem;
}

.item_status .catch u {
  text-decoration: none;
  border-bottom: solid 1px #FFF500;
  padding-bottom: .1em;
  display: inline-block;
}

.item_status .catch em {
  font-size: 8.5rem;
}

.item_status .c_lead {
  margin-bottom: 0;
}

@media screen and (max-width: 767px) {
  .item_status .img {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    position: relative;
    align-items: flex-end;
  }
  .item_status .img p {
    width: calc(100% - 28.7rem);
  }
  .item_status figure {
    width: 26.4rem;
    margin-bottom: 1.5rem;
  }
  .item_status figcaption {
    position: absolute;
    left: 28.7rem;
    top: 0;
  }
  .item_status .chart {
    margin: 4.5rem 0 3.5rem;
  }
}

@media screen and (min-width: 768px) {
  .item_status .row {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
  }
  .item_status .chart {
    width: 60rem;
  }
  .item_status .img {
    width: 26.5rem;
  }
}

.item_brand {
  margin: 8rem 0 10rem;
}

.item_brand p {
  font-size: 1.6rem;
  line-height: 2.125;
}

@media screen and (max-width: 767px) {
  .item_brand p {
    font-size: 2.2rem;
    line-height: 2;
  }
}

.item_brand ul {
  display: -webkit-box;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 4.5rem 0 3.5rem;
}

.item_brand ul > * {
  margin-left: 2.5%;
  width: 18%;
}

@media screen and (min-width: 768px) {
  .item_brand ul > *:nth-child(5n + 1) {
    margin-left: 0;
  }
}

@media screen and (max-width: 767px) {
  .item_brand ul > * {
    margin-left: 2.5%;
    width: 31.66667%;
  }
  .item_brand ul > *:nth-child(3n + 1) {
    margin-left: 0;
  }
}

.item_brand li {
  margin-bottom: 2.5%;
}

.item_point {
  background: #F2F7FC url(../img/bg_pattern03.png) center top/22.5rem;
  padding: 5.5rem 0 7rem;
}

@media screen and (min-width: 768px) {
  .item_point ul {
    margin-top: 7rem;
  }
}

.item_point .ttl {
  color: #2A455F;
  font-size: 3.4rem;
  margin-bottom: .6em;
}

@media screen and (max-width: 767px) {
  .item_point .ttl {
    font-size: 3.6rem;
    margin-top: .7em;
  }
}

.item_point .img img {
  width: 100%;
}

.item_point li {
  position: relative;
  margin-top: 6rem;
}

.item_point li p {
  font-size: 1.7rem;
  line-height: 1.76;
}

@media screen and (max-width: 767px) {
  .item_point li p {
    font-size: 2.4rem;
    line-height: 1.66;
  }
}

.item_point li i {
  position: absolute;
  font-size: 14.1rem;
  line-height: 1;
  right: 0;
  top: 0;
  color: rgba(67, 106, 142, 0.44);
}

@media screen and (min-width: 768px) {
  .item_point li {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
  }
  .item_point li .img {
    width: 40rem;
  }
  .item_point li .desc {
    width: calc(100% - 43.8rem);
  }
}

.low_path br {
  display: none;
}

@media screen and (max-width: 767px) {
  .low_path {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .low_path {
    margin: -6rem 0 3.5rem;
  }
  .low_path li {
    display: inline-block;
    font-size: 1.3rem;
  }
  .low_path li + li {
    position: relative;
  }
  .low_path li + li:before {
    content: '＞';
    margin: 0 .75em 0 1em;
  }
}

@media screen and (min-width: 768px) {
  .blog_main {
    float: left;
    width: 75rem;
  }
  .blog_side {
    float: right;
    width: 20rem;
    margin-bottom: 14rem;
  }
}

.blog_main {
  margin-bottom: 15rem;
}

@media screen and (max-width: 767px) {
  .blog_main {
    margin-bottom: 8rem;
  }
}

@media screen and (max-width: 767px) {
  .blog_side {
    margin-bottom: 6rem;
  }
}

.blog_side dt {
  color: #2B2004;
  font-size: 2.2rem;
  margin-bottom: .7em;
}

@media screen and (max-width: 767px) {
  .blog_side dt {
    font-size: 3rem;
  }
}

.blog_side li {
  margin-top: 1rem;
}

.blog_side li a {
  background: #F2F7FC url(../img/ico_arrow02.svg) no-repeat calc(100% - 1em) center/0.8rem;
  font-size: 1.7rem;
  display: block;
  color: #2A455F;
  padding: .9em 1em;
}

@media screen and (max-width: 767px) {
  .blog_side li a {
    font-size: 2.4rem;
  }
}

.news_first {
  background: #446788;
  margin-bottom: 5rem;
}

.news_first p {
  color: #fff;
  line-height: 1.4;
}

.news_first .sub {
  font-size: 1.7rem;
  margin: .7em 0 1em;
}

@media screen and (max-width: 767px) {
  .news_first .sub {
    font-size: 1.8rem;
  }
}

.news_first .sub i {
  background: #fff;
  width: 6em;
  display: inline-block;
  color: #2A455F;
  text-align: center;
  padding: .1em 0;
  margin-left: 1.2em;
  font-size: 1.5rem;
}

@media screen and (max-width: 767px) {
  .news_first .sub i {
    font-size: 1.8rem;
  }
}

.news_first a {
  padding: 2rem;
  padding-right: 4.5rem;
}

@media screen and (min-width: 768px) {
  .news_first a {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
  }
  .news_first a .img {
    width: 28rem;
  }
  .news_first a .desc {
    width: calc(100% - 33.4rem);
  }
}

.blog_sub {
  font-size: 1.7rem;
  margin-bottom: 2rem;
}

@media screen and (max-width: 767px) {
  .blog_sub {
    font-size: 1.8rem;
    margin-bottom: 1rem;
  }
}

.blog_sub i {
  color: #2A455F;
  border: solid 1px #A0BED9;
  display: inline-block;
  width: 7em;
  text-align: center;
  padding: .1em 0;
  font-size: 1.5rem;
  margin: 0 2em;
}

@media screen and (max-width: 767px) {
  .blog_sub i {
    font-size: 1.8rem;
    margin-bottom: 1em;
  }
}

.blog_ttl {
  font-size: 3.2rem;
  font-weight: bold;
  line-height: 1.43;
  color: #2A455F;
  margin-bottom: 3rem;
}

@media screen and (max-width: 767px) {
  .blog_ttl {
    font-size: 3.8rem;
    margin-bottom: 4rem;
  }
}

.blog_img {
  margin-bottom: 4.5rem;
}

@media screen and (max-width: 767px) {
  .blog_img {
    margin: 0 -4rem 4.5rem;
  }
}

.blog_body h2 {
  font-size: 2.4rem;
  font-weight: bold;
  margin: 6.5rem 0 1em;
  color: #2A455F;
  border-bottom: solid 1px #2A455F;
  padding-bottom: .6em;
  line-height: 1.625;
}

@media screen and (max-width: 767px) {
  .blog_body h2 {
    font-size: 3.2rem;
    margin: 9rem 0 .8em;
  }
}

.blog_body figure {
  margin: 9rem 0 4rem;
}

@media screen and (max-width: 767px) {
  .blog_body figure {
    margin: 8rem 0 6rem;
  }
}

.blog_body figure + h2 {
  margin-top: 0;
}

.blog_body h3 {
  font-size: 2.2rem;
  font-weight: bold;
  color: #2A455F;
  line-height: 1.625;
  margin-bottom: .6em;
}

.blog_body p {
  font-size: 1.7rem;
  line-height: 2.13;
  margin-bottom: 2em;
}

@media screen and (max-width: 767px) {
  .blog_body p {
    font-size: 2.4rem;
    line-height: 2.08;
  }
}

.blog_body .box {
  border: solid 1px #707070;
  background: #F2F7FC;
  padding: 3rem;
  margin: 9rem 0 4rem;
}

@media screen and (max-width: 767px) {
  .blog_body .box {
    margin: 8rem 0 6rem;
  }
}

.blog_body .box p {
  font-size: 1.5rem;
  margin-bottom: 0;
}

@media screen and (max-width: 767px) {
  .blog_body .box p {
    font-size: 2rem;
  }
}

.wp-pagenavi {
  margin-top: 8rem;
  text-align: center;
  white-space: nowrap;
}

.wp-pagenavi a, .wp-pagenavi span {
  display: inline-block;
  vertical-align: middle;
  text-align: center;
  margin: 0 .8em;
  font-size: 2.1rem;
  color: #B5B4B1;
}

.wp-pagenavi .current {
  color: #2B2004;
}

.wp-pagenavi .previouspostslink, .wp-pagenavi .nextpostslink {
  color: #2B2004;
  font-size: 1.6rem;
}

.wp-pagenavi .previouspostslink {
  margin-right: 2em;
}

.wp-pagenavi .nextpostslink {
  margin-left: 2em;
}

.case_catname {
  color: #446788;
  font-size: 2.4rem;
  font-weight: 500;
  margin-bottom: -2rem;
}

@media screen and (max-width: 767px) {
  .case_catname {
    font-size: 2.6rem;
    margin-bottom: 0;
  }
}

.case_home {
  margin-bottom: 11rem;
}

.case_home .case_category {
  margin-bottom: 7rem;
}

@media screen and (max-width: 767px) {
  .case_home .case_category {
    margin-bottom: 4.5rem;
  }
}

.case_ttl {
  text-align: center;
  font-size: 3.6rem;
  color: #2A455F;
  line-height: 1;
  margin: 13rem 0 5rem;
}

@media screen and (max-width: 767px) {
  .case_ttl {
    font-size: 4.2rem;
    margin: 9rem 0 5rem;
  }
}

.case_category2 {
  display: -webkit-box;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.case_category2 > * {
  margin-left: 1.2%;
  width: 24.1%;
}

@media screen and (min-width: 768px) {
  .case_category2 > *:nth-child(4n + 1) {
    margin-left: 0;
  }
}

@media screen and (max-width: 767px) {
  .case_category2 > * {
    margin-left: 2.8%;
    width: 48.6%;
  }
  .case_category2 > *:nth-child(2n + 1) {
    margin-left: 0;
  }
}

.case_category2 a {
  font-size: 1.6rem;
  display: block;
  text-align: center;
  font-weight: 500;
  color: #2A455F;
  border: solid 1px #A9BBCC;
  padding: .9em 0;
}

@media screen and (max-width: 767px) {
  .case_category2 a {
    font-size: 2.4rem;
    padding: .7em 0;
  }
}

.case_category2 li {
  margin-bottom: 1.2rem;
}

@media screen and (max-width: 767px) {
  .case_category2 li {
    margin-bottom: 1.5rem;
  }
}

.case_category {
  margin-bottom: 12rem;
  display: -webkit-box;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.case_category > * {
  margin-left: 1.2%;
  width: 24.1%;
}

@media screen and (min-width: 768px) {
  .case_category > *:nth-child(4n + 1) {
    margin-left: 0;
  }
}

@media screen and (max-width: 767px) {
  .case_category > * {
    margin-left: 2.8%;
    width: 48.6%;
  }
  .case_category > *:nth-child(2n + 1) {
    margin-left: 0;
  }
}

@media screen and (max-width: 767px) {
  .case_category {
    margin-bottom: 8rem;
  }
}

.case_category a {
  background: #F2F7FC;
  display: block;
  text-align: center;
  font-weight: 500;
  color: #2A455F;
  padding: .9em 0;
}

@media screen and (max-width: 767px) {
  .case_category a {
    font-size: 2.4rem;
  }
}

.case_category li {
  margin-bottom: 2rem;
}

@media screen and (max-width: 767px) {
  .case_category li {
    margin-bottom: 1.5rem;
  }
}

.case_list {
  display: -webkit-box;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.case_list > * {
  margin-left: 4%;
  width: 22%;
}

@media screen and (min-width: 768px) {
  .case_list > *:nth-child(4n + 1) {
    margin-left: 0;
  }
}

@media screen and (max-width: 767px) {
  .case_list > * {
    margin-left: 7%;
    width: 46.5%;
  }
  .case_list > *:nth-child(2n + 1) {
    margin-left: 0;
  }
}

.case_list li {
  margin-bottom: 5.5rem;
}

@media screen and (max-width: 767px) {
  .case_list li {
    margin-bottom: 4rem;
  }
}

.case_list img {
  width: 100%;
}

.case_list .img {
  border: solid 1px #D5D5D5;
  width: 22rem;
  height: 16rem;
  position: relative;
  overflow: hidden;
}

.case_list .img img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 120%;
  height: 120%m;
  max-width: none;
}

.case_list a {
  display: block;
  font-size: 1.5rem;
  position: relative;
  height: 100%;
}

@media screen and (max-width: 767px) {
  .case_list a {
    font-size: 2rem;
  }
}

.case_list dt {
  line-height: 1.6;
  margin: 1.4em 0 4rem;
}

@media screen and (max-width: 767px) {
  .case_list dt {
    margin: .8em 0 5rem;
  }
}

.case_list dt i {
  background: #2A455F;
  color: #fff;
  padding: .1em 1em;
  display: inline-block;
  margin-bottom: .5em;
}

@media screen and (max-width: 767px) {
  .case_list dt i {
    font-size: 1.8rem;
  }
}

.case_list dd {
  text-align: right;
  font-weight: 500;
  color: #9F0F25;
  position: absolute;
  width: 100%;
  bottom: 0;
}

.case_list dd em {
  font-size: 2.2rem;
  margin: 0 .2em;
}

@media screen and (max-width: 767px) {
  .case_list dd em {
    font-size: 2.6rem;
  }
}

.case_header .img {
  border: solid 1px #2A455F;
  border-radius: .5rem;
  overflow: hidden;
}

.case_header .img img {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .case_header .img {
    background: none !important;
  }
}

@media screen and (min-width: 768px) {
  .case_header .img {
    background: no-repeat 50% / contain;
  }
  .case_header .img img {
    display: none;
  }
}

.case_header .ttl {
  font-size: 2.8rem;
  line-height: 1.35;
  margin-bottom: 4rem;
}

@media screen and (max-width: 767px) {
  .case_header .ttl {
    font-size: 3.4rem;
    margin: 5rem 0 3rem;
    line-height: 1.5;
  }
}

.case_header dt {
  background: #445464;
  color: #fff;
  position: absolute;
  font-size: 1.5rem;
  width: 7.5em;
  padding: .1em 0;
  margin-top: .2em;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .case_header dt {
    font-size: 2rem;
  }
}

.case_header dd {
  color: #445464;
  font-size: 1.8rem;
  margin-left: 8em;
  margin-bottom: .8em;
}

.case_header dd a {
  text-decoration: underline;
}

@media screen and (max-width: 767px) {
  .case_header dd {
    font-size: 2.2rem;
    margin-bottom: 1.2em;
  }
}

@media screen and (min-width: 768px) {
  .case_header {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
  }
  .case_header .img {
    width: 48.4rem;
  }
  .case_header .desc {
    width: 48rem;
  }
}

.case_detail {
  margin-bottom: 6rem;
}

.case_detail h2, .case_detail h3 {
  font-size: 2.8rem;
  font-family: 'Zen Antique Soft', serif;
  margin: 11rem 0 4rem;
}

@media screen and (min-width: 768px) {
  .case_detail h2, .case_detail h3 {
    text-align: center;
  }
}

@media screen and (max-width: 767px) {
  .case_detail h2, .case_detail h3 {
    font-size: 3.4rem;
    margin-bottom: 3rem;
  }
}

.case_detail h2 {
  margin-top: 8rem;
}

.case_detail p {
  font-size: 1.7rem;
  line-height: 2.23;
  margin-bottom: 1.5em;
}

@media screen and (max-width: 767px) {
  .case_detail p {
    font-size: 2.4rem;
    line-height: 2.16;
  }
}

.case_detail figure {
  text-align: center;
  margin-bottom: 5rem;
}

.case_detail figure img {
  width: 40.8rem;
}

@media screen and (max-width: 767px) {
  .case_detail figure img {
    width: 100%;
  }
}

/*# sourceMappingURL=style.css.map */