@charset "UTF-8";
/*--------------------------------------------------------------
Foundation
--------------------------------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,500;1,400&family=Josefin+Sans:wght@400;700&family=Kiwi+Maru:wght@400;500&family=Lato:wght@300;400&family=Noto+Sans+JP:wght@700&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: #000;
  overflow-x: hidden;
  overflow-y: scroll;
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", YuGothic, "ヒラギノ角ゴシック", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Hiragino Sans", "メイリオ", "Meiryo", 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_e {
  font-family: 'Lato', sans-serif;
}

.ft_k {
  font-family: 'Kiwi Maru', serif;
}

.ft_c {
  font-family: 'Crimson Pro', serif;
}

.ft_g {
  font-family: 'Noto Sans JP', sans-serif;
}

.ft_j {
  font-family: 'Josefin Sans', sans-serif;
}

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

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

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

.c_more {
  text-align: center;
}

.c_more a {
  font-size: 1.5rem;
  font-weight: 400;
  text-transform: uppercase;
  border: solid 1px #000;
  width: 7.74em;
  display: inline-block;
  line-height: 2.53;
  text-align: center;
}

.c_more a:hover {
  background: #000;
  color: #fff;
  opacity: 1;
}

@media screen and (max-width: 767px) {
  .c_more a {
    font-size: 2.3rem;
    background: #fff;
    line-height: 1.9;
    width: 8.3em;
  }
}

@media screen and (max-width: 767px) {
  .c_btn {
    text-align: center;
  }
}

.c_btn a {
  display: inline-block;
  border: solid 1px #000;
  font-size: 1.4rem;
  padding: 0 1.8em;
  line-height: 2.4em;
  border-radius: 2em;
}

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

.c_btn a:hover {
  opacity: 1;
  background: #000;
  color: #fff;
}

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

.u_inner {
  width: 111rem;
  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 / 480);
  }
}

.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 2rem;
  }
  .u_inner.b {
    margin: 0;
  }
}

/*--------------------------------------------------------------
Layout/PageBase
--------------------------------------------------------------*/
#header {
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 66;
  height: 12rem;
  background: #fff;
}

#header a {
  display: block;
}

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

.h_logo {
  position: absolute;
  left: 4rem;
  top: 0;
}

@media screen and (max-width: 767px) {
  .h_logo {
    left: 2rem;
    top: 50%;
    transform: translateY(-50%);
  }
  .h_logo img {
    width: 20rem;
  }
}

@media screen and (min-width: 768px) {
  .h_logo a {
    background: #fff;
    border-radius: 50%;
    height: 24rem;
    width: 24rem;
  }
  .h_logo img {
    width: 16rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}

@media screen and (max-width: 767px) {
  .h_nav {
    border-top: solid 1px #CCCCCC;
  }
  .h_nav li {
    border-bottom: solid 1px #CCCCCC;
    position: relative;
    font-size: 2.3rem;
  }
  .h_nav li i {
    position: absolute;
    width: 1.9rem;
    height: 6.8rem;
    display: block;
    right: 0;
    top: 0;
    z-index: 1;
  }
  .h_nav li i:before {
    content: '';
    position: absolute;
    width: 1.2rem;
    height: 1.2rem;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    right: 0.5em;
    top: 50%;
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
  }
  .h_nav li i.open:before {
    border: none;
    border-bottom: 1px solid #000;
    border-right: 1px solid #000;
  }
  .h_nav li i.open + ul {
    display: block;
  }
  .h_nav li ul {
    display: none;
  }
  .h_nav li img {
    width: 2.56rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
  }
  .h_nav li li {
    border: none;
    background: #F5F5F5;
    font-size: .77em;
  }
  .h_nav a {
    padding: .7em 4rem;
  }
}

@media screen and (min-width: 768px) {
  .h_nav {
    text-align: right;
    padding-top: 6.8rem;
    margin-right: 5rem;
  }
  .h_nav li {
    display: inline-block;
    font-size: 1.6rem;
    font-weight: bold;
    margin-left: 2em;
  }
  .h_nav li img {
    display: none;
  }
  .h_nav li ul {
    display: none;
  }
  .h_nav a {
    position: relative;
    padding-bottom: .2em;
  }
  .h_nav a:before {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    border-bottom: solid 2px #e87c00;
    width: 0;
    bottom: 0;
    transition: width .2s ease-in;
  }
  .h_nav a:hover {
    opacity: 1;
    color: #e87c00;
  }
  .h_nav a:hover:before {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .h_insta i {
    display: none;
  }
  .h_insta img {
    width: 3.8rem;
  }
}

@media screen and (max-width: 767px) {
  .h_insta {
    text-align: center;
  }
  .h_insta i {
    font-size: 1.6rem;
    letter-spacing: .13em;
    font-weight: bold;
  }
  .h_insta img {
    width: 4.22rem;
    margin-right: .5em;
  }
}

@media screen and (min-width: 768px) {
  .h_mail a {
    font-size: 1.4rem;
    font-weight: bold;
    border: solid 1px #393939;
    border-radius: .3rem;
    background: url(../img/h_email.svg) no-repeat 1em center/1.9rem;
    width: 15.3rem;
    text-align: center;
    line-height: 3.8rem;
    padding-left: 1.5em;
  }
  .h_mail a:hover {
    background-color: #000;
    background-image: url(../img/h_email_sp.svg);
    color: #fff;
  }
}

@media screen and (max-width: 767px) {
  .h_mail {
    margin: 2.5rem 0;
  }
  .h_mail a {
    background: #F57626;
    text-align: center;
    color: #fff;
    padding: 1em 0;
    padding-left: 1.7em;
    font-size: 2.3rem;
    position: relative;
  }
  .h_mail a:before {
    content: '';
    height: 100%;
    position: absolute;
    width: 3.15rem;
    top: 0;
    margin-left: -1.7em;
    background: url(../img/h_email_sp.svg) no-repeat 50%/contain;
  }
}

@media screen and (min-width: 768px) {
  #toggle_menu {
    display: block !important;
  }
  .h_pc_nav {
    position: absolute;
    right: 5rem;
    top: .9rem;
  }
  .h_pc_nav > div {
    display: inline-block;
    vertical-align: middle;
    margin-left: 1.5rem;
  }
  .h_tel em {
    background: url(../img/h_tel.svg) no-repeat left center/4.4rem;
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 2;
    display: block;
    padding-left: 2.5em;
    letter-spacing: .05em;
  }
}

@media screen and (max-width: 767px) {
  .h_menu {
    right: 2rem;
    width: 5.76rem;
    cursor: pointer;
    position: absolute;
    top: 1.25rem;
  }
  .h_menu img {
    display: block;
    position: absolute;
  }
  .h_menu .close {
    opacity: 0;
  }
  body.open .h_menu .open {
    opacity: 0;
  }
  body.open .h_menu .close {
    opacity: 1;
  }
  .h_sp_nav {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: #E6481A;
    display: flex;
    gap: 0 .2rem;
    padding: .2rem 0;
  }
  .h_sp_nav li {
    width: 100%;
    background: #FAF6DF;
    font-size: 1.3rem;
    text-align: center;
    font-weight: bold;
    letter-spacing: .04em;
  }
  .h_sp_nav li:nth-child(2) img {
    width: 5.2em;
  }
  .h_sp_nav li:nth-child(3) img {
    width: 5.9em;
  }
  .h_sp_nav li:nth-child(4) img {
    width: 5.1em;
  }
  .h_sp_nav a {
    padding: 1.15rem 0;
    line-height: 1;
  }
  .h_sp_nav span {
    display: block;
    height: 4.3rem;
    margin-bottom: .6em;
  }
  .h_sp_nav img {
    font-size: 0.64rem;
    width: 6.7em;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
  }
  #toggle_menu {
    display: none;
    position: fixed;
    top: 8.32rem;
    z-index: 9;
    left: 0;
    width: 100%;
    overflow-y: auto;
    height: 100%;
    background: #fff;
    padding: 3rem 2rem;
    height: calc(100% - 8.32rem);
  }
  body.open {
    overflow-y: hidden;
  }
}

@media screen and (min-width: 768px) {
  .f_side {
    position: fixed;
    right: 3rem;
    bottom: 3rem;
    width: 10.7rem;
    z-index: 60;
  }
  .f_side li + li {
    margin-top: 2rem;
  }
  .f_side.abs {
    position: absolute;
    bottom: auto;
    transform: translateY(-100%);
    margin-top: -8rem;
  }
}

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

footer {
  position: relative;
}

#gototop {
  position: absolute;
  right: 3.35rem;
  margin-top: -5rem;
}

@media screen and (max-width: 767px) {
  #gototop {
    bottom: 5.5rem;
    margin-top: 0;
    z-index: 1;
    right: 1.5rem;
  }
}

#gototop a {
  background: #E87C00;
  width: 10rem;
  height: 10rem;
  color: #fff;
  text-align: center;
  font-weight: bold;
  display: block;
  border-radius: 50%;
  font-size: 1.5rem;
  padding-top: 2em;
}

#gototop img {
  display: block;
  margin: 0 auto .2em;
  width: 1.46em;
}

.f_contact {
  text-align: center;
}

@media screen and (max-width: 767px) {
  .f_contact {
    margin: 1rem 0;
  }
}

.f_contact a {
  display: block;
  padding: 2.5rem 0;
}

.f_contact img {
  display: block;
  margin: 0 auto 1.6em;
  width: 4.2em;
  font-size: 1rem;
}

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

.f_contact em {
  font-weight: bold;
  letter-spacing: .07em;
  font-size: 4.3rem;
  display: block;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .f_contact em {
    font-size: 3.2rem;
    letter-spacing: .1em;
  }
}

.f_contact small {
  display: inline-block;
  font-size: 1.7rem;
  text-align: left;
  text-indent: -5em;
  margin-left: 5em;
  margin-top: .6em;
}

.f_contact .mail img {
  width: 4.4em;
}

.f_contact .mail em {
  font-size: 2.6rem;
  letter-spacing: .1em;
}

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

@media screen and (max-width: 767px) {
  .f_contact li + li {
    border-top: solid 1px #EDEDED;
  }
}

@media screen and (min-width: 768px) {
  .f_contact {
    border-top: solid 1px #EDEDED;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: center;
    justify-content: center;
  }
  .f_contact li {
    width: 55.5rem;
  }
  .f_contact li + li {
    position: relative;
  }
  .f_contact li + li:before {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    border-left: solid 1px #CCCCCC;
    height: 47%;
    left: 0;
  }
}

.f_bnr {
  background: #E87C00;
  padding: 3rem 0;
}

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

.f_bnr li {
  width: 25rem;
  margin: 0 1rem;
}

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

#footer {
  background: #F5F5F5;
  position: relative;
  padding: 4rem 0 0;
}

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

.f_info {
  border-radius: 50%;
  background: #fff;
  padding-top: 100%;
  position: relative;
  text-align: center;
  white-space: nowrap;
}

.f_info .inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.f_info dt {
  font-weight: bold;
  font-size: 2.4rem;
  border-bottom: solid 1px #000;
  margin-bottom: .7em;
  padding-bottom: .1em;
}

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

.f_info dt img {
  display: block;
  margin: 0 auto .6em;
  width: 11.6rem;
}

@media screen and (max-width: 767px) {
  .f_info dt img {
    width: 12.8rem;
  }
}

.f_info dd {
  font-size: 1.6rem;
  line-height: 1.25;
}

.f_info dd p {
  margin-top: 1em;
}

.f_insta {
  text-align: center;
  margin-top: 2rem;
}

.f_insta a {
  text-transform: uppercase;
  letter-spacing: .13em;
  font-weight: bold;
  font-size: 1.5rem;
  display: inline-block;
}

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

.f_insta a img {
  width: 2.533em;
  margin-left: 1em;
}

@media screen and (max-width: 767px) {
  .f_link {
    text-align: center;
    margin: 2.5rem 0 5rem;
  }
  .f_link li {
    font-size: 1.5rem;
    margin-top: 1rem;
  }
  .f_link a {
    text-decoration: underline;
  }
}

@media screen and (min-width: 768px) {
  .f_nav {
    position: absolute;
    top: 4.3rem;
  }
  .f_nav .box {
    display: inline-block;
    vertical-align: top;
    width: 22.5rem;
  }
  .f_nav ul {
    border-left: solid 1px #BBBBBB;
    margin-bottom: 2rem;
    padding: .5rem 1rem;
  }
  .f_nav ul ul {
    margin: .5rem 0 0;
    padding: 0;
    border: none;
  }
  .f_nav li {
    font-weight: bold;
    font-size: 1.7rem;
  }
  .f_nav li li {
    font-weight: normal;
    font-size: 1.4rem;
    line-height: 1.8;
  }
  .f_inner {
    width: 40rem;
    margin-left: auto;
    margin-bottom: 5rem;
  }
}

.f_copy {
  text-align: center;
  color: #fff;
  font-size: 1.2rem;
  background: #333333;
  line-height: 5;
}

@media screen and (max-width: 767px) {
  .f_copy {
    line-height: 2.85;
  }
}

/*--------------------------------------------------------------
Project
--------------------------------------------------------------*/
.top_main {
  margin-top: 12rem;
  position: relative;
}

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

.top_main .img {
  /*height: calc(100vh - 12rem);*/
  height: calc(100vh - 40rem);
  background: no-repeat 50% / cover;
  border-radius: 0 11rem 0 0;
}

@media screen and (max-width: 767px) {
  .top_main .img {
    border-radius: 0 7rem 0 0;
    /*height: calc(100vh - 8.32rem);*/
    height: 31vh;
  }
}

@media screen and (min-width: 768px) {
  .top_main .slide {
    margin-right: 17rem;
  }
}

.top_main .news {
  position: absolute;
  background: #fff;
  bottom: 3.7rem;
  z-index: 3;
  width: 50rem;
  left: 4rem;
  border-radius: 13rem;
  height: 8.4rem;
  padding: 2rem 2.6rem;
}

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

.top_main .news p {
  font-size: 1.3rem;
  font-weight: bold;
}

.top_main .news li {
  font-size: 1.3rem;
  font-weight: bold;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: .4em 0;
}

.top_main .news small {
  margin-right: 1em;
  font-weight: 500;
}

.top_main .catch {
  font-size: 4.6rem;
  letter-spacing: .36em;
  right: 4rem;
  z-index: 10;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .top_main .catch {
    /*font-size: 3.1rem;*/
    font-size: 1.6rem;
  }
}

.top_main .catch span {
  display: inline-block;
  background: #EA7937;
  color: #fff;
  padding: .1em .3em;
  margin-top: .1em;
}

.top_main .slick-dots, .top_bnr .slick-dots {
  text-align: center;
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 1rem;
}

.top_main .slick-dots li, .top_bnr .slick-dots li {
  display: inline-block;
  margin: 0 .6rem;
  width: auto;
}

.top_main .slick-dots li.slick-active button:after, .top_bnr .slick-dots li.slick-active button:after {
  background: #EA7937;
}

.top_main .slick-dots button, .top_bnr .slick-dots button {
  border: none;
  cursor: pointer;
  color: transparent;
  position: relative;
  background: none;
  width: 2rem;
  height: 2rem;
}

.top_main .slick-dots button:active, .top_main .slick-dots button:focus, .top_bnr .slick-dots button:active, .top_bnr .slick-dots button:focus {
  outline: 0;
}

.top_main .slick-dots button:after, .top_bnr .slick-dots button:after {
  content: '';
  width: 1.2rem;
  height: 1.2rem;
  background: #fff;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.top_bnr {
  margin: 7.7rem 0 5rem;
}

@media screen and (max-width: 767px) {
  .top_bnr {
    padding: 0 2rem;
  }
  .top_bnr li {
    width: calc(50vw - 2.6rem);
    margin: 0 .3rem;
  }
  .top_bnr .slick-dots {
    position: static;
    margin-top: 1rem;
  }
  .top_bnr .slick-dots li button:after {
    background: #d3cece;
  }
}

@media screen and (min-width: 768px) {
  .top_bnr {
    margin: 6rem 0 10rem;
  }
  .top_bnr ul {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    width: 135rem;
    max-width: calc(100% - 4rem);
    margin: 0 auto;
  }
  .top_bnr ul > * {
    width: 23.529%;
  }
}

.top_bg {
  background: #F5F5F5;
  padding: 6rem 0 7.5rem;
}

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

.top_sec {
  position: relative;
}

.top_sec .ttl {
  font-size: 4rem;
  font-weight: 500;
  letter-spacing: .13em;
  position: relative;
  padding-bottom: .2em;
  margin-bottom: 6rem;
}

@media screen and (max-width: 767px) {
  .top_sec .ttl {
    letter-spacing: 0;
    font-size: 3.9rem;
    margin-bottom: 4rem;
  }
}

.top_sec .ttl:before, .top_sec .ttl:after {
  content: '';
  position: absolute;
  bottom: 0;
  height: .3rem;
  background: #DEBC00;
  width: 2em;
  left: 0;
}

@media screen and (max-width: 767px) {
  .top_sec .ttl:before, .top_sec .ttl:after {
    height: .5rem;
  }
}

.top_sec .ttl:after {
  width: 1em;
  background: #E6481A;
}

.top_sec .ttl i {
  display: block;
  font-size: 1.5rem;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: .1em;
  position: relative;
  z-index: 1;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .top_sec .ttl i {
    letter-spacing: 0;
    font-size: 1.7rem;
  }
}

.top_sec .ttl i:before {
  content: '';
  position: absolute;
  background: #DEBC00;
  width: 1.5em;
  height: 1.5em;
  border-radius: 50%;
  z-index: -1;
  left: -.7em;
  bottom: -.1em;
}

@media screen and (max-width: 767px) {
  .top_sec .ttl i:before {
    left: -.5em;
    bottom: .35em;
    width: 1.03em;
    height: 1.03em;
  }
}

@media screen and (min-width: 768px) {
  .top_sec .c_more {
    top: 2rem;
    position: absolute;
    right: calc(50% - 55.5rem);
  }
}

.news_list {
  margin-bottom: 9.1rem;
  display: -webkit-box;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 7.5rem 2.66%;
}

.news_list > * {
  width: 23.005%;
}

@media screen and (max-width: 767px) {
  .news_list {
    gap: 2.7rem 4.5%;
    margin-bottom: 4.5rem;
  }
}

.news_list li {
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .news_list li {
    width: 47.75%;
  }
}

.news_list a {
  display: block;
}

.news_list a:hover {
  opacity: 1;
}

.news_list a:hover img {
  transform: scale(1.05);
}

.news_list .img {
  overflow: hidden;
}

.news_list .img img {
  transition: transform .4s ease-in;
  position: relative;
  z-index: -1;
}

.news_list b {
  position: absolute;
  color: #fff;
  background: #E87C20;
  font-size: 1.3rem;
  padding: .3em 1.5em .2em;
  left: -1rem;
  top: -1rem;
}

@media screen and (max-width: 767px) {
  .news_list b {
    font-size: 1.4rem;
    padding: .2em .8em .2em;
    left: -.64rem;
    top: -.64rem;
  }
}

.news_list b.end {
  background: #BABABA;
}

.news_list p {
  font-size: 1.6rem;
  line-height: 1.6875;
  margin-top: .7em;
}

@media screen and (max-width: 767px) {
  .news_list p {
    line-height: 1.44;
  }
}

.news_list p i {
  background: #000;
  color: #fff;
  font-size: 1.3rem;
  border-radius: 2em;
  padding: .1em 1em;
  font-weight: bold;
  display: inline-block;
  margin-bottom: 1em;
}

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

.news_list p small {
  display: block;
  font-weight: bold;
  font-size: 1.4rem;
  margin-top: .7em;
}

@media screen and (max-width: 767px) {
  .news_list p small {
    margin-top: .4em;
  }
}

.top_news {
  position: relative;
}

.top_news .icon {
  position: absolute;
  right: 0;
  top: -5.1rem;
  width: 7.3rem;
}

.top_content {
  padding: 7rem 0 9rem;
}

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

.top_content .list li {
  background: #fff;
}

.top_content .list li:nth-child(2n + 0) {
  background: #F5F5F5;
}

.top_content .list a {
  display: block;
  font-weight: bold;
  letter-spacing: .04em;
  position: relative;
  padding: .33em 2em;
}

.top_content .list a:before {
  content: '';
  position: absolute;
  width: 0.45em;
  height: 0.45em;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  right: 1.2em;
  top: 50%;
  -webkit-transform: rotate(45deg) translateY(-50%);
  transform: rotate(45deg) translateY(-50%);
}

@media screen and (max-width: 767px) {
  .top_content .list a {
    font-size: 1.8rem;
    padding: 0.33em 2rem;
    font-weight: normal;
  }
  .top_content .list a:before {
    width: .65em;
    height: .65em;
    right: 2rem;
  }
}

.top_content .list a:after {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -1em;
  width: 0;
  transition: width .2s ease-in;
  border-bottom: solid 1px #000;
}

.top_content .list a:hover {
  opacity: 1;
  background: #E6481A;
  color: #fff;
}

.top_content .list a:hover:before {
  border-color: #fff;
}

.top_content .list a:hover:after {
  width: 2em;
}

.top_content .list a em {
  font-weight: 300;
  font-size: 3.5rem;
  letter-spacing: 0;
  margin-right: .5em;
  vertical-align: -.1em;
}

@media screen and (max-width: 767px) {
  .top_content .list a em {
    font-size: 3.1rem;
  }
}

.top_content .list a small {
  font-size: .48em;
}

.top_content .list .logo {
  position: absolute;
  right: 0;
  top: -16rem;
  widtgh: 16.2rem;
}

@media screen and (min-width: 768px) {
  .top_content {
    position: relative;
  }
  .top_content:before {
    content: '';
    position: absolute;
    height: 100%;
    background: #fff;
    width: calc(50% + 37.6rem);
    right: 0;
    top: 0;
  }
  .top_content .list {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 4rem;
    width: calc(50% - 25rem);
  }
  .top_content .img {
    width: calc(50% + 24rem);
  }
  .top_content .img p {
    position: absolute;
    font-size: 1.7rem;
    left: calc(100% - 79.5rem);
    top: 8rem;
    line-height: 1;
    letter-spacing: .08em;
    padding-bottom: 1.2em;
  }
  .top_content .img p em {
    font-size: 3.5rem;
    margin-left: .3em;
    letter-spacing: 0;
  }
  .top_content .img p small {
    font-size: 1.7rem;
  }
  .top_content .img p:before {
    content: '';
    position: absolute;
    bottom: 0;
    width: 1.47em;
    border-bottom: solid 1px #E6481A;
  }
}

@media screen and (min-width: 768px) {
  .works_list {
    display: -webkit-box;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 7.5rem 4.506%;
  }
  .works_list > * {
    width: 47.747%;
  }
  .list_body .works_list {
    margin-bottom: 9rem;
  }
}

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

.works_list em {
  position: absolute;
  top: -.5em;
  left: .1em;
  line-height: 1;
  font-size: 6.5rem;
  padding-left: .4em;
  z-index: 2;
}

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

.works_list em small {
  position: absolute;
  font-size: .28em;
  transform: rotate(-90deg);
  text-transform: uppercase;
  bottom: .4em;
  left: 0;
}

.works_list .img {
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.works_list .img i {
  position: absolute;
  background: #000;
  color: #fff;
  font-size: 1.3rem;
  border-radius: 2em;
  padding: .2em 1em;
  font-weight: bold;
  display: inline-block;
  bottom: .75em;
  right: .75em;
}

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

.works_list .img img {
  transition: transform .4s ease-in;
  position: relative;
  z-index: -1;
}

.works_list a {
  display: block;
  position: relative;
}

.works_list a:hover {
  opacity: 1;
}

.works_list a:hover img {
  transform: scale(1.05);
}

.works_list p {
  font-size: 1.7rem;
  margin-top: .4em;
}

@media screen and (max-width: 767px) {
  .works_list p {
    margin-top: .6em;
  }
}

.works_list p small {
  display: block;
  color: #E6481A;
  font-size: 1.2rem;
  margin-bottom: 1em;
}

@media screen and (max-width: 767px) {
  .works_list p small {
    font-size: 1.45rem;
    margin-bottom: .4em;
  }
}

.top_works {
  margin-bottom: 8rem;
}

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

.voice_list dt {
  background: #fff;
  display: inline-block;
  color: #1F1F1F;
  padding: .2em .5em;
  margin-bottom: 6rem;
}

@media screen and (max-width: 767px) {
  .voice_list dt {
    font-size: 1.8rem;
    display: block;
    margin-bottom: 2rem;
  }
}

.voice_list dd {
  font-size: 1.5rem;
  line-height: 1.93;
}

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

.voice_list .c_btn {
  margin-top: 4.5rem;
}

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

@media screen and (max-width: 767px) {
  .voice_list > * {
    border-bottom: solid 1px #ACACAC;
    padding-bottom: 2.5rem;
    margin-bottom: 2.5rem;
  }
}

@media screen and (min-width: 768px) {
  .voice_list {
    display: -webkit-box;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .voice_list > * {
    width: 50%;
  }
  .voice_list > *:nth-child(2n + 1) {
    border-right: solid 1px #ACACAC;
    padding-right: 5.5rem;
  }
  .voice_list > *:nth-child(2n + 0) {
    padding-left: 5.5rem;
  }
  .voice_list > *:nth-child(n + 3) {
    margin-top: 11rem;
    position: relative;
  }
  .voice_list > *:nth-child(n + 3):before {
    content: '';
    position: absolute;
    width: calc(100% - 5.5rem);
    border-top: solid 1px #ACACAC;
    top: -5.5rem;
  }
}

.top_insta {
  margin: 10rem 0 12rem;
}

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

.top_insta ul {
  display: -webkit-box;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.top_insta ul > * {
  margin-left: 2.7%;
  width: 22.975%;
}

.top_insta ul > *:nth-child(4n + 1) {
  margin-left: 0;
}

.top_insta li {
  margin-bottom: 2.7%;
  overflow: hidden;
}

.top_insta li a {
  padding-top: 100%;
  display: block;
  background: no-repeat 50% / cover;
  transition: transform .4s ease-in;
  position: relative;
}

.top_insta li a:hover {
  opacity: 1;
  transform: scale(1.05);
}

/* 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;
}

.c_bg {
  background: #F5F5F5;
}

.low_header {
  position: relative;
  margin-top: 12rem;
  height: 25rem;
}

.low_header.b {
  background: #EA7937;
}

@media screen and (max-width: 767px) {
  .low_header {
    margin-top: 8.32rem;
    height: 16rem;
  }
}

.low_header .bg {
  background: url(../img/lower_mv.jpg) no-repeat 50%/cover;
  height: 100%;
}

.low_header .ttl {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  text-align: center;
  font-size: 4rem;
  letter-spacing: .1em;
  font-weight: 500;
  white-space: nowrap;
}

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

.low_header .ttl i {
  display: block;
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: .1em;
  line-height: 1;
}

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

.contact_inner {
  width: 84rem;
}

.low_path {
  padding: 1rem 0;
}

.low_path li {
  font-size: 1.5rem;
  display: inline-block;
}

.low_path li + li:before {
  content: '＞';
}

.low_path span {
  color: #EA7937;
  text-decoration: underline;
}

.low_ttl {
  text-align: center;
  position: relative;
  font-size: 3.5rem;
  font-weight: bold;
  margin-bottom: 5rem;
  padding-bottom: .4em;
}

.low_ttl:before, .low_ttl:after {
  content: '';
  position: absolute;
  bottom: 0;
  height: .3rem;
  background: #DEBC00;
  width: 6rem;
  left: 50%;
  margin-left: -3rem;
}

@media screen and (max-width: 767px) {
  .low_ttl:before, .low_ttl:after {
    height: .5rem;
  }
}

.low_ttl.b {
  text-align: left;
}

.low_ttl.b:before, .low_ttl.b:after {
  margin-left: 0;
  left: 0;
}

.low_ttl:after {
  width: 3rem;
  background: #E6481A;
}

.low_ttl i {
  display: block;
  font-size: 1.5rem;
  font-weight: normal;
}

.low_ttl2 {
  text-align: center;
  font-size: 3.5rem;
  font-weight: bold;
  margin-bottom: 4rem;
}

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

.low_ttl2 i {
  display: block;
  font-size: 1.5rem;
}

.list_body {
  margin-top: 7.5rem;
  padding-bottom: 9.5rem;
}

.list_body.b {
  padding-top: 7.5rem;
}

@media screen and (max-width: 767px) {
  .list_body {
    padding-bottom: 6.5rem;
    margin-top: 4.5rem;
  }
  .list_body.b {
    padding-top: 4.5rem;
  }
}

.list_body .nav {
  display: flex;
  position: relative;
  transform: translateY(-50%);
  margin-bottom: 7rem;
}

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

.list_body .nav li {
  width: 33.33%;
}

.list_body .nav a {
  border: solid 1px #CCCCCC;
  display: block;
  font-size: 1.5rem;
  line-height: 3.2;
  text-align: center;
  background: #fff;
}

.list_body .nav a.active, .list_body .nav a:hover {
  opacity: 1;
  border-color: #E6481A;
  background: #E6481A;
  color: #fff;
}

.list_body .nav a.active {
  pointer-events: none;
}

.wp-pagenavi {
  text-align: center;
}

.wp-pagenavi a, .wp-pagenavi span {
  display: inline-block;
  vertical-align: middle;
  text-align: center;
  margin: 0 .15em;
  width: 2.625em;
  height: 2.625em;
  line-height: 2.625;
  background: #000;
  font-size: 1.6rem;
  color: #fff;
  border-radius: 50%;
  border: solid 1px #000;
}

@media screen and (max-width: 767px) {
  .wp-pagenavi a, .wp-pagenavi span {
    font-size: 1.8rem;
  }
}

.wp-pagenavi .current {
  background: #fff;
  color: #000;
}

.wp-pagenavi .pages {
  background: #fff;
  color: #000;
  width: auto;
  padding: 0 .8em;
  margin-right: 1em;
  border-radius: 1em;
}

.wp-pagenavi .previouspostslink, .wp-pagenavi .nextpostslink {
  color: transparent;
}

.wp-pagenavi .previouspostslink {
  background: #000 url(../img/arrow_prev.svg) no-repeat 50%/0.7rem;
}

.wp-pagenavi .nextpostslink {
  background: #000 url(../img/arrow_next.svg) no-repeat 50%/0.7rem;
}

.news_inner {
  padding: 5rem 0 6rem;
}

@media screen and (min-width: 768px) {
  .news_inner {
    padding: 7rem 0 8rem;
    width: 79.5rem;
    margin: 0 auto;
  }
}

.news_header {
  text-align: center;
  font-weight: bold;
  margin-bottom: 2.5rem;
}

.news_header .ttl {
  font-size: 2.7rem;
  line-height: 1.3;
  margin: .9em 0 .8em;
}

.news_header i {
  background: #000;
  color: #fff;
  font-size: 1.3rem;
  border-radius: 2em;
  padding: .1em 1em;
  font-weight: bold;
  display: inline-block;
}

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

.news_header p {
  display: block;
  font-size: 1.6rem;
  margin-top: .7em;
}

.news_img {
  margin-bottom: 2.5rem;
}

.news_body figure {
  margin-bottom: 2.5rem;
}

.news_body p {
  font-size: 1.5rem;
  line-height: 1.73;
  margin-bottom: 2em;
}

.news_body p strong {
  display: block;
  font-size: 1.2em;
}

.news_body p a {
  color: #EA7937;
}

.news_body h2 {
  font-family: 'Kiwi Maru', serif;
  font-size: 2.2rem;
  font-weight: 500;
  margin: 2.5em 0 .6em;
}

.news_body .btn a {
  background: #E6481A;
  color: #fff;
  font-size: 1.7rem;
  text-align: center;
  width: 14.7em;
  display: inline-block;
  line-height: 2.94;
  border: solid 1px #E6481A;
}

.news_body .btn a:hover {
  background: #fff;
  color: #E6481A;
  opacity: 1;
}

.concept_body {
  padding: 17rem 0 10rem;
}

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

.concept_sec {
  position: relative;
  z-index: 1;
}

.concept_sec .img {
  text-align: center;
  position: relative;
}

@media screen and (max-width: 767px) {
  .concept_sec .img {
    margin-top: -4rem;
  }
}

.concept_sec .img:before {
  content: '';
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
  background: #E6481A;
  height: 26.3rem;
  top: 6rem;
  width: 99rem;
}

@media screen and (max-width: 767px) {
  .concept_sec .img:before {
    top: 4rem;
    height: 60%;
  }
}

.concept_sec .img img {
  width: 74.2rem;
  box-shadow: 0px 12px 33px rgba(62, 62, 62, 0.16);
}

.concept_sec p:not(.num) {
  font-size: 1.5rem;
  line-height: 1.8;
}

.concept_sec p:not(.num) + p {
  margin-top: 2em;
}

.concept_sec .num {
  font-size: 14rem;
  text-shadow: #ccc 1px 1px 0, #ccc -1px -1px 0, #ccc -1px 1px 0, #ccc 1px -1px 0, #ccc 0px 1px 0, #ccc 0 -1px 0, #ccc -1px 0 0, #ccc 1px 0 0;
  color: rgba(255, 255, 255, 0);
  color: #fff;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .concept_sec .num {
    text-align: center;
    font-size: 12rem;
  }
}

.concept_sec .ttl {
  font-size: 3.8rem;
  font-weight: bold;
  margin-bottom: 1em;
}

.concept_sec .ttl span {
  border-bottom: solid 1px #000;
}

@media screen and (max-width: 767px) {
  .concept_sec .ttl {
    text-align: center;
    font-size: 3.4rem;
  }
}

@media screen and (max-width: 767px) {
  .concept_sec .box {
    background: #fff;
    padding-bottom: 1rem;
  }
  .concept_sec .box .u_inner {
    position: relative;
    top: -6.5rem;
  }
}

.concept_row {
  margin-bottom: 7rem;
}

.concept_row .imgs {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
}

.concept_row .imgs > * {
  width: 46.5%;
}

@media screen and (max-width: 767px) {
  .concept_row .imgs {
    margin-top: 2rem;
  }
  .concept_row .imgs li {
    width: calc(50% - 1rem);
  }
}

@media screen and (min-width: 768px) {
  .concept_row {
    margin-bottom: 14rem;
  }
  .concept_row:before {
    content: '';
    position: absolute;
    width: 50%;
    height: calc(100% - 50rem);
    background: #E6481A;
    bottom: 5rem;
    z-index: -1;
  }
  .concept_row .box:before {
    content: '';
    position: absolute;
    width: calc(50% + 55.5rem);
    height: calc(100% - 13.7rem);
    background: #fff;
    z-index: -1;
  }
  .concept_row .box .u_inner {
    position: relative;
    top: -7.5rem;
  }
  .concept_row .box p:not(.num) {
    width: 49rem;
  }
  .concept_row .box p:not(.num).b {
    width: 101rem;
  }
  .concept_row .imgs {
    width: 86rem;
  }
  .concept_row .img {
    position: absolute;
    top: -5rem;
  }
  .concept_row .img:before {
    content: none;
  }
  .concept_row.a .box .u_inner {
    padding-left: 54rem;
  }
  .concept_row.a .box:before {
    right: 0;
  }
  .concept_row.a .num {
    text-align: right;
  }
  .concept_row.a .img {
    left: calc(50% - 83.7rem);
  }
  .concept_row.a .imgs {
    margin-left: auto;
  }
  .concept_row.b {
    margin-bottom: 17.5rem;
  }
  .concept_row.b:before {
    right: 0;
    height: calc(100% - 42rem);
  }
  .concept_row.b .img {
    right: calc(50% - 83.7rem);
  }
}

@media screen and (min-width: 768px) {
  .concept_sec3 .ttl, .concept_sec3 .num {
    text-align: center;
  }
  .concept_sec3 .img {
    margin-top: -6rem;
  }
  .concept_sec3 .box {
    background: #fff;
    padding-bottom: 3.5rem;
  }
  .concept_sec3 .box .u_inner {
    position: relative;
    top: -7.5rem;
  }
}

.custom_sec {
  padding: 9rem 0;
  position: relative;
  z-index: 1;
}

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

.custom_sec:before {
  content: '';
  position: absolute;
  background: #E6481A;
  height: 41.5rem;
  width: 50%;
  top: 0;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .custom_sec:before {
    height: 20rem;
    width: 90%;
  }
}

@media screen and (min-width: 768px) {
  .custom_sec.b:before, .custom_sec.c:before {
    top: auto;
    bottom: 4rem;
  }
}

.custom_sec.b:before {
  right: 0;
}

.custom_sec .box {
  background: #fff;
  width: 44rem;
  position: relative;
  padding: 5rem 4rem 4rem;
}

.custom_sec .box:before, .custom_sec .box:after {
  content: '';
  width: 3rem;
  height: 3rem;
  border: solid 1px #000;
  position: absolute;
  top: 0;
}

.custom_sec .box:before {
  border-bottom: none;
  border-right: none;
  left: 0;
}

.custom_sec .box:after {
  border-bottom: none;
  border-left: none;
  right: 0;
}

@media screen and (max-width: 767px) {
  .custom_sec .box {
    width: 85%;
    padding: 4rem 2rem 3rem;
    margin: -2rem auto 0;
  }
}

.custom_sec .line:before, .custom_sec .line:after {
  content: '';
  width: 3rem;
  height: 3rem;
  border: solid 1px #000;
  position: absolute;
  bottom: 0;
}

.custom_sec .line:before {
  border-top: none;
  border-right: none;
  left: 0;
}

.custom_sec .line:after {
  border-top: none;
  border-left: none;
  right: 0;
}

.custom_sec .ttl {
  font-weight: bold;
  font-size: 3rem;
  margin-bottom: .8em;
  padding-left: .4em;
}

.custom_sec p {
  font-size: 1.4rem;
  line-height: 1.85;
  margin-bottom: 2rem;
}

@media screen and (min-width: 768px) {
  .custom_sec .img {
    width: 96rem;
  }
  .custom_sec.b .img {
    margin-left: auto;
  }
  .custom_sec.a .box {
    margin-left: 67rem;
  }
  .custom_sec .c_more {
    text-align: left;
  }
  .custom_sec .box {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }
}

.custom_works {
  padding: 6rem 0 8rem;
}

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

.custom_works .btn {
  text-align: center;
  margin-top: 5rem;
}

.custom_works .btn a {
  display: block;
  border: solid 1px #000;
  font-weight: bold;
  font-size: 1.7rem;
  line-height: 3.17;
}

.custom_works .btn a:hover {
  opacity: 1;
  background: #000;
  color: #fff;
}

.commit_sec {
  margin-top: 8rem;
}

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

.commit_sec.first {
  margin-top: 9rem;
}

@media screen and (max-width: 767px) {
  .commit_sec.first {
    margin-top: 6rem;
  }
}

.commit_sec .mv {
  text-align: center;
  margin-bottom: 7rem;
}

@media screen and (max-width: 767px) {
  .commit_sec .mv {
    margin-bottom: 4rem;
  }
}

.commit_sec .mv img {
  width: 105rem;
}

.commit_sec .ttl {
  text-align: center;
  font-size: 4rem;
  font-weight: bold;
}

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

.commit_sec .lead {
  text-align: center;
  font-size: 1.5rem;
  line-height: 1.73;
}

.commit_sec .sub {
  text-align: center;
  color: #E6481A;
  font-size: 1.8rem;
  font-weight: bold;
  margin: 1em 0;
}

.commit_sec .works {
  background: #F5F5F5;
  margin-top: 8rem;
  position: relative;
  padding: 8rem 0 4rem;
}

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

.commit_sec .works.last {
  padding-bottom: 10rem;
}

@media screen and (max-width: 767px) {
  .commit_sec .works.last {
    padding-bottom: 2rem;
  }
}

.commit_sec .ttl2 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #000;
  color: #fff;
  top: 0;
  font-weight: bold;
  width: 13.35em;
  line-height: 2.55;
  text-align: center;
}

.commit_sec .ttl2:before, .commit_sec .ttl2:after {
  content: '';
  position: absolute;
  bottom: 0;
  height: .3rem;
  background: #DEBC00;
  width: 50%;
}

@media screen and (max-width: 767px) {
  .commit_sec .ttl2:before, .commit_sec .ttl2:after {
    height: .5rem;
  }
}

.commit_sec .ttl2:before {
  right: 0;
  background: #E6481A;
}

.commit_sec .ttl2:after {
  left: 0;
}

.insura_lead {
  text-align: center;
  padding: 4.5rem 0;
  font-size: 1.5rem;
  line-height: 1.73;
}

.insura_lead.b {
  padding: 3rem 0;
}

.insura_desc .ttl {
  font-weight: bold;
  font-size: 4rem;
}

.insura_desc dt {
  color: #E6481A;
  font-size: 1.8rem;
  font-weight: bold;
  margin: .5em 0 .3em;
}

.insura_desc dd {
  font-size: 1.5rem;
  line-height: 1.73;
}

@media screen and (max-width: 767px) {
  .insura_desc .img {
    background: none !important;
  }
  .insura_desc .desc {
    padding: 4rem 2rem 3rem;
  }
}

@media screen and (min-width: 768px) {
  .insura_desc {
    display: flex;
    -webkit-box-align: center;
    align-items: center;
  }
  .insura_desc > * {
    width: 50%;
  }
  .insura_desc .img {
    height: 41rem;
    background: no-repeat 50% / cover;
  }
  .insura_desc .img img {
    display: none;
  }
  .insura_desc .desc {
    width: 55.5rem;
    margin-left: auto;
    padding-right: 8rem;
  }
}

.insura_flow {
  padding: 9rem 0;
  border-bottom: solid 1px #CCCCCC;
}

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

.insura_flow ul {
  display: -webkit-box;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.insura_flow ul > * {
  margin-left: 2.6%;
  width: 10.225%;
}

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

@media screen and (max-width: 767px) {
  .insura_flow ul > * {
    margin-left: 5%;
    width: 21.25%;
  }
  .insura_flow ul > *:nth-child(4n + 1) {
    margin-left: 0;
  }
}

.insura_flow li {
  text-align: center;
  border: solid 1px #CCCCCC;
  font-size: 1rem;
}

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

.insura_flow li + li {
  position: relative;
}

.insura_flow li + li:before {
  content: '';
  position: absolute;
  border-style: solid;
  border-width: 1.65em 0 1.65em 1em;
  border-color: transparent transparent transparent #000;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -18%;
}

.insura_flow i {
  display: block;
  background: #EA7937;
  color: #fff;
  font-size: 4.8em;
  font-weight: bold;
  line-height: 1;
  padding: .25em 0 0;
  margin: -1px;
}

.insura_flow i small {
  display: block;
  font-size: .33em;
  font-weight: normal;
  line-height: 1;
}

.insura_flow p {
  padding: 1.5em 0;
}

.insura_flow p span {
  display: inline-block;
  width: 1em;
  vertical-align: top;
  line-height: 1.1;
  font-size: 2.2em;
}

.insura_flow p small {
  display: block;
  font-size: 1.4em;
  color: #E6481A;
  border: solid 1px #E6481A;
  margin: 01em;
}

.model_header {
  margin: 12rem 0 0;
  position: relative;
  background: no-repeat 50% / cover;
  height: calc(100vh - 12rem);
}

.model_kv_title {
	position: absolute;
	left: 50%;
	top: 5rem;
	z-index: 2;
	width: 90rem;
	transform: translateX(-50%);
}
.model_kv_copy {
	position: absolute;
	right: 16vw;
	top: 30rem;
	z-index: 2;
	width: 10rem;
	transform: translateX(-50%);
}

@media screen and (max-width: 1023px) {
  .model_kv_copy {
	right: 21vw;
	top: 25rem;
	width: 8rem;
  }
}

@media screen and (max-width: 767px) {
  .model_header {
    margin: 8.32rem 0 0;
    height: calc(100vh - 8.32rem);
  }

  /* 0624 */
  .model_kv_title {
  	top: 4rem;
  	width: 40rem;
  }
  .model_kv_copy {
	right: -1vw;
	top: 15rem;
	width: 5rem;
  }
}

.model_header .ttl {
  position: absolute;
  left: calc(50% - 55.5rem);
  bottom: 6rem;
  font-size: 4.5rem;
}

@media screen and (max-width: 767px) {
  .model_header .ttl {
    left: 2rem;
    font-size: 3rem;
    bottom: 11rem;
  }
}

.model_header .ttl span {
  display: inline-block;
  background: #fff;
  font-weight: bold;
  margin-top: .2em;
  padding: 0 .3em;
}

.model_lead {
  margin: 8rem 0 9rem;
}

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

.model_lead p {
  font-weight: bold;
  font-size: 3.7rem;
  margin-bottom: .8em;
}

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

.model_lead li {
  font-size: 1.6rem;
  margin-bottom: .8em;
  text-decoration: underline;
}

.model_gallery {
  margin-bottom: 9rem;
}

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

.model_gallery ul {
  margin-bottom: 10rem;
}

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

.model_gallery dt {
  font-weight: bold;
  font-size: 1.5rem;
  margin: 1em 0 .5em;
}

.model_gallery dd {
  font-size: 1.5rem;
  line-height: 1.6;
}

.model_gallery p {
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.825;
}

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

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

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

@media screen and (min-width: 768px) {
  .model_gallery ul {
    display: -webkit-box;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 6.5rem 3rem;
  }
  .model_gallery ul > * {
    width: 54rem;
  }
}

.model_info {
  margin-bottom: 7rem;
}

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

.model_info .map {
  position: relative;
  height: 0;
  padding-top: 32.3rem;
  overflow: hidden;
  border: solid .4rem #fff;
}

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

@media screen and (max-width: 767px) {
  .model_info .map {
    padding-top: 70%;
    margin-bottom: 2rem;
  }
}

.model_info .ttl {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: .8em;
}

.model_info dl {
  border-top: solid 1px #707070;
  font-size: 1.5rem;
}

.model_info dt, .model_info dd {
  padding: .8em 0;
}

.model_info dt {
  position: absolute;
}

.model_info dd {
  border-bottom: solid 1px #707070;
  padding-left: 6em;
}

@media screen and (min-width: 768px) {
  .model_info {
    padding: 6rem 0;
  }
  .model_info .row {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
  }
  .model_info .map {
    width: 57.5rem;
  }
  .model_info .desc {
    width: 45.5rem;
  }
}

.model_tempe {
  margin-bottom: 12rem;
}

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

.model_tempe dt {
  font-weight: bold;
  font-size: 1.6rem;
  margin-bottom: .3em;
}

.model_tempe dd {
  font-size: 1.6rem;
  line-height: 1.6875;
}

.model_tempe .c_btn {
  margin-top: 2.5rem;
}

@media screen and (max-width: 767px) {
  .model_tempe dl {
    margin-top: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .model_tempe {
    display: flex;
    -webkit-box-align: center;
    align-items: center;
  }
  .model_tempe > * {
    width: 50%;
  }
  .model_tempe dl {
    padding-left: 6rem;
  }
}

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

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

.model_movie p {
  font-size: 1.4rem;
  margin-top: .6em;
}

.model_movie dl {
  background: #FFFEC3;
  padding: 2rem;
  font-size: 1.5rem;
}

.model_movie dl + dl {
  margin-top: 1rem;
}

.model_movie dt {
  font-weight: bold;
  margin-bottom: .4em;
}

.model_movie dd {
  line-height: 1.66;
}

@media screen and (max-width: 767px) {
  .model_movie .box1 {
    margin: 0 auto 5rem;
  }
  .model_movie .box2 {
    margin: 0 auto 3rem;
  }
  .model_movie dl {
    margin: 4rem auto 0;
  }
}

@media screen and (min-width: 768px) {
  .model_movie .box1 {
    width: 67.4rem;
    margin: 0 auto 12rem;
  }
  .model_movie .box2 {
    width: 56.3rem;
    margin: 0 auto 5rem;
  }
  .model_movie dl {
    width: 80rem;
    margin: 7rem auto 0;
  }
}

.model_contact {
  margin: 4rem 0 8rem;
}

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

.model_contact .head {
  padding: 3rem 5rem;
  font-weight: bold;
  background: #EA7937;
  color: #fff;
  text-align: center;
  white-space: nowrap;
}

@media screen and (min-width: 768px) {
  .model_contact .head {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: center;
    justify-content: center;
  }
  .model_contact .head .tel {
    margin-left: 7rem;
    margin-right: 5rem;
  }
}

@media screen and (max-width: 767px) {
  .model_contact .head > * + * {
    margin-top: 2rem;
  }
}

.model_contact .tel em {
  font-size: 4.1rem;
  display: block;
  line-height: 1;
  letter-spacing: .09em;
}

.model_contact .tel small {
  font-weight: normal;
  text-align: left;
  display: block;
  font-size: 1.4rem;
  line-height: 1.35;
}

.model_contact .btn a {
  display: block;
  background: #000;
  border-radius: 3em;
  padding: 1.2em 3em;
}

.model_contact .btn a:hover {
  opacity: 1;
  background: #fff;
  color: #000;
}

.model_contact .body {
  border: solid 1px #CCCCCC;
  border-top: none;
  padding: 5rem 10rem;
}

@media screen and (max-width: 767px) {
  .model_contact .body {
    padding: 3rem 2rem;
  }
}

.model_contact .body p {
  font-size: 1.5rem;
  line-height: 1.6;
}

.model_contact .body p + p {
  margin-top: 1.6em;
}

.reform_lead {
  margin-top: 6rem;
}

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

.reform_sec .ttl {
  text-align: center;
  font-size: 4rem;
  font-weight: bold;
}

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

.reform_sec .lead {
  text-align: center;
  font-size: 1.5rem;
  line-height: 1.73;
}

.reform_sec .sub {
  text-align: center;
  color: #E6481A;
  font-size: 1.8rem;
  font-weight: bold;
  margin: 1em 0;
}

.reform_flow {
  background: #F5F5F5;
  margin-top: 8rem;
  position: relative;
  padding: 8rem 0 10rem;
}

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

.reform_flow .ttl2 {
  background: #000;
  color: #fff;
  font-weight: bold;
  width: 13.35em;
  line-height: 2.55;
  text-align: center;
  margin: 11rem auto 5rem;
  position: relative;
}

.reform_flow .ttl2:before, .reform_flow .ttl2:after {
  content: '';
  position: absolute;
  bottom: 0;
  height: .3rem;
  background: #DEBC00;
  width: 50%;
}

@media screen and (max-width: 767px) {
  .reform_flow .ttl2:before, .reform_flow .ttl2:after {
    height: .5rem;
  }
}

.reform_flow .ttl2:before {
  right: 0;
  background: #E6481A;
}

.reform_flow .ttl2:after {
  left: 0;
}

.reform_flow .ttl3 {
  border-bottom: solid 1px #EA7937;
  margin: 5rem 0 4rem;
}

.reform_flow .ttl3 span {
  display: inline-block;
  background: #EA7937;
  font-weight: bold;
  color: #fff;
  text-align: center;
  width: 13.35em;
  line-height: 2.4;
  letter-spacing: .1em;
}

.reform_flow .flow {
  margin-bottom: 6rem;
}

@media screen and (min-width: 768px) {
  .reform_flow .flow {
    display: flex;
    flex-wrap: wrap;
    gap: 0 5rem;
  }
}

.reform_flow .flow li {
  background: #fff;
  position: relative;
  padding: 5.5rem 1rem 4rem;
}

@media screen and (min-width: 768px) {
  .reform_flow .flow li {
    width: 24rem;
  }
}

@media screen and (max-width: 767px) {
  .reform_flow .flow li {
    padding: 5.5rem 3rem 3rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 4rem;
  }
  .reform_flow .flow li dl {
    width: calc(100% - 15rem);
  }
}

.reform_flow .flow li + li {
  position: relative;
}

.reform_flow .flow li + li:before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -2.8rem;
  border-style: solid;
  border-width: 1.65rem 0 1.65rem 1rem;
  border-color: transparent transparent transparent #000;
}

@media screen and (max-width: 767px) {
  .reform_flow .flow li + li:before {
    left: 50%;
    top: -2.5rem;
    transform: translate(-50%, 0);
    border-width: 1rem 1.65rem 0 1.65rem;
    border-color: #000 transparent transparent transparent;
  }
}

.reform_flow .flow dt {
  text-align: center;
  margin-bottom: 1em;
  font-weight: bold;
  line-height: 1.2;
}

@media screen and (max-width: 767px) {
  .reform_flow .flow dt {
    text-align: left;
  }
}

.reform_flow .flow dd {
  font-size: 1.5rem;
}

.reform_flow .flow img {
  width: 13rem;
}

@media screen and (min-width: 768px) {
  .reform_flow .flow img {
    width: 16.2rem;
    display: block;
    margin: 0 auto 3rem;
  }
}

.reform_flow .flow p {
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
  position: absolute;
  top: 1rem;
  text-transform: uppercase;
}

.reform_flow .flow p:before {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  content: '';
  width: 1.6em;
  top: 1.9em;
  border-bottom: solid 1px #000;
}

.reform_flow .flow p i {
  display: block;
  font-size: 5rem;
}

.works_detail {
  padding: 3rem 0 10rem;
}

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

.works_detail .head {
  text-align: center;
  position: relative;
  margin-bottom: 3.5rem;
}

.works_detail .head em {
  display: inline-block;
  position: relative;
  line-height: 1;
  font-size: 6.5rem;
  padding-left: .4em;
  z-index: 2;
}

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

.works_detail .head em small {
  position: absolute;
  font-size: .28em;
  transform: rotate(-90deg);
  text-transform: uppercase;
  bottom: .4em;
  left: 0;
}

.works_detail .head p {
  color: #E6481A;
  font-size: 1.4rem;
  letter-spacing: .04em;
}

.works_detail .ttl {
  font-size: 4rem;
  font-weight: bold;
  margin: 1em 0 .2em;
}

.works_detail .img {
  margin-bottom: 6.5rem;
}

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

.works_detail .lead {
  width: 75rem;
  margin: 0 auto;
  max-width: 100%;
}

.works_detail .lead p {
  font-size: 1.6rem;
  line-height: 1.8125;
}

.works_detail .ttl2 {
  text-align: center;
  font-size: 2.8rem;
  font-weight: bold;
  margin-bottom: 1em;
}

.works_detail .ttl3 {
  text-align: center;
  position: relative;
  z-index: 1;
  margin: 5rem 0 4rem;
}

.works_detail .ttl3 i {
  display: inline-block;
  background: #000;
  color: #fff;
  font-size: 3rem;
  font-weight: bold;
  width: 10.3em;
  position: relative;
  letter-spacing: .3em;
}

.works_detail .ttl3 i:before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  border: solid 1px #000;
  z-index: -1;
  left: .5rem;
  top: .5rem;
}

.works_detail .ttl3 i.b {
  background: #E6481A;
}

.works_detail .ttl3 i.b:before {
  border: solid 1px #E6481A;
}

.works_detail .change {
  margin-top: 10rem;
}

@media screen and (max-width: 767px) {
  .works_detail .change {
    margin-top: 7rem;
  }
}

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

.works_detail .change li {
  margin-bottom: 2.5rem;
}

.works_detail .change li p {
  font-size: 1.4rem;
  margin-top: .5em;
}

.works_detail .list {
  margin-top: 13rem;
}

@media screen and (max-width: 767px) {
  .works_detail .list {
    margin-top: 7rem;
  }
}

.works_detail .list figure {
  margin-bottom: 9.5rem;
}

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

.works_detail .list figcaption {
  font-size: 1.6rem;
  line-height: 1.8125;
  margin-top: 1em;
}

@media screen and (min-width: 768px) {
  .works_detail .list figure {
    width: 75rem;
  }
  .works_detail .list figure:nth-child(2n + 0) {
    margin-left: auto;
  }
}

.works_detail .gallery {
  margin-bottom: 9rem;
}

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

.works_detail .comment dl {
  background: #fff;
  border: solid 1px #CCCCCC;
  padding: 3.5rem 18rem 3rem;
}

@media screen and (max-width: 767px) {
  .works_detail .comment dl {
    padding: 3rem 2rem;
  }
}

.works_detail .comment dt {
  display: inline-block;
  background: #F7F7F7;
  margin-bottom: 1em;
}

.works_detail .comment dd {
  font-size: 1.5rem;
  line-height: 1.93;
}

.works_detail .slick-slide {
  width: 34.8rem;
  margin: 0 1.25rem;
}

@media screen and (max-width: 767px) {
  .works_detail .slick-slide {
    width: 25rem;
    margin: 0 .75rem;
  }
}

.works_detail .slick-dots {
  margin-top: 3rem;
  text-align: center;
}

.works_detail .slick-dots li {
  display: inline-block;
  margin: 0 .4rem;
}

.works_detail .slick-dots li.slick-active button:after {
  background: #E6481A;
}

.works_detail .slick-dots button {
  border: none;
  cursor: pointer;
  color: transparent;
  position: relative;
  background: none;
  width: 2rem;
  height: 2rem;
}

.works_detail .slick-dots button:active, .works_detail .slick-dots button:focus {
  outline: 0;
}

.works_detail .slick-dots button:after {
  content: '';
  width: 1rem;
  height: 1rem;
  background: #BABABA;
  border-radius: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.works_pager {
  text-align: center;
  display: flex;
}

.works_pager a {
  display: block;
  padding: 8rem 2rem;
  position: relative;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .works_pager a {
    padding: 6rem 2rem;
  }
}

.works_pager a:hover {
  opacity: 1;
}

.works_pager a:hover .img {
  transform: translate(0);
}

.works_pager div {
  width: calc(50% - 19.2rem);
  font-size: 1.5rem;
}

@media screen and (max-width: 767px) {
  .works_pager div {
    width: calc(50% - 4rem);
  }
}

.works_pager .img {
  background: no-repeat 50% / cover;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform: translateX(-100%);
  transition: transform .3s ease-in;
}

.works_pager .prev .img {
  transform: translateX(100%);
}

.works_pager .center {
  width: 38.4rem;
  border-left: solid 1px #EDEDED;
  border-right: solid 1px #EDEDED;
  font-size: 1.8rem;
  position: relative;
  text-transform: uppercase;
}

@media screen and (max-width: 767px) {
  .works_pager .center {
    width: 8rem;
  }
}

.works_pager .center a {
  height: 100%;
  padding: 0;
}

.works_pager .center a:hover {
  background: #808080;
  color: #fff;
}

.works_pager .center a:hover i {
  background-image: url(../img/ico_all_w.svg);
}

.works_pager .center i {
  padding: 1.1em 0 0;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  transition: background .2s ease-in;
  background: url(../img/ico_all.svg) no-repeat center top/1.055em;
}

.real_body {
  padding: 10rem 0 8rem;
}

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

@media screen and (min-width: 768px) {
  .real_main {
    width: 79.5rem;
    float: right;
  }
  .real_side {
    float: left;
    width: 20rem;
  }
}

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

.real_side dt {
  font-weight: bold;
  font-size: 1.5rem;
  background: #fff;
  text-align: center;
  border: solid 1px #000;
  position: relative;
  line-height: 2.5;
}

.real_side dt:before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -5rem;
  border-bottom: solid 1px #000;
  width: 8rem;
}

.real_side dd {
  margin-bottom: 2rem;
}

.real_side li {
  font-size: 1.4rem;
}

.real_side li + li {
  border-top: solid 1px #CCCCCC;
}

.real_side li a {
  display: block;
  padding: 1em 0;
}

.real_list {
  margin-bottom: 6rem;
}

.real_list li {
  background: #fff;
  margin-bottom: 3rem;
}

.real_list i {
  font-weight: bold;
  background: #000;
  color: #fff;
  border-radius: 2em;
  padding: .3em 1.5em;
  font-size: 1.3rem;
}

.real_list .ttl {
  font-size: 1.7rem;
  margin: 1em 0 0;
}

.real_list dl {
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  font-weight: bold;
  font-size: 1.4rem;
}

.real_list dl > * {
  width: 4em;
  margin-top: 1.5em;
  border-bottom: solid 1px #DDDDDD;
}

.real_list dl > *:nth-child(2) {
  width: calc(100% - 4em);
}

.real_list dl > *:nth-child(3) {
  width: 3em;
}

.real_list dl > *:nth-child(4) {
  width: calc(100% - 3em);
}

.real_list dl > * span {
  height: 1em;
  display: block;
  position: relative;
  top: -.3em;
  font-size: 2.3rem;
}

.real_list dl > * small {
  font-size: 1.2rem;
}

.real_list dl > * em {
  color: #E6481A;
}

@media screen and (max-width: 767px) {
  .real_list .desc {
    padding: 2rem 2rem 3rem;
  }
}

@media screen and (min-width: 768px) {
  .real_list a {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    align-items: center;
    padding-right: 4.5rem;
  }
  .real_list .img {
    width: 30rem;
  }
  .real_list .desc {
    width: 40rem;
  }
}

.real_deatil .head {
  text-align: center;
}

.real_deatil .head i {
  font-weight: bold;
  background: #000;
  color: #fff;
  border-radius: 2em;
  padding: .3em 1.5em;
  font-size: 1.3rem;
}

.real_deatil .ttl {
  font-size: 2.5rem;
  font-weight: bold;
  margin: 1em 0;
}

.real_deatil .ttl2 {
  font-weight: bold;
  font-size: 2.2rem;
  margin-bottom: 1em;
  border-left: solid .6rem #DEBC00;
  padding-left: 1em;
  line-height: 1.2;
}

.real_deatil .mv {
  margin: 0 auto 5rem;
}

@media screen and (min-width: 768px) {
  .real_deatil .mv {
    width: 60rem;
  }
}

.real_deatil ul {
  display: -webkit-box;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 4rem;
}

.real_deatil ul > * {
  margin-left: 1%;
  width: 15.83333%;
}

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

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

.real_deatil li {
  margin-bottom: 1%;
}

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

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

.real_deatil .frame {
  background: #fff;
  border: solid 1px #EEEEEE;
  padding: 2.5rem 3rem;
  font-size: 1.5rem;
  line-height: 1.75;
  margin-bottom: 4.5rem;
}

.real_deatil table {
  background: #fff;
  border-top: solid 1px #DDDDDD;
  border-right: solid 1px #DDDDDD;
  margin-bottom: 4.5rem;
}

.real_deatil th {
  font-weight: bold;
  text-align: left;
  width: 12em;
}

.real_deatil tr > * {
  border-left: solid 1px #DDDDDD;
  border-bottom: solid 1px #DDDDDD;
  font-size: 1.5rem;
  line-height: 1.66;
  padding: .6em 1em;
}

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

.real_deatil .map {
  position: relative;
  height: 0;
  padding-top: 50rem;
  overflow: hidden;
}

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

@media screen and (max-width: 767px) {
  .real_deatil .map {
    padding-top: 65%;
  }
}

.com_body, .rec_body {
  padding: 8rem 0 14rem;
}

.com_msg {
  margin-bottom: 10rem;
}

.com_msg dt {
  position: relative;
  font-size: 2.8rem;
  margin-bottom: 1em;
}

.com_msg dt:before {
  content: '';
  position: absolute;
  left: -10rem;
  width: 8.8rem;
  border-bottom: solid .3rem #000;
  top: 45%;
}

.com_msg p {
  font-size: 1.5rem;
  line-height: 1.86;
}

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

.com_msg .sign {
  text-align: right;
}

.com_msg .sign em {
  font-weight: bold;
  font-size: 2.8rem;
  margin-left: 1em;
}

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

@media screen and (min-width: 768px) {
  .com_msg {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
  }
  .com_msg .img {
    width: 39.5rem;
  }
  .com_msg .desc {
    width: 65rem;
  }
}

.c_tbl th {
  text-align: left;
  font-weight: bold;
  width: 12em;
}

.c_tbl tr > * {
  border-bottom: solid 1px #111111;
  font-size: 1.5rem;
  padding: .6em 1em;
}

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

.com_info ul {
  display: -webkit-box;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 4rem;
}

.com_info ul > * {
  margin-left: 1.5%;
  width: 18.8%;
}

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

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

.com_info li {
  margin-bottom: 1.5%;
}

.com_info .map {
  margin-top: 5rem;
  position: relative;
  height: 0;
  padding-top: 42rem;
  overflow: hidden;
}

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

@media screen and (max-width: 767px) {
  .com_info .map {
    padding-top: 65%;
  }
}

.rec_msg {
  margin-bottom: 13rem;
}

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

.rec_msg .row {
  padding: 11rem 0;
  position: relative;
  margin-bottom: 10rem;
}

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

.rec_msg .row:before {
  content: '';
  position: absolute;
  background: #fff;
  width: calc(50vw + 42rem);
  left: 13rem;
  height: 100%;
  top: 0;
}

@media screen and (max-width: 767px) {
  .rec_msg .row:before {
    width: 100%;
    left: 10rem;
  }
}

.rec_msg .img {
  position: relative;
}

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

.rec_msg dl {
  position: relative;
}

.rec_msg dt {
  display: inline-block;
  border-bottom: solid 1px #000;
  font-size: 3rem;
  letter-spacing: .2em;
  margin-bottom: 1em;
}

.rec_msg dd {
  font-size: 1.5rem;
  line-height: 1.8;
}

.rec_msg li dt {
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 1.8em;
}

.rec_msg li p {
  margin: 1.1em 0;
  font-weight: bold;
}

.rec_msg li p small {
  display: block;
  font-size: 1.5rem;
}

.rec_msg li p em {
  color: #E6481A;
  font-size: 1.5rem;
  margin-left: 1em;
}

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

@media screen and (min-width: 768px) {
  .rec_msg .row {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
  }
  .rec_msg .img {
    width: 79.5rem;
    margin-left: -29.7rem;
  }
  .rec_msg .desc {
    width: 52.3rem;
  }
  .rec_msg ul {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
  }
  .rec_msg ul > * {
    width: 53.2rem;
  }
}

.error_msg {
  text-align: center;
}

.error_msg dd {
  font-size: 1.6rem;
  line-height: 1.875;
}

.error_msg .btn {
  margin-top: 3rem;
  text-align: center;
}

.error_msg .btn a {
  display: inline-block;
  font-weight: bold;
  color: #EA7937;
}

.error_rec dt {
  color: #EA7937;
  font-weight: bold;
  border-top: solid 2px #EA7937;
  border-bottom: solid 2px #EA7937;
  font-size: 2.9rem;
  padding: .4em 0 .3em;
  margin-bottom: 1.3em;
}

.error_404 {
  padding: 9rem 0 8rem;
  height: auto;
}

.error_404 dt {
  font-weight: bold;
  font-size: 3.8rem;
  line-height: 1.315;
  color: #8B8B8B;
  margin-bottom: 1em;
}

.error_404 dt img {
  display: block;
  margin: 0 auto 1.2em;
  width: 26rem;
}

.pp_body {
  padding: 6rem 0;
}

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

.pp_body .ttl {
  color: #E6481A;
  font-weight: bold;
  font-size: 1.7rem;
  margin-bottom: 1.4em;
}

.pp_body p {
  font-size: 1.5rem;
  line-height: 1.73;
  margin-bottom: 3em;
}

.pp_body .sign {
  text-align: right;
}

.sitemap_body {
  padding: 8rem 0;
}

@media screen and (min-width: 768px) {
  .sitemap_body {
    width: 75rem;
  }
}

.sitemap_body a {
  display: block;
}

.sitemap_body .list {
  border-top: solid 1px #CCCCCC;
}

.sitemap_body .list > li {
  border-bottom: solid 1px #CCCCCC;
  padding: 2rem 0;
}

.sitemap_body .list a {
  font-size: 1.8rem;
  font-weight: bold;
}

.sitemap_body .list li li {
  line-height: 2;
}

.sitemap_body .list li li a {
  font-size: 1.4rem;
  font-weight: normal;
}

@media screen and (max-width: 767px) {
  .sitemap_body .list li ul {
    margin-top: .3em;
    margin-left: 1em;
  }
}

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

.sitemap_body .ttl {
  margin: 5rem 0 3rem;
  background: #F8F6F1;
  padding: .5em 1em;
  color: #EA7937;
  font-size: 2.3rem;
  font-weight: bold;
  border-radius: 1rem;
}

.rec_entry {
  margin: 10rem 0;
}

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

.contact_body {
  padding: 8rem 0 10rem;
}

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

.contact_body ul {
  margin-bottom: 5rem;
}

.contact_body li {
  margin-bottom: 3%;
}

.contact_body .item {
  margin-bottom: 4rem;
}

.contact_body .item a {
  padding: 3.5rem;
  display: block;
  background: #F5F5F5;
}

.contact_body .item a:hover {
  opacity: 1;
}

.contact_body .item a:hover dd + dd {
  background: #fff;
  color: #000;
}

@media screen and (min-width: 768px) {
  .contact_body .item .row {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    padding-right: 15rem;
  }
  .contact_body .item .row .img {
    width: 28rem;
  }
  .contact_body .item .row dl {
    width: 33rem;
  }
}

.contact_body .item dt {
  font-size: 1.4rem;
  font-weight: bold;
  margin: 1em 0 1.4em;
}

.contact_body .item dd {
  font-size: 1.3rem;
}

.contact_body .item dd + dd {
  text-align: center;
  background: #000;
  color: #fff;
  border-radius: 2em;
  font-size: 1.5rem;
  padding: .2em 0;
  margin-top: .7em;
  transition: background .2s ease-in;
  border: solid 1px #000;
}

.contact_body .ttl {
  text-align: center;
  font-weight: bold;
  border-bottom: solid 1px #000;
  font-size: 1.8rem;
  padding-bottom: .2em;
  margin-bottom: 1.5em;
}

.contact_body .frame {
  font-size: 1.5rem;
  margin-bottom: 7rem;
}

.contact_body .frame dl {
  border: solid 1px #CCCCCC;
  padding: 2rem;
  margin-bottom: 1rem;
}

.contact_body .frame dt {
  font-weight: bold;
  margin-bottom: .8em;
}

.contact_body .bnr {
  margin-bottom: 8rem;
}

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

.contact_body .tel {
  margin-bottom: 7rem;
  border: solid 1px #CCCCCC;
  text-align: center;
}

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

.contact_body .tel a {
  display: block;
  padding: 4.5rem 0;
}

.contact_body .tel b {
  display: block;
  font-size: 2.6rem;
  margin-bottom: .8em;
}

.contact_body .tel small {
  display: block;
  font-size: 1.4rem;
}

.contact_body .tel em {
  font-size: 4.3rem;
  font-weight: bold;
  background: url(../img/ico_tel.svg) no-repeat left center/1em;
  padding-left: 1.2em;
}

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

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

.form .mw_wp_form_confirm td {
  min-height: 2em;
}

.form .mw_wp_form_confirm td small {
  display: none;
}

.form .mw_wp_form_confirm table + p {
  display: none;
}

.form .mw_wp_form_confirm .line {
  margin: 4rem 0;
}

.form .mw_wp_form_confirm .line + p {
  display: none;
}

.form .mw_wp_form_confirm .pp {
  display: none;
}

.form .mw_wp_form_confirm .doui {
  display: none;
}

.form .mw_wp_form_confirm .btn {
  margin-top: 5rem;
}

.form p {
  font-size: 1.4rem;
  line-height: 1.78;
  margin-bottom: 5.5rem;
}

.form p em {
  color: #E6481A;
}

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

.form .line {
  border-bottom: solid 1px #000;
  margin-bottom: 4rem;
}

.form th {
  position: relative;
  text-align: left;
  font-weight: bold;
  width: 27rem;
  padding-left: 2.5em;
}

@media screen and (max-width: 767px) {
  .form th {
    padding-bottom: .8em;
  }
}

.form th em, .form th i {
  position: absolute;
  left: 0;
  background: #E6481A;
  color: #fff;
  font-size: .78em;
  padding: 0 .3em;
}

.form th i {
  background: #DEBC29;
}

.form tr > * {
  font-size: 1.4rem;
  vertical-align: top;
}

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

.form td {
  padding-bottom: 3rem;
}

.form td small {
  color: #989898;
}

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

.form td input[readonly] {
  background: #F5F5F5;
  border: solid 1px #CCCCCC;
}

.form td input[type="date"],
.form td select {
  width: 10em;
}

.form td label {
  display: block;
  margin-bottom: 1em;
}

.form td label input {
  margin-right: .8em;
}

.form td textarea {
  height: 10em;
}

.form td.place select {
  width: 100%;
  background: #E6481A;
  color: #fff;
}

.form .pp {
  margin-top: -3rem;
  font-size: 1.3rem;
  background: #F5F5F5;
  border: solid 1px #CCCCCC;
  height: 20rem;
  overflow-y: auto;
  padding: 2rem;
}

.form .pp p {
  margin-bottom: 0;
}

.form .pp .ttl {
  font-size: 2rem;
  margin-bottom: .4em;
}

.form .pp dl {
  margin-top: 3rem;
}

.form .pp dd, .form .pp dt {
  line-height: 1.69;
}

.form .doui {
  text-align: center;
  font-size: 1.4rem;
  font-weight: bold;
  margin: 2.5rem 0;
}

.form .doui input {
  margin-right: .2em;
  vertical-align: middle;
}

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

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

.form .btn input {
  background: #E6481A;
  color: #fff;
  font-weight: bold;
  width: 10.8em;
  line-height: 3;
  font-size: 1.7rem;
  border: solid 1px #E6481A;
  transition: background .2s ease-in;
  margin: 0 1rem 1rem;
}

.form .btn input:hover {
  background: #fff;
  color: #E6481A;
}

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

.form .btn input.back {
  background: #999;
  border: solid 1px #999;
}

.form .btn input.back:hover {
  background: #fff;
  color: #999;
}

/*# sourceMappingURL=style.css.map */

.form .wpcf7-form table th p,
.form .wpcf7-form table td p,
.form .wpcf7-form .doui p {
  margin-bottom: 0;
  font-size: inherit;
}
.form .wpcf7-form table td .wpcf7-list-item {
  margin: 0;
  display: block;
}
div.wpcf7 .wpcf7-spinner {
    display: block;
    margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .form .wpcf7-form table th p,
  .form .wpcf7-form table td p {
    font-size: inherit;
  }
}

/* 0619 */
.inner {
	max-width: 158rem;
	width: 100%;
	margin: 0 auto;
	padding: 0 2rem;
}

.model_wrap {
	overflow: visible;
}

.pc {
	display: block;
}

.sp {
	display: none;
}

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

/* kv */
.model_header.kv {
    position: relative;
}

.model_kv_link {
	position: absolute;
	bottom: 3.7rem;
	left: 20.4rem;
}

.model_kv_link a {
	font-size: 3.1rem;
	font-weight: 700;
	line-height: 1.61;
	letter-spacing: 0.05em;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 22.7rem;
	height: 22.7rem;
	background: #F77337;
	border-radius: 100%;
	color: #fff;
	text-align: center;
	position: relative;
}

.model_kv_link a::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	z-index: 1;
	width: calc(100% + 2.6rem);
	height: calc(100% + 2.6rem);
	border-radius: 100%;
	/* border: 0.7rem dotted #F77337; */
	background: url('../img/kv_border.svg') no-repeat;
	background-size: 100% 100%;
	pointer-events: none;
	animation: rotate 17s linear infinite;
}

@keyframes rotate {
	0% {
		transform: translate(-50%,-50%) rotate(0)
	}
	
	100% {
		transform: translate(-50%,-50%)  rotate(360deg)
	}
}

@media screen and (max-width: 1023px) {
  .model_wrap .model_header {
    height: auto;
    padding-top: 50%;
  }
}

@media screen and (max-width: 767px) {
	/* kv */
	
	/* 0624 */
	.model_kv_link {
		position: absolute;
		bottom: 4rem;
		left: 4rem;
	}
	
	.model_kv_link a {
		font-size: 1.6rem;
		width: 10rem;
		height: 10rem;
	}
	
	.model_wrap .model_header {
    padding-top: 88%;
	}
	
  .model_kv_link a::before {
    width: calc(100% + 1.4rem);
    height: calc(100% + 1.4rem);
  }
}

.model_map {
	padding: 10.5rem 0 13.4rem;
}

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

.model_info .model_map_wrap .ttl {
	font-size: 2.2rem;
	font-weight: bold;
	letter-spacing: 0.05em;
	text-align: center;
	margin-bottom: 4rem;
}

.model_info .map {
	width: 52rem;
	margin-right: 4.5rem;
	padding-top: 29.6rem
}

.model_info .desc {
	width: calc(100% - 56.5rem);
}

.model_info.model_map dl {
    border-top: none;
    font-size: 1.6rem;
	font-weight: 500;
	margin-top: -1.7rem;
	letter-spacing: 0.05em;
}

.model_info.model_map dt, 
.model_info.model_map dd {
	padding: 1.7rem 0;
}


.model_info.model_map dt {
	padding: 1.7rem 1rem;
	font-weight: 700;
	font-size: 1.8rem;
}

.model_info.model_map dd {
    padding-left: 16rem;
}
@media screen and (max-width: 767px) {
	.model_map {
		padding: 2rem 0;
	}
	
	.model_map .inner {
		padding: 0;
	}
	
	.model_info .model_map_wrap .ttl {
		font-size: 1.8rem;
		margin-bottom: 2rem;
	}
	
	.model_info .map {
		width: 100%;
		margin-right: 0;
		padding-top: 70%;
	}
	
	.model_info .desc {
		width: 100%;
	}
	
	.model_info.model_map dl {
	    border-top: solid 1px #707070;
		margin-top: 0;
	}
	
	.model_info.model_map dt, 
	.model_info.model_map dd {
		padding: 0.8rem 0;
	}
	
	
	.model_info.model_map dt {
		padding: 0.8rem 1rem;
		font-size: 1.6rem;
	}
	
	.model_info.model_map dd {
	    padding-left: 6em;
		font-size: 1.6rem;
	}
}




/* 0620 */
/* point */
.anchor {
	position: relative;
}

.anchor_here {
	position: absolute;
	top: 0rem;
	z-index: -1;
}

.model_point {
	margin-top: 18.5rem;
}

.point_wrap {
    display: flex;
    align-items: flex-start;
}

.point_navi {
    width: 42rem;
	margin-right: 11.3rem;
    position: sticky;
    left: 0;
    top: 26rem;
    z-index: 2;
}

.point_nav01 {
	width: 32rem;
	height: 32rem;
	box-shadow: 0 0 1.6rem rgba(0, 0, 0, .16);
	border-radius: 100%;
	position: relative;
	margin-left: 10rem;
}

.point_nav01 .image_nav {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
}

.point_nav01 .image_nav.nav01 {
	top: 0;
	transform: translate(-50%,-50%);
}

.point_nav01 .image_nav.nav02 {
	left: auto;
	right: 0;
	transform: translate(50%,-50%);
}

.point_nav01 .image_nav.nav03 {
	top: auto;
	bottom: 0;
	transform: translate(-50%,50%);
}

.point_nav01 .image_nav.nav04 {
	left: 0;
}

.point_nav01 .image_nav a {
	width: 10.5rem;
	height: 10.5rem;
	box-shadow: 0 0 1.1rem rgba(0, 0, 0, .16);
	background: #fff;
	border-radius: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.point_nav01 .image_nav a.is-active {
	/* transform: scale(1.8); */
	width: 18.2rem;
	height: 18.2rem;
}

.point_nav01 .image_nav a.is-active img {
	width: 13.06rem;
}
.point_nav01 .image_nav img {
	width: 8rem;
}

.point_nav_title {
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 3;
	transform: translate(-50%,-50%);
	font-size: 1.8rem;
	font-weight: 700;
	text-align: center;
	color: #235081;
}

.point_nav02 {
	margin-top: 10rem;
	margin-left: 9rem;
}

.point_nav02 ul li+li {
	margin-top: 1.4rem;
}

.point_nav02 ul a {
	color: #ACBED0;
	font-weight: 700;
	font-size: 1.8rem;
	padding-left: 3rem;
	position: relative;
}

.point_nav02 ul a span {
	position: absolute;
	left: 0;
	z-index: 2;
}

.point_nav02 ul li a.is-active {
	color: #225081;
}

.point_main {
	width: calc(100% - 53.3rem);
}

.point_section+.point_section {
	margin-top: 11rem
}

.point_head {
	color: #235081;
	font-weight: 700;
	font-size: 3rem;
	letter-spacing: 0.05em;
	line-height: 1.3;
	margin-bottom: 4rem;
	font-family: "Roboto", sans-serif;
}


.point_head .note {
	font-size: 1.8rem;
	display: block;
	margin-top: 0.8rem;
	padding-left: 1.5em;
	font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", YuGothic, "ヒラギノ角ゴシック", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Hiragino Sans", "メイリオ", "Meiryo", sans-serif;
}

.point_image {
	margin-bottom: 4rem;
}

.point_image img {
	width: 100%;
}

.point_info .title {
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.55;
	margin-bottom: 2.7rem;
}

.point_info .text {
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.75;
}

.point_info .ua_formula {
	background: #FFF5EF;
	padding: 0.6rem 2.6rem;
	margin-bottom: 3rem;
}

.point_info .text+.text {
	margin-top: 1em;
}

.point_aircondition_slide {
	margin-top: 5rem;
}

.point_aircondition_head {
	font-size: 2.2rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-align: center;
	margin-bottom: 3.7rem;
}

.point_aircondition_head span {
	color: #F77337;
}

.aircondition_wrap {
	padding-bottom: 5rem;
}

.aircondition_wrap .slick-list {
	padding-top: 1.6rem !important;
	padding-bottom: 1.6rem !important;
}

.aircondition_slide {
	width: 46.8rem;
	background: #F8FCFF;
	border-radius: 0.5rem;
	box-shadow: 0 0 1.6rem rgba(0, 0, 0, .16);
	margin: 0 1.5rem;
}

.aircondition_slide .info {
	padding: 2.7rem 3rem;
}

.aircondition_slide .title {
	font-size: 1.8rem;
	color: #235081;
	font-weight: 700;
	padding-bottom: 2.2rem;
	border-bottom: 0.1rem solid #000000;
	line-height: 1.3;
}


.aircondition_slide .text {
	line-height: 1.75;
	font-size: 1.6rem;
	font-weight: 500;
	margin-top: 2.5rem;
}


/*arrow*/
.aircondition_wrap .slick-arrow {
    border: 0;
    text-indent: -9999px;
    cursor: pointer;
}
.aircondition_wrap .slick-arrow:hover{opacity: .7;}
.aircondition_wrap .slick-prev,.aircondition_wrap .slick-next{
    position: absolute;
	left: 50%;
	top: 9rem;
    width: 5rem;
    height: 5rem;
    z-index: 5;
}

.aircondition_wrap .slick-prev {
	margin-left: -24rem;
	transform: translateX(-50%);
	background: url("../img/icon_prev_blue.svg")no-repeat;
	background-size:  100%;
}

.aircondition_wrap .slick-next{
	margin-left: 24rem;
	transform: translateX(-50%);
    background: url("../img/icon_next_blue.svg") no-repeat;
    background-size: 100%;
}

/* dots */
.aircondition_wrap .slick-dotted.slick-slider {
    margin-bottom: 0;
}

.aircondition_wrap .slick-dots {
    position: absolute;
    width: auto;
    left: 50%;
    transform: translate(-50%,100%);
    bottom: 0;
    display: flex;
	justify-content: center;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
}

.aircondition_wrap .slick-dots li {
    position: relative;
    display: inline-block;
    cursor: pointer;
	width: 5.7rem;
	height: 0.3rem;
	display: block;
	margin: 0 0.5rem;
	float: left;
}

.aircondition_wrap .slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;    
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;	
    width: 5.7rem;
    height: 0.3rem;
    padding: 0;
}

.aircondition_wrap .slick-dots li button:before{
    content: '';
    display: block;
    width: 5.7rem;
    height: 0.3rem;
    background: #D6D6D6;
    box-sizing: border-box;
    position: absolute;
    left: 0;
    top: 0;
}

.aircondition_wrap .slick-dots li.slick-active button:before {
    background: #F87337;
}

.model_link {
	max-width: 112rem;
	width: 100%;
	margin: 11.5rem auto 0;
}

.model_link a {
	/*影の基点とするためrelativeを指定*/
	position: relative;
	z-index: 3;
	/*ボタンの形状*/
	text-decoration: none;
	/*アニメーションの指定*/
	transition: all 0.2s ease;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	height: 11.4rem;
	font-size: 4rem;
	letter-spacing: 0.05em;
	line-height: 1.35;
	font-weight: 700;
	border-radius: 5.7rem;
	text-shadow: 0 0 0.6rem rgba(0, 25, 43, .64);
	border: 0.1rem solid #fff;
	background: transparent;
	/* background: linear-gradient(to right, #4EDDFF,#257EF8); */
}

/*hoverをした後のボタンの形状*/
.model_link a:hover {
	border-color: transparent;
	opacity: 1;
}

/*ボタンの中のテキスト*/
.model_link a span {
	position: relative;
	z-index: 2;/*z-indexの数値をあげて文字を背景よりも手前に表示*/
    /*テキストの形状*/
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 11.4rem;
	background: linear-gradient(to right, #4EDDFF,#257EF8);
	
	/* box-shadow: 0 0 1.6rem rgba(0, 0, 0, .16); */
	border-radius: 5.7rem;
	color: #fff;
    /*アニメーションの指定*/
    transition: all 0.3s ease;
	overflow: hidden;
}

/*hoverの際にX軸に-4px・Y軸に4pxずらす*/
.model_link a:hover span {
	background-color: #fff;
	color: #fff;
	transform: translate(-0.4rem, 0.4rem);
}

/*キラッと光る*/
.model_link a span::before {
	content: '';
	/*絶対配置でキラッと光るの位置を決める*/
	position: absolute;
	top: 0;
	left: -75%;
	z-index: -1;
	/*キラッと光る形状*/
	width: 50%;
	height: 100%;
	background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
	transform: skewX(-25deg);
}

/*hoverした際の移動のアニメーション*/
.model_link a span:hover::before {
  animation: shine 1s;
}

@keyframes shine {
  100% {
    left: 125%;
  }
}


.model_link a span::after {
	content: '';
	position: absolute;
	right: 17rem;
	top: 50%;
	z-index: 3;
	transform: translateY(-50%);
	width: 5.5rem;
	height: 5.5rem;
	background: url('../img/icon_link_blue.svg') no-repeat;
	background-size: cover;
}

/*== 左下に押し込まれる（立体が平面に） */

/*影の設定*/
.model_link a:before {
    content: "";
    /*絶対配置で影の位置を決める*/
    position: absolute;
	z-index: -1;
    top: 4px;
    right: 4px;
    /*影の形状*/
    width: 100%;
    height: 100%;
	border-radius: 5.7rem;
    /* background-color: #fff; */
	background-color: #fff;
	box-shadow: 0 0 1.6rem rgba(0, 0, 0, .16);
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
	.anchor_here {
		top: -0;
	}
	
	.model_point {
		margin-top: 0rem;
	}
	
	.point_wrap {
	    display: flex;
		flex-direction: column;
	    align-items: flex-start;
	}
	
	.point_navi {
	    width: 100%;
		margin-right: 0;
	    left: 0;
	    top: 0;
	    z-index: 10;
		display: flex;
		flex-direction: column-reverse;
		justify-content: center;
		align-items: center;
		background: #fff;
		padding: 9rem 0 2rem;
	}
	
	.point_nav01 {
		width: 100%;
		height: auto;
		box-shadow: none;
		border-radius: 0;
		position: relative;
		margin-left: 0;
		margin-top: 1rem;
	}
	
	.point_nav_images {
		display: flex;
		align-items: center;
		justify-content: center;
		/* margin-left: -1.5rem; */
		margin-left: -1.6rem;
	}
	
	.point_nav01 .image_nav {
		position: relative;
		left: auto;
		top: auto;
		transform: translate(0);
		/* margin-left: 1.5rem; */
		/* width: 25%; */
		margin-left: 1.6rem;
	}
	
	.point_nav01 .image_nav.nav01 {
		top: auto;
		transform: translate(0);
	}
	
	.point_nav01 .image_nav.nav02 {
		left: auto;
		right: auto;
		transform: translate(0);
	}
	
	.point_nav01 .image_nav.nav03 {
		top: auto;
		bottom: auto;
		transform: translate(0);
	}
	
	.point_nav01 .image_nav.nav04 {
		left: auto;
	}
	
	.point_nav01 .image_nav a {
		/* width: 6.9rem;
		height: 6.9rem; */
		width: 9rem;
		height: 9rem;
	}
	
	.point_nav01 .image_nav a.is-active {
		transform: scale(1);
		/* width: 9.3rem;
		height: 9.3rem; */
		width: 12rem;
		height: 12rem;
	}
	
	.point_nav01 .image_nav a.is-active img {
		width: 7rem;
	}
	
	.point_nav01 .image_nav img {
		/* width: 4.5rem; */
		width: 5rem;
	}
	
	.point_nav_title {
		position: relative;
		text-align: center;
		left: 0;
		top: 0;
		transform: translate(0);
		font-size: 2.3rem;
		width: 100%;
		text-align: center;
	}
	
	.point_nav02 {
		margin-top: 0;
		margin-left: 0;
	}
	
	.point_nav02 ul {
		margin-top: 1rem;
		text-align: center;
	}
	
	.point_nav02 ul li+li {
		margin-top: 0;
	}
	
	.point_nav02 ul a {
		color: #235081;
		font-size: 1.8rem;
		display: none;
	}
	
	.point_nav02 ul li a.is-active {
	    opacity: 1;
		display: inline-block;
	}
	
	.point_nav02 ul a span {
		top: 0;
	}
	
	.point_main {
		margin-top: 5.3rem;
		width: 100%;
	}
	
	.point_section+.point_section {
		margin-top: 5rem;
	}
	
	.point_head {
		font-size: 2rem;
		margin-bottom: 2.3rem;
		padding-top: 0;
	}
	
	.point_head .note {
		font-size: 1.5rem;
		display: block;
		margin-top: 0.8rem;
		padding-left: 1.5em;
	}
	
	.point_image {
		margin-bottom: 3.9rem;
	}
	
	.point_image img {
		width: 100%;
	}
	
	.point_info .title {
		font-size: 2rem;
		margin-bottom: 5rem;
	}
	
	.point_info .text {
		font-size: 1.8rem;
	}
	
	.point_info .text+.text {
		margin-top: 1em;
	}
	
	.point_info .ua_formula {
	    padding: 0.6rem 1.8rem;
	}
	
	.point_aircondition_slide {
		margin-top: 5rem;
		padding-bottom: 5rem;
	}
	
	.point_aircondition_head {
		font-size: 1.8rem;
		margin-bottom: 3rem;
	}

	.aircondition_wrap .slick-list {
		padding: 1.6rem !important;
		/* overflow: visible; */
	}
	
	.aircondition_slide {
		width: 40rem;
	}
	
	.aircondition_slide .info {
		padding: 1.7rem 2.1rem;
	}
	
	.aircondition_slide .title {
		font-size: 2rem;
		padding-bottom: 1.5rem;
	}
	
	.aircondition_slide .text {
		font-size: 1.7rem;
		margin-top: 1.5rem;
	}
	
	/*arrow*/
	
	.aircondition_wrap .slick-arrow:hover{opacity: 1;}
	.aircondition_wrap .slick-prev,.aircondition_wrap .slick-next{
		top: 10rem;
	    width: 3.9rem;
	    height: 3.9rem;
	}
	
	.aircondition_wrap .slick-prev {
		margin-left: -20rem;
	}
	
	.aircondition_wrap .slick-next{
		margin-left: 20rem;
	}
	
	/* dots */
	
	.aircondition_wrap .slick-dots {
	   width: 100%;
	   display: flex;
	   justify-content: center;
	}
	
	.aircondition_wrap .slick-dots li {
		width: 4.4rem;
		height: 0.23rem;
		float: left;
	}
	
	.aircondition_wrap .slick-dots li button {
	    width: 4.4rem;
	    height: 0.23rem;
	}
	
	.aircondition_wrap .slick-dots li button:before{
	    width: 4.4rem;
	    height: 0.23rem;
	}
	
	.model_link {
		margin: 8rem auto 0;
	}
	
	.model_link a {
		width: 100%;
		height: 9.2rem;
		font-size: 2.6rem;
		border-radius: 5.7rem;
		text-shadow: 0 0 0.6rem rgba(0, 25, 43, .64);
		/* background: linear-gradient(to right, #4EDDFF,#257EF8); */
	}
	
	
	/*ボタンの中のテキスト*/
	.model_link a span {
		width: 100%;
		height: 9.2rem;
	}
	
	/* 0624 */
	.model_link a span::after {
		right: 3rem;
		width: 3.5rem;
		height: 3.5rem;
		background: url('../img/icon_link_blue.svg') center no-repeat;
		background-size: cover;
		margin-left: 6.6rem;
	}
	
	/*キラッと光る*/
	.model_link a span::before {
		content: unset;
	}
	
	/*== 左下に押し込まれる（立体が平面に） */
	
	/*影の設定*/
	.model_link a:before {
	    /* content: unset; */
	}
	
	/*hoverの際にX軸に-4px・Y軸に4pxずらす*/
	.model_link a:hover span {
		background-color: transparent;
		transform: translate(0);
	}
	
}

/* gallery */
.model_gallery_wrap {
	margin-top: 20.5rem;
}

.gallery_section {
	max-width: 112rem;
	width: 100%;
	margin: 0 auto;
	position: relative;
}

.gallery_title {
	font-family: "Roboto", sans-serif;
	font-size: 9.9rem;
	letter-spacing: 0.05em;
	line-height: 11.9rem;
	color: #F77337;
	font-weight: 900;
	position: absolute;
	z-index: 5;
	transform: translateY(-50%);
	top: 0;
	left: 0;
}

.gallery_item .image {
	margin-bottom: 3rem;
	position: relative;
	padding-top: 44.4%;
}

.gallery_item .image img {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.gallery_item .cont {
	display: flex;
	justify-content: flex-end;
}

.gallery_item .info {
	width: calc(100% - 44.5rem);
}

.gallery_item .title {
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.3;
	margin-bottom: 1.7rem;
}

.gallery_item .text {
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.5;
}

/*arrow*/
.gallery_slide .slick-arrow {
    border: 0;
    text-indent: -9999px;
    cursor: pointer;
}

.gallery_slide .slick-arrow:hover{opacity: .7;}
.gallery_slide .slick-prev,.gallery_slide .slick-next{
    position: absolute;
	top: auto;
	left: 0;
	bottom: 0;
    width: 5rem;
    height: 5rem;
    z-index: 5;
}

.gallery_slide .slick-prev {
	left: 0;
	background: url("../img/icon_gallery_prev.svg") bottom no-repeat;
	background-size: 4.8rem 1rem;
}

.gallery_slide .slick-next{
    background: url("../img/icon_gallery_next.svg")  bottom no-repeat;
    background-size: 4.8rem 1rem;
	margin-left: 19.2rem;
}

/* dots */
.gallery_slide .slick-dotted.slick-slider {
    margin-bottom: 0;
}

.gallery_slide .slick-dots {
    position: absolute;
    width: auto;
    left: 0;
	bottom: 8.3rem;
    display: block;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
}

.gallery_slide .slick-dots li {
    position: relative;
    display: inline-block;
    cursor: pointer;
	width: 1rem;
	height: 1rem;
	border-radius: 100%;
	display: block;
	margin: 0 0.5rem;
	float: left;
}

.gallery_slide .slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;    
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;	
    width: 1rem;
    height: 1rem;
	border-radius: 100%;
    padding: 0;
}

.gallery_slide .slick-dots li button:before{
    content: '';
    display: block;
    width: 1rem;
    height: 1rem;
	border-radius: 100%;
    background: #D6D6D6;
    box-sizing: border-box;
    position: absolute;
    left: 0;
    top: 0;
}

.gallery_slide .slick-dots li.slick-active button:before {
    background: #F87337;
}


/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
	/* gallery */
	.model_gallery_wrap {
		margin-top: 10rem;
	}
	
	.gallery_title {
		font-size: 6rem;
		line-height: 5rem;
	}
	
	.gallery_slide {
		padding-bottom: 8rem;
	}
	
	.gallery_item .image {
		margin-bottom: 3rem;
		padding-top: 60%;
	}
	
	.gallery_item .cont {
		display: flex;
		justify-content: flex-end;
	}
	
	.gallery_item .info {
		width: 100%;
	}
	
	/*arrow*/
	
	.gallery_slide .slick-arrow:hover{opacity: 1;}
	.gallery_slide .slick-prev,.gallery_slide .slick-next{
	    width: 3rem;
	    height: 3rem;
	}
	
	.gallery_slide .slick-prev {
		left: 0;
		background: url("../img/icon_gallery_prev.svg") bottom no-repeat;
		background-size: 3rem 1rem;
	}
	
	.gallery_slide .slick-next{
	    background: url("../img/icon_gallery_next.svg")  bottom no-repeat;
	    background-size: 3rem 1rem;
		margin-left: 10rem;
	}
	
	/* dots */
	.gallery_slide .slick-dots {
		bottom: 3rem;
	}
	
}

/* 過去のマッハシステムモデルハウス動画 */
.model_movie_wrap {
	margin-top: 10.6rem;
}

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

.model_movie_section .title {
	font-size: 2.2rem;
	line-height: 1.3rem;
	letter-spacing: 0.05em;
	font-weight: 700;
	margin-bottom: 3.7rem;
	text-align: center;
}

.movie_area {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 4rem;
}

.movie_item .movie {
	margin-bottom: 0.8rem;
	position: relative;
	padding-top: 55.55%;
}

.movie_item .movie iframe {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.movie_item p {
	font-size: 1.4rem;
	margin-top: 0.6rem;
	font-weight: 700;
}
/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
	/* 過去のマッハシステムモデルハウス動画 */
	.model_movie_wrap {
		margin-top: 8rem;
	}
	.movie_area {
		display: block;
	}
	
	.movie_item + .movie_item {
		margin-top: 3rem;
	}
}

/* banner */
.model_banner {
	margin-top: 14rem;
	padding-top: 13rem;
}

.model_banner_wrap {
	display: flex;
	max-width: 112rem;
	width: 100%;
	margin: 0 auto;
}

.model_banner_wrap .title {
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.87;
	margin-right: 13rem;
}

.model_banner_wrap .text {
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.5;
}

.model_banner_wrap .text+.text {
	margin-top: 1em;
}

.model_banner_ul {
	display: flex;
	margin-top: 9.5rem;
}

.model_banner_ul li {
	width: 33.33%;
}

.model_banner_ul li p {
	margin-bottom: 0.8rem;
	position: relative;
	padding-top: 53.9%;
}

.model_banner_ul li p img {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.model_banner .model_link {
	padding: 0 2rem;
}
/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
	.model_banner {
		margin-top: 10rem;
		padding-top: 8rem;
	}
	
	.model_banner_wrap {
		display: block;
	}
	
	.model_banner_wrap .title {
		margin-right: 0;
	}
	
	.model_banner_wrap .text {
		margin-top: 4rem;
		font-size: 1.7rem;
	}
	
	.model_banner_wrap .text+.text {
		margin-top: 1em;
	}
	
	.model_banner_ul {
		margin-top: 5rem;
	} 
	
	.model_banner_ul li p {
		padding-top: 66%;
	}
}

/* works */
.model_works {
	padding: 5rem 0 2rem;
}

.newyearinfo {
	text-align: center;
	color: #E6481A;
}
@media screen and (max-width: 767px) {
	.newyearinfo {
		text-align: left;
	}
	.newyearinfo br {
		display: none;
	}
}

/* ===== 2025.06.25 追記：建築へのこだわり 長期優良住宅・ZEH文章表示調整用 ===== */

.page-committed-text {
  text-align: center;
  line-height: 1.8;
  font-size: 1.6rem;
  max-width: 800px;
  margin: 0 auto;
  padding: 2em 1em;
}

.page-committed-text p {
  margin-bottom: 1.5em;
}

@media screen and (max-width: 768px) {
  .page-committed-text {
    font-size: 1rem;
    line-height: 1.9;
    padding: 1.5em 1em;
  }

  .page-committed-text p {
    margin-bottom: 1.2em;
  }
}