/* reset */
*, *::before, *::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  outline: none;
}

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
  position:relative;
}
article {
  margin-top:-95px;
  padding-bottom:150px;
}
nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

input, button, select, textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=checkbox], input[type=radio] {
  display: none;
}

input[type=submit], input[type=button], label, button, select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

/* set */
html, body {
  width: 100%;
}

html {
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 62.5%;
}

body {
  position: relative;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  line-height: 1.6;
  font-size: 16px;
  color: #262626;
  height: 100%;
  background-color: #fff;
  -webkit-text-size-adjust: 100%;
  padding: 0;
  overflow-x:clip;
}

.kakugo {
  font-family: "Zen Kaku Gothic New", sans-serif;
}

*:focus {
  outline: none !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}

a {
  text-decoration: none;
  color: #262626;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
a:hover {
  opacity: 0.7;
}
a img {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
a:hover img {
  opacity: 0.7;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

li {
  list-style-type: none;
}

img {
  width: 100%;
  height: auto;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

select {
  vertical-align: middle;
}

p {
  margin-bottom: 0;
}

.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

.align {
	text-align:center!important;
}
.align_left {
	text-align:left!important;
}
.align_right {
	text-align:right!important;
}

.mb0 {margin-bottom:0px!important;}
.mb10 {margin-bottom:10px!important;}
.mb15 {margin-bottom:15px!important;}
.mb20 {margin-bottom:20px!important;}
.mb30 {margin-bottom:30px!important;}
.mb40 {margin-bottom:40px!important;}
.mb50 {margin-bottom:50px!important;}
.mb70 {margin-bottom:70px!important;}
.mb80 {margin-bottom:80px!important;}
.mb100 {margin-bottom:100px!important;}
.mb200 {margin-bottom:200px!important;}
.pb30 {padding-bottom:30px!important;}
.pt30 {padding-top:30px!important;}
.pt50 {padding-top:50px!important;}
.mt10 {margin-top:10px!important;}
.mt30 {margin-top:30px!important;}
.mt60 {margin-top:60px!important;}

h1 {
  font-size:48px;
  font-weight: bold;
  line-height: 1.2;
}
h1 span {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size:14px;
  font-weight: bold;
  color: #E62324;
}

.main_title {
  position: relative;
}
.main_title h1 {
  line-height: 0.1;
}
.main_title h1 span {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size:160px;
  font-weight: bold;
  color: #F5F7F7;
}
.main_title p.img {
  margin-top:80px;
}

@media screen and (max-width: 768px) {

  article {
    margin-top:-75px;
    padding-bottom:150px;
  }
  h1 {
    text-align: center;
    font-size:28px;
    line-height: 1.2;
    margin-bottom:80px;
  }
  h1 span {
    font-size:12px;
  }
  .main_title h1 {
    text-align: center;
    font-size:28px;
    line-height: 1.2;
    margin-bottom:0px;
  }
  .main_title h1 span {
    font-size:12px;
    color: #E62324;
  }
  .main_title p.img {
    margin-top:30px;
  }

}

/*
------------------------------------------------------------------------------------------------------------------------
parts
------------------------------------------------------------------------------------------------------------------------
*/
.in {
  display: none;
}

.btn {
  position:relative;
  width:100%;
  max-width:300px;
  color:#E62324;
  font-size:18px;
  font-weight: 600;
  line-height: 1.3;
  border:2px solid  #E62324;
  border-radius: 50px;
  transition: 0.3s;
  display: inline-block;
  padding:15px 40px;
}
.btn::after {
  position:absolute;
  content: '';
  width:8px;
  height:9px;
  top:50%;
  right:20px;
  background-image: url('../img/common/arrow_r.svg');
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
  transform: translateY(-50%);
  transition: 0.3s;
}
.btn:hover {
  color:#fff;
  background-color:#E62324;
  transition: 0.3s;
}
.btn:hover::after {
  background-image: url('../img/common/arrow.svg');
  right:10px;
}

.btn_red {
  position:relative;
  width:100%;
  max-width:300px;
  color:#fff;
  background-color: #E62324;
  font-size:18px;
  font-weight: 600;
  line-height: 1.3;
  border:2px solid  #E62324;
  border-radius: 50px;
  transition: 0.3s;
  display: inline-block;
  padding:15px 40px;
}
.btn_red::after {
  position:absolute;
  content: '';
  width:8px;
  height:9px;
  top:50%;
  right:20px;
  background-image: url('../img/common/arrow.svg');
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
  transform: translateY(-50%);
  transition: 0.3s;
}
.btn_red:hover {
  color:#E62324;
  background-color:#fff;
  transition: 0.3s;
}
.btn_red:hover::after {
  background-image: url('../img/common/arrow_r.svg');
  right:10px;
}


.btn_contact {
  position:relative;
  width:300px;
  color:#fff;
  font-size:18px;
  font-weight: 600;
  line-height: 1.3;
  background-color: #E62324;
  border-radius: 11px;
  transition: 0.3s;
  display: inline-block;
  padding:15px 40px;
}
.btn_contact:hover {
  color:#fff;
}
.btn_contact::after {
  position:absolute;
  content: '';
  width:8px;
  height:9px;
  top:50%;
  right:20px;
  background-image: url('../img/common/arrow.svg');
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
  transform: translateY(-50%);
  transition: 0.3s;
}
.btn_contact:hover::after {
  right:10px;
}

.btnr {
  position:relative;
  width:100%;
  max-width:300px;
  color:#fff;
  font-size:18px;
  font-weight: 600;
  line-height: 1.3;
  background-color: #E62324;
  border:2px solid  #E62324;
  border-radius: 50px;
  transition: 0.3s;
  display: inline-block;
  padding:15px 40px;
}
.btnr::after {
  position:absolute;
  content: '';
  width:24px;
  height:24px;
  top:50%;
  right:20px;
  background-image: url('../img/common/plus.svg');
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
  transform: translateY(-50%);
  transition: 0.3s;
}
.btnr:hover {
  color:#E62324;
  background-color:#fff;
  transition: 0.3s;
}
.btnr:hover::after {
  background-image: url('../img/common/plus_r.svg');
}

.wrapl {
  width:90%;
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
}
.wrap {
  width:90%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
.wrapm {
  width:90%;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}
.wraps {
  width:90%;
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
}
.wrapf {
  width:100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}



@media screen and (max-width: 768px) {

  .in {
    display: block;
  }
  br.in {
    display: inline-block;
  }
  .out {
    display: none;
  }
  .btn {
    margin-right:auto;
    margin-left:auto;
  }
  .btng {
    margin-right:auto;
    margin-left:auto;
  }
  
}

@media screen and (min-width: 768px) {
	a[href^="tel:"] {
			pointer-events: none;
	}
}


/*
------------------------------------------------------------------------------------------------------------------------
page navi
------------------------------------------------------------------------------------------------------------------------
*/

.wp-pagenavi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
      margin-top:80px;
}
.wp-pagenavi .pages, .wp-pagenavi .last, .wp-pagenavi .first {
  display: none;
}
.wp-pagenavi .current, .wp-pagenavi .page, .wp-pagenavi .nextpostslink, .wp-pagenavi .prevpostslink {
  width: 40px;
  height: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 2rem;
  font-weight: 700;
  margin: 0 8px;
}
.wp-pagenavi .current {
  border:1px solid #E62324;
  background: #fff;
  color: #E62324;
}
.wp-pagenavi .page {
  color: #fff;
  background: #E62324;
}
@media (hover: hover) and (pointer: fine) {
  .wp-pagenavi .page:hover {
    border:1px solid #E62324;
    background: #fff;
    color: #E62324;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .wp-pagenavi .page:hover {
    background: #f9f3c1;
    color: #E62324;
  }
}
.wp-pagenavi .nextpostslink, .wp-pagenavi .prevpostslink {
  position: relative;
  font-size: 0;
}
.wp-pagenavi .nextpostslink:before, .wp-pagenavi .prevpostslink:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 10px;
  height: 10px;
  border-top: 2px solid #E62324;
  border-right: 2px solid #E62324;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  margin: auto;
}
.wp-pagenavi .prevpostslink:before {
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}
.wp-pagenavi .extend {
  margin-left: 10px;
}


/*
------------------------------------------------------------------------------------------------------------------------
header
------------------------------------------------------------------------------------------------------------------------
*/

p.contact_tel {
  position:relative;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size:43px;
  font-weight: bold;
  line-height: 0.5;
  padding-left:65px;
}
p.contact_tel a {
  color: #393939;
}
p.contact_tel span {
  font-size:13px;
}
p.contact_tel::before {
  position: absolute;
  top:50%;
  left:0;
  transform: translateY(-50%);
  content: "";
  display: inline-block;
  width: 54px;
  height: 54px;
  background-image: url('../img/common/h_tel.svg');
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
}

.pnkz_box {
  position:absolute;
  top:130px;
  left:50%;
  width:90%;
  max-width:1200px;
  transform: translateX(-50%);
}
.pnkz {
  margin-bottom: 30px;
}
.pnkz ol {
  display: flex;
  flex-wrap: wrap;
}
.pnkz li {
  display: inline-block;
  padding: 0 20px 0 0;
  background: url(../img/common/pnkz.svg) no-repeat;
  background-size: 4px 7.5px;
  background-position: right center;
  margin-right: 9px;
}
.pnkz li a {
  display: block;
}
.pnkz li:last-child {
  margin-right: 0;
  background: none;
}

header{
  display: flex;
  justify-content: space-between;
  width:calc(100% - 50px);
  margin: 25px auto 0 auto;
  height:70px;
}
.h_logo {
  position:relative;
  z-index:9997;
}
.h_logo a {
  display:flex;
  flex-wrap: nowrap;
  align-items: center;
  position:relative;
  font-size:21px;
  font-weight: bold;
  line-height: 1.3;
}
.h_logo a img {
  width:53px;
}
.h_logo a p:first-child {
  margin-right:7px;
}
.h_logo a strong {
  font-size:28px;
}

/* ハンバーガーメニュー */
#toggle {
  display:block;
  position:fixed;
  top:25px;
  right:25px;
  width:36px;
  height:36px;
  color: #262626;
  cursor: pointer;
  z-index:9999;
}

.menu-trigger,
.menu-trigger span {
  transition: all .4s;
  box-sizing: border-box;
}
.menu-trigger {
  position: relative;
  width: 36px;
  height: 36px;
}
.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: #262626;
  border-radius: 1px;
}
.menu-trigger span:nth-of-type(1) {
  top: 0;
}
.menu-trigger span:nth-of-type(2) {
  top: 12px;
}
.menu-trigger span:nth-of-type(3) {
  top: 24px;
}
.menu-trigger p {
  position: absolute;
  font-size:13.5px;
  top: 27px;
}
.menu-trigger span:nth-of-type(2)::after {
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 3px;
  background-color: #262626;
  border-radius: 1px;
  transition: all .4s;
}
.menu-trigger.active {
  margin-top:0px;
  width: 40px;
  height: 40px;
}
.menu-trigger.active span:nth-of-type(1) {
  transform: translateY(20px) scale(0);
}
.menu-trigger.active span:nth-of-type(2) {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2)::after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}
.menu-trigger.active span:nth-of-type(3) {
  transform: translateY(-20px) scale(0);
}

nav.spNavi {
  position: fixed;
  top:0;
  left:0;
  width:100%;
  height:100vh;
  z-index: 9998;
  background-image: linear-gradient(90deg, #A4D4D3, #E1EBC5);
  display: none;
}

nav.spNavi .h_logo {
  padding:25px 0 0 25px;
  position:relative;
  z-index:10001;
}
nav.spNavi .h_logo a {
  display:flex;
  flex-wrap: nowrap;
  align-items: center;
  position:relative;
  font-size:21px;
  font-weight: bold;
  line-height: 1.3;
}
nav.spNavi .h_logo a img {
  width:53px;
}
nav.spNavi .h_logo a p:first-child {
  margin-right:7px;
}
nav.spNavi .h_logo a strong {
  font-size:28px;
}

nav.spNavi .inner {
  position: relative;
  width:100%;
  height:100vh;
  margin:0 auto;
  background-color: rgba(255,255,255,0.7);
}
nav.spNavi .spNavi_flex {
  position:absolute;
  top:50%;
  left:50%;
  transform: translate(-50%,-50%);
  display: flex;
  justify-content: space-between;
}
nav.spNavi .spNavi_flex .spNavi_left {
  width:32%;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}
nav.spNavi .spNavi_flex .spNavi_left p.spNavi_name {
  font-size:40px;
  font-weight: bold;
}
nav.spNavi .spNavi_flex .spNavi_left div.spNavi_contact p.contact_btn {
  margin-top:30px;
}

nav.spNavi .spNavi_flex .spNavi_right {
  width:65%;
}
nav.spNavi .spNavi_flex .spNavi_right ul {
  width:100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
nav.spNavi .spNavi_flex .spNavi_right ul li {
  width:47%;
}
nav.spNavi .spNavi_flex .spNavi_right ul li.sub {
  width:31%;
}
nav.spNavi .spNavi_flex .spNavi_right ul li:nth-child(-n+4) {
  margin-bottom:70px;
}
nav.spNavi .spNavi_flex .spNavi_right ul li a.btn_head {
  position:relative;
  font-size:21px;
  font-weight: bold;
  color: #262626;
  line-height: 1.4;
  display: flex;
  align-items: center;
}
nav.spNavi .spNavi_flex .spNavi_right ul li a.btn_head p + p{
  margin-left:20px;
  padding-bottom:10px;
}
nav.spNavi .spNavi_flex .spNavi_right ul li a.btn_head span {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size:16px;
  color: #E62324;
}
nav.spNavi .spNavi_flex .spNavi_right ul li a.btn_head::after {
  position:absolute;
  content: '';
  background-color: #E62324;
  background-image: url('../img/common/arrow.svg');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 8.5px 9.5px;
  border-radius: 50%;
  width:44px;
  height:44px;
  top:50%;
  right:10px;
  transform: translateY(-50%);
  transition: 0.3s;
}
nav.spNavi .spNavi_flex .spNavi_right ul li a.btn_head:hover::after {
  right:0px;
}
nav.spNavi .spNavi_flex .spNavi_right ul li a.hbt01 p:first-child {
  width: 124px;
}
nav.spNavi .spNavi_flex .spNavi_right ul li a.hbt02 p:first-child {
  width: 75px;
}
nav.spNavi .spNavi_flex .spNavi_right ul li a.hbt03 p:first-child {
  width: 124px;
}
nav.spNavi .spNavi_flex .spNavi_right ul li a.hbt04 p:first-child {
  width: 75px;
}

nav.spNavi .spNavi_flex .spNavi_right ul li a.btn_head_bottom {
  position:relative;
  width:100%;
  color:#E62324;
  font-size:18px;
  font-weight: 600;
  line-height: 1.3;
  border:2px solid  #E62324;
  border-radius: 50px;
  transition: 0.3s;
  display: inline-block;
  padding:15px 40px;
}
nav.spNavi .spNavi_flex .spNavi_right ul li a.btn_head_bottom::after {
  position:absolute;
  content: '';
  width:8px;
  height:9px;
  top:50%;
  right:20px;
  background-image: url('../img/common/arrow_r.svg');
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
  transform: translateY(-50%);
  transition: 0.3s;
}
nav.spNavi .spNavi_flex .spNavi_right ul li a.btn_head_bottom:hover {
  color:#fff;
  background-color:#E62324;
  transition: 0.3s;
}
nav.spNavi .spNavi_flex .spNavi_right ul li a.btn_head_bottom:hover::after {
  background-image: url('../img/common/arrow.svg');
  right:10px;
}
nav.spNavi .spNavi_flex .spNavi_right ul li a.btn_head_bottom2 {
  position:relative;
  width:100%;
  color:#E62324;
  font-size:18px;
  font-weight: 600;
  line-height: 1.3;
  transition: 0.3s;
  display: inline-block;
  padding:15px 40px;
}
nav.spNavi .spNavi_flex .spNavi_right ul li a.btn_head_bottom2::after {
  position:absolute;
  content: '';
  width:8px;
  height:9px;
  top:50%;
  right:20px;
  background-image: url('../img/common/arrow_r.svg');
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
  transform: translateY(-50%);
  transition: 0.3s;
}
nav.spNavi .spNavi_flex .spNavi_right ul li a.btn_head_bottom2:hover {
  opacity: 0.7;
}



@media screen and (max-width: 1200px) {

  header{
    display: flex;
    margin: 15px auto 0 auto;
    height:60px;
  }
  .h_logo a {
    display:flex;
    flex-wrap: nowrap;
    align-items: center;
    position:relative;
    font-size:14px;
    font-weight: bold;
    line-height: 1.3;
  }
  .h_logo a img {
    width:42px;
  }
  .h_logo a strong {
    font-size:18px;
  }
  nav.spNavi {
    background-image: linear-gradient(90deg, #A4D4D3, #E1EBC5);
  }
  nav.spNavi .h_logo {
    padding:15px 0 0 25px;
  }
  nav.spNavi .h_logo a {
    display:flex;
    flex-wrap: nowrap;
    align-items: center;
    position:relative;
    font-size:14px;
    font-weight: bold;
    line-height: 1.3;
  }
  nav.spNavi .h_logo a img {
    width:42px;
  }
  nav.spNavi .h_logo a strong {
    font-size:18px;
  }
  nav.spNavi .spNavi_flex {
    position:absolute;
    top:120px;
    left:50%;
    transform: translate(-50%,0);
    display: flex;
    justify-content: space-between;
    flex-direction: column-reverse;
  }
  nav.spNavi .spNavi_flex .spNavi_left {
    width:100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    margin-top:50px;
  }
  nav.spNavi .spNavi_flex .spNavi_left p.spNavi_name {
    display: none;
  }
  nav.spNavi .spNavi_flex .spNavi_left div.spNavi_contact {
    display: flex;
  }
  nav.spNavi .spNavi_flex .spNavi_left div.spNavi_contact p.contact_btn {
    margin-top:0px;
  }
  nav.spNavi .spNavi_flex .spNavi_left div.spNavi_contact p {
    margin:0 20px;
  }

  nav.spNavi .spNavi_flex .spNavi_right {
    width:100%;
  }
  nav.spNavi .spNavi_flex .spNavi_right ul {
    width:100%;
    max-width:720px;
    margin: auto;
  }

}

@media screen and (max-width: 768px) {

  nav.spNavi {
    background-image: linear-gradient(0deg, #A4D4D3, #E1EBC5);
  }
  nav.spNavi .inner {
    overflow-y: auto;
  }
  nav.spNavi .spNavi_flex {
    top:120px;
    padding-bottom:50px;
  }
  nav.spNavi .spNavi_flex .spNavi_left {
    flex-direction: row;
    margin-top:40px;
  }
  nav.spNavi .spNavi_flex .spNavi_left div.spNavi_contact {
    display: flex;
    flex-direction: column;
  }
  nav.spNavi .spNavi_flex .spNavi_left div.spNavi_contact p.contact_btn {
    margin-top:30px;
  }
  nav.spNavi .spNavi_flex .spNavi_left div.spNavi_contact p {
    margin:0 0px;
  }
  nav.spNavi .spNavi_flex .spNavi_right ul {
    width:100%;
    max-width:320px;
    margin: auto;
  }
  nav.spNavi .spNavi_flex .spNavi_right ul li {
    width:100%;
    margin-bottom:20px;
  }
  nav.spNavi .spNavi_flex .spNavi_right ul li.sub {
    width:100%;
  }
  nav.spNavi .spNavi_flex .spNavi_right ul li:nth-child(-n+4) {
    margin-bottom:20px;
  }
  nav.spNavi .spNavi_flex .spNavi_right ul li a.btn_head {
    font-size:20px;
  }
  nav.spNavi .spNavi_flex .spNavi_right ul li a.btn_head p:first-child{
    text-align: center;
  }
  nav.spNavi .spNavi_flex .spNavi_right ul li a.btn_head p img{
    width:auto;
    height: 56px;
  }
  nav.spNavi .spNavi_flex .spNavi_right ul li a.btn_head p + p{
    margin-left:16px;
    padding-bottom:10px;
  }
  nav.spNavi .spNavi_flex .spNavi_right ul li a.btn_head span {
    font-size:13px;
  }
  nav.spNavi .spNavi_flex .spNavi_right ul li a.btn_head::after {
    background-size: 7px 8px;
    width:36px;
    height:36px;
  }
  nav.spNavi .spNavi_flex .spNavi_right ul li a.btn_head:hover::after {
    right:0px;
  }
  nav.spNavi .spNavi_flex .spNavi_right ul li a.hbt01 p:first-child {
    width: 92px;
  }
  nav.spNavi .spNavi_flex .spNavi_right ul li a.hbt02 p:first-child {
    width: 92px;
  }
  nav.spNavi .spNavi_flex .spNavi_right ul li a.hbt03 p:first-child {
    width: 92px;
  }
  nav.spNavi .spNavi_flex .spNavi_right ul li a.hbt04 p:first-child {
    width: 92px;
  }

  nav.spNavi .spNavi_flex .spNavi_right ul li a.btn_head_bottom {
    position:relative;
    width:100%;
    color:#E62324;
    font-size:18px;
    font-weight: 600;
    line-height: 1.3;
    border:2px solid  #E62324;
    border-radius: 50px;
    transition: 0.3s;
    display: inline-block;
    padding:15px 40px;
  }
  nav.spNavi .spNavi_flex .spNavi_right ul li a.btn_head_bottom::after {
    position:absolute;
    content: '';
    width:8px;
    height:9px;
    top:50%;
    right:20px;
    background-image: url('../img/common/arrow_r.svg');
    background-repeat: no-repeat;
    background-position: left center;
    background-size: contain;
    transform: translateY(-50%);
    transition: 0.3s;
  }
  nav.spNavi .spNavi_flex .spNavi_right ul li a.btn_head_bottom:hover {
    color:#fff;
    background-color:#E62324;
    transition: 0.3s;
  }
  nav.spNavi .spNavi_flex .spNavi_right ul li a.btn_head_bottom:hover::after {
    background-image: url('../img/common/arrow.svg');
    right:10px;
  }

}

/*
------------------------------------------------------------------------------------------------------------------------
footer
------------------------------------------------------------------------------------------------------------------------
*/

div.toTop {
  position:fixed;
  bottom:60px;
  right:30px;
  border-radius: 10px;
  cursor: pointer;
  z-index: 1001;
}

div.toTop a {
  position: relative;
  width:50px;
  height:50px;
  transition: 0.3s;
}
div.toTop a img {
  transform: rotate(-90deg);
}

footer {
  margin-top:-150px;
  margin-bottom:0;
  position:relative;
  background: linear-gradient(180deg, transparent 150px, transparent 150px, #AA9A89 150px, #AA9A89 100%);
  overflow: hidden;
}
footer a {
  color: #fff;
}
footer div.foot_top {
  position: relative;
  z-index: 2;
}
footer div.foot_top .foot_top_inner {
  position: relative;
  background-color: #F4F2EF;
  padding-top:70px;
  border-top-left-radius: 40px;
  border-top-right-radius: 40px;
  text-align: center;
  bottom:-50px;
}
footer div.foot_top .foot_top_inner p.ttl {
  font-size:58px;
  font-weight: bold;
  line-height: 1.5;
}

footer .foot_middle_inner {
  background-color: #F4F2EF;
  padding:110px 0 70px 0;
  border-bottom-left-radius: 40px;
  border-bottom-right-radius: 40px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
footer .foot_middle_inner p.contact_tel {
  margin-right:40px;
}
footer .foot_middle_inner p.contact_btn {
  padding-left:40px;
  border-left:1px solid #262626;
}

footer div.foot_bottom {
  position: relative;
  padding-top:70px;
  font-family: 'Noto Sans JP', sans-serif;
}
footer div.foot_bottom .foot_bottom_inner {
  position:relative;
  z-index: 20;
  color: #fff;
}

footer div.foot_bottom .foot_bottom_inner .nav_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
footer div.foot_bottom .foot_bottom_inner .nav_box .nav_left {
  width:40%;
}
footer div.foot_bottom .foot_bottom_inner .nav_box .nav_left p + p {
  margin-top:40px;
}
footer div.foot_bottom .foot_bottom_inner .nav_box .nav_left p.logo img {
  max-width:230px;
}
footer div.foot_bottom .foot_bottom_inner .nav_box .nav_right {
  width:60%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  flex-direction: column;
}
footer div.foot_bottom .foot_bottom_inner .nav_box .nav_right .nav_right01 ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}
footer div.foot_bottom .foot_bottom_inner .nav_box .nav_right .nav_right01 ul li {
  padding-left:30px;
}
footer div.foot_bottom .foot_bottom_inner .nav_box .nav_right .nav_right02 {
  text-align: right;
  margin: 30px 0;
}
footer div.foot_bottom .foot_bottom_inner .nav_box .nav_right .copyright {
  text-align: right;
  font-size:12px;
  font-weight: 200;
}



.c-text {
  overflow: hidden;
  display: flex;
  width: 100vw;
  margin-inline: calc(50% - 50vw)
}

.c-text__item {
  flex-shrink: 0;
  white-space: nowrap;
  font-family: "Barlow", sans-serif;
  font-size:162px;
  font-weight: bold;
  line-height: 1;
  padding-inline: .1em;
  color: rgba(112,112,112,0.36);
}

.c-text:not(.no-tick) .c-text__item:nth-child(odd) {
  -webkit-animation: MoveLeft var(--tick-duration, 36s) var(--tick-delay, -18s) infinite linear;
  animation: MoveLeft var(--tick-duration, 36s) var(--tick-delay, -18s) infinite linear;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both
}

.c-text--reverse:not(.no-tick) .c-text__item:nth-child(odd) {
  -webkit-animation: MoveLeft var(--tick-duration, 36s) var(--tick-delay, -18s) infinite linear reverse;
  animation: MoveLeft var(--tick-duration, 36s) var(--tick-delay, -18s) infinite linear reverse;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both
}

.c-text:not(.no-tick) .c-text__item:nth-child(even) {
  -webkit-animation: MoveLeft2 var(--tick-duration, 36s) infinite linear;
  animation: MoveLeft2 var(--tick-duration, 36s) infinite linear;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both
}

.c-text--reverse:not(.no-tick) .c-text__item:nth-child(even) {
  -webkit-animation: MoveLeft2 var(--tick-duration, 36s) infinite linear reverse;
  animation: MoveLeft2 var(--tick-duration, 36s) infinite linear reverse;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both
}

@-webkit-keyframes MoveLeft {
  0% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%)
  }

  to {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%)
  }
}

@keyframes MoveLeft {
  0% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%)
  }

  to {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%)
  }
}

@-webkit-keyframes MoveLeft2 {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0)
  }

  to {
    -webkit-transform: translateX(-200%);
    transform: translateX(-200%)
  }
}

@keyframes MoveLeft2 {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0)
  }

  to {
    -webkit-transform: translateX(-200%);
    transform: translateX(-200%)
  }
}


@media screen and (max-width: 768px) {

  div.toTop {
    bottom:60px;
    right:20px;
  }

  div.toTop a {
    width:40px;
    height:40px;
  }

  footer div.foot_top .foot_top_inner {
    position: relative;
    background-color: #F4F2EF;
    padding-top:40px;
    border-top-left-radius: 40px;
    border-top-right-radius: 40px;
    text-align: center;
    bottom:-50px;
  }
  footer div.foot_top .foot_top_inner p.ttl {
    font-size:32px;
    font-weight: bold;
    line-height: 1.5;
  }
  footer div.foot_top .foot_top_inner p.sub {
    font-size:13px;
  }

  footer .foot_middle_inner {
    padding:100px 0 40px 0;
    border-bottom-left-radius: 40px;
    border-bottom-right-radius: 40px;
    flex-direction: column;
  }
  footer .foot_middle_inner p.contact_tel {
    margin-right:0px;
  }
  footer .foot_middle_inner p.contact_btn {
    padding-left:0px;
    border-left:none;
    margin-top:30px;
  }

  footer div.foot_bottom {
    position: relative;
    padding-top:70px;
    font-family: 'Noto Sans JP', sans-serif;
  }
  footer div.foot_bottom .foot_bottom_inner {
    position:relative;
    z-index: 20;
    color: #fff;
  }

  footer div.foot_bottom .foot_bottom_inner .nav_box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  footer div.foot_bottom .foot_bottom_inner .nav_box .nav_left {
    width:100%;
  }
  footer div.foot_bottom .foot_bottom_inner .nav_box .nav_left p + p {
    margin-top:40px;
  }
  footer div.foot_bottom .foot_bottom_inner .nav_box .nav_right {
    width:100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    flex-direction: column;
    margin-top:40px;
  }
  footer div.foot_bottom .foot_bottom_inner .nav_box .nav_right .nav_right01 ul {
    justify-content: flex-start;
  }
  footer div.foot_bottom .foot_bottom_inner .nav_box .nav_right .nav_right01 ul li {
    padding-left:0px;
    width:100%;
  }
  footer div.foot_bottom .foot_bottom_inner .nav_box .nav_right .nav_right01 ul li + li {
    margin-top:15px;
  }
  footer div.foot_bottom .foot_bottom_inner .nav_box .nav_right .nav_right02 {
    text-align: left;
    margin: 50px 0 15px 0;
  }
  footer div.foot_bottom .foot_bottom_inner .nav_box .nav_right .copyright {
    text-align: left;
  }

  footer div.foot_bottom .marquee {
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    position: relative;
    margin-top:50px;
  }
  footer div.foot_bottom .marquee-content {
    font-family: "Barlow", sans-serif;
    font-size:162px;
    font-weight: bold;
    line-height: 1;
    color: rgba(112,112,112,0.36);
    display: flex;
    gap: 30px;
    animation: marquee-loop 10s linear infinite;
  }

  footer div.foot_bottom .marquee {
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    position: relative;
    margin-top:50px;
  }
  footer div.foot_bottom .marquee-content {
    font-size:40px;
    gap: 20px;
    animation: marquee-loop 6s linear infinite;
  }

}


/*
------------------------------------------------------------------------------------------------------------------------
top
------------------------------------------------------------------------------------------------------------------------
*/


#top div.mv {
  position:relative;
  width:100vw;
  height:105vh;
  background-image: linear-gradient(0deg, #E1EBC5, #A4D4D3);
  overflow: hidden;
}
#top div.mv .copy {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 90%;
	max-width:1200px;
  transform: translate(-50%,-50%);
	z-index: 1;
}
#top div.mv .copy img {
	width: 35%;
}
#top div.mv .illust {
	position: absolute;
	top: 50%;
	right: -3vw;
	display: block;
	width:65%;
  margin-top:10vh;
  transform: translateY(-50%);
}

#top section.top_news {
  background-color: #F4F2EF;
  border-top-left-radius: 40px;
  border-bottom-left-radius: 40px;
  margin-top:-5vh;
  margin-left:calc(50% - 600px);
  padding:50px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
#top section.top_news div.top_news_left{
  width:30%;
}
#top section.top_news div.top_news_left p.news_btn{
  padding-left:30px;
  margin-top:50px;
}
#top section.top_news .top_news_right {
  width:56%;
  margin-right:8%;
}
#top section.top_news .top_news_right dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  font-family: 'Noto Sans JP', sans-serif;
  padding: 20px 0;
  margin-bottom:20px;
  border-bottom:1px solid #E0E0E0;
}
#top section.top_news .top_news_right dl dt {
  width:calc(100% - 130px);
}
#top section.top_news .top_news_right dl dt p.date {
  font-size:14px;
  font-weight: 300;
}
#top section.top_news .top_news_right dl dt p.date span {
  display: inline-block;
  color: #fff;
  padding:0 10px;
  margin-left:10px;
  margin-bottom:10px;
  border-radius: 50px;
  background-color:#E62324;
}
#top section.top_news .top_news_right dl dd {
  width:130px;
  text-align: right;
}
#top section.top_news .top_news_right dl dd a {
  position:relative;
  color:#E62324;
  font-size:14px;
  font-weight: bold;
  padding-right:20px;
}
#top section.top_news .top_news_right dl dd a::after {
  position:absolute;
  content: '';
  width:8px;
  height:9px;
  top:50%;
  right:0px;
  background-image: url('../img/common/arrow_r.svg');
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
  transform: translateY(-50%);
  transition: 0.3s;
}


#top section.top_about {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-top:120px;
}
#top section.top_about .top_about_left {
  position:relative;
  width:43%;
  z-index: 100;
}
#top section.top_about .top_about_left h2 img {
  margin-bottom:20px;
}
#top section.top_about .top_about_left span {
  font-family: "Zen Kaku Gothic New", sans-serif;
  display: none;
}
#top section.top_about .top_about_left p.read {
  margin-left:calc(50vw - 550px);
  font-size:30px;
  font-weight: bold;
  line-height: 1.8;
}
#top section.top_about .top_about_left p.read i {
  font-size:20px;
  font-style: normal;
  font-weight: normal;
}
#top section.top_about .top_about_left p.about_btn{
  margin-left:calc(50vw - 550px);
  margin-top:30px;
}
#top section.top_about .top_about_right {
  width:57%;
  margin-right:-1%;
}


#top section.top_slide {
  margin-top:-150px;
  padding-top:230px;
  padding-bottom:80px;
  background-image: linear-gradient(180deg, rgba(244,242,239,0.0) 5%, rgba(244,242,239,1.0) 95%);
}
#top section.top_slide ul + ul {
  margin-top:20px;
}
#top section.top_slide ul li {
  padding:0 10px;
}
#top section.top_slide ul li img {
  border-radius: 20px;
}

#top section.top_green {
  position:relative;
  padding-top:150px;
  background-image: linear-gradient(-120deg, #EAFD99, #0BA061);
}
#top section.top_green h2 {
  color:#fff;
  font-size:90px;
  font-weight: 900;
  line-height: 1;
  opacity: 0.4;
  white-space:nowrap;
  margin-left:-0.1em;
}
#top section.top_green div.top_green_inner {
  position: relative;
  z-index: 2;
  padding-bottom:180px;
}
#top section.top_green div.top_green_inner dl {
  margin-top:-150px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
}
#top section.top_green div.top_green_inner dl dt {
  width:55%;
}
#top section.top_green div.top_green_inner dl dt p.midashi {
  font-size:30px;
  font-weight: bold;
  margin-bottom:40px;
}
#top section.top_green div.top_green_inner dl dd {
  width:32%;
}
#top section.top_green div.top_green_inner ul.green_slide {
  margin-top:80px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#top section.top_green div.top_green_inner ul.green_slide .slick-track {
  display: flex;
}
#top section.top_green div.top_green_inner ul.green_slide .slick-slide {
  height: auto !important;
  margin: 0 10px;
  background-color: #fff;
  border-radius: 20px;
  padding:25px;
}
#top section.top_green div.top_green_inner ul.green_slide li p.img {
  text-align: center;
}
#top section.top_green div.top_green_inner ul.green_slide li p.img img {
  width:auto;
  height: 157px;
  margin: auto;
}
#top section.top_green div.top_green_inner ul li p.midashi {
  text-align: center;
  font-size:22px;
  font-weight: bold;
  margin: 20px 0;
}
#top section.top_green p.top_green_btn {
  margin-top:80px;
  text-align: center;
}
#top section.top_green p.top_green_btn .btn {
  position:relative;
  width:100%;
  max-width:300px;
  color:#262626;
  font-size:18px;
  font-weight: 600;
  line-height: 1.3;
  border:2px solid  #262626;
  border-radius: 50px;
  transition: 0.3s;
  display: inline-block;
  padding:15px 40px;
}
#top section.top_green p.top_green_btn .btn::after {
  position:absolute;
  content: '';
  width:8px;
  height:9px;
  top:50%;
  right:20px;
  background-image: url('../img/common/arrow_black.svg');
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
  transform: translateY(-50%);
  transition: 0.3s;
}
#top section.top_green p.top_green_btn .btn:hover {
  color:#fff;
  background-color:#262626;
  transition: 0.3s;
  opacity: 1;
}
#top section.top_green p.top_green_btn .btn:hover::after {
  background-image: url('../img/common/arrow.svg');
  right:10px;
}
#top section.top_green p.top_green_bottom {
  position:relative;
  bottom:-90px;
  left:0;
  margin-right:calc(50vw - 550px);
  z-index: 2;
}
#top section.top_green p.top_green_bottom img {
  border-top-right-radius:20px;
  border-bottom-right-radius:20px;
}
#top section.top_service {
  position:relative;
  background-color: #F4F2EF;
}
#top section.top_service div.top_service_inner {
  position:relative;
  padding-top: 180px;
  padding-bottom:80px;
  margin-left:calc(50vw - 600px);
  background-color: #fff;
  border-bottom-left-radius: 30px;
  overflow: hidden;
}
#top section.top_service div.top_service_inner p.ttl {
  position:absolute;
  top:160px;
  left:-10px;
}
#top section.top_service div.top_service_inner p.ttl img {
  width:85%;
  max-width:390px;
}
#top section.top_service div.top_service_content ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#top section.top_service div.top_service_content ul li {
  width:31%;
}
#top section.top_service div.top_service_content p.service_btn{
  margin-top:250px;
}
#top section.top_service div.top_service_content ul li p.img {
  text-align: center;
}
#top section.top_service div.top_service_content ul li p.img img {
  border-radius: 20px;
}
#top section.top_service div.top_service_content ul li p.midashi {
  text-align: center;
  font-size:24px;
  font-weight: bold;
  margin: 20px 0;
}

#top section.top_equipment {
  background-color: #F4F2EF;
  padding:150px 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#top section.top_equipment .top_equip_left {
  width:43%;
}
#top section.top_equipment .top_equip_right {
  width:50%;
  overflow: hidden;
}
#top section.top_equipment .top_equip_right h2 {
  font-size:48px;
  font-weight: bold;
  line-height: 1.2;
}
#top section.top_equipment .top_equip_right h2 span {
  font-size:18px;
  color: #E62324;
}
#top section.top_equipment .top_equip_right .slider_outer {
  margin:50px 0 100px 0;
  width:100%;
  max-width: 600px;
}
#top section.top_equipment .top_equip_right .slider_outer ul li {
  padding: 0 80px 0 0;
  opacity: 0.3;
}
#top section.top_equipment .top_equip_right .slider_outer .slick-current li {
  opacity: 1.0;
}
#top section.top_equipment .top_equip_right .slider_outer ul li p.num {
  font-size:32px;
  color:#E62324;
  font-weight: bold;
}
#top section.top_equipment .top_equip_right .slider_outer ul li p.ttl {
  font-size:32px;
  font-weight: bold;
  margin:30px 0;
}
#top section.top_equipment .top_equip_right .slider_outer .slick-list {
  overflow: visible;
}
#top section.top_equipment .top_equip_right .slider_outer .equip_slide{ 
  position:relative;
}
#top section.top_equipment .top_equip_right .slider_outer .slick__prev,
#top section.top_equipment .top_equip_right .slider_outer .slick__next {
  position: absolute;
  top: 50%;
  right: 0%;
  z-index: 1;
  width: 56px;
  height: 56px;
  background-image: url(../img/common/arrow_c.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size:contain;
  transform: translateY(-50%);
}
#top section.top_equipment .top_equip_right .slider_outer .slick__prev {
  transform: translateY(-50%) rotate(180deg);
}
#top section.top_equipment .top_equip_right .slider_outer .slick-disabled {
  display: none;
}

#top section.top_bottom {
  padding:40px 0;
  background-color: #fff;
}
#top section.top_bottom .top_bottom_inner {
  border-top:1px solid #EBEBEB;
  border-bottom:1px solid #EBEBEB;
}
#top section.top_bottom .top_bottom_box {
  width:95%;
  max-width:1400px;
  padding:0 50px;
  margin: 0 auto;
  border-left:1px solid #EBEBEB;
  border-right:1px solid #EBEBEB;
  display: flex;
  flex-wrap: wrap;
}
#top section.top_bottom .top_bottom_box .top_bottom_content {
  padding:60px;
  width:50%;
}
#top section.top_bottom .top_bottom_box .top_bottom_content:first-of-type {
  width:calc(50% - 1px);
  border-right:1px solid #EBEBEB;
}
#top section.top_bottom .top_bottom_box .top_bottom_content p.tts {
  font-family: "Barlow", sans-serif;
  font-size:18px;
}
#top section.top_bottom .top_bottom_box .top_bottom_content p.tts span:first-of-type {
  display: inline-block;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  margin-right:5px;
  color:#E62324;
}
#top section.top_bottom .top_bottom_box .top_bottom_content p.tts span:last-of-type {
  display: inline-block;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  margin-right:5px;
  color:#0072BF;
}
#top section.top_bottom .top_bottom_box .top_bottom_content h3 {
  font-family: "Noto Sans JP", sans-serif;
  font-size:34px;
  font-weight: bold;
  margin: 20px 0 40px 0;
}
#top section.top_bottom .top_bottom_box .top_bottom_content p.button {
  margin-top:30px;
  text-align: right;
}
#top section.top_bottom .top_bottom_box .top_bottom_content p.button img {
  width:16px;
}


@media screen and (max-width: 1200px) {

  #top section.top_news {
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
    margin-left:0;
  }
  #top section.top_about .top_about_left p.read {
    margin-left:5vw;
  }
  #top section.top_about .top_about_left p.about_btn{
    margin-left:5vw;
  }
  
  #top section.top_service div.top_service_inner {
    margin-left:0;
    border-bottom-left-radius: 0px;
  }
  #top section.top_service div.top_service_inner p.ttl img {
    max-width:300px;
  }
  #top section.top_green div.top_green_inner ul li p.midashi {
    font-size:18px;
  }

}


@media screen and (max-width: 768px) {

  #top div.mv {
    position:relative;
    width:100vw;
    height:100vh;
    background-image: linear-gradient(0deg, #E1EBC5, #A4D4D3);
    overflow: hidden;
  } 
  #top div.mv svg {
    margin-left:24vw;
  }
  #top div.mv .copy {
    top: auto;
    bottom:5vh;
    left: 5vw;
    transform: translate(0,0);
  }
  #top div.mv .copy img {
    width: 80%;
  }
  #top div.mv .illust {
    position: absolute;
    top:60px;
    bottom: auto;
    right: -5vw;
    display: block;
    width:100%;
    transform: translateY(0%);
  }

  #top section.top_news {
    margin-top:0vh;
    padding:30px 0;
    flex-direction: column-reverse;
  }
  #top section.top_news div.top_news_left{
    width:100%;
  }
  #top section.top_news div.top_news_left p.ttl{
    display: none;
  }
  #top section.top_news div.top_news_left p.news_btn{
    padding-left:0px;
    margin-top:30px;
  }
  #top section.top_news div.top_news_left p.news_btn a{
    display: block;
    margin: auto;
  }
  #top section.top_news .top_news_right {
    width:90%;
    margin-left:auto;
    margin-right:auto;
  }
  #top section.top_news .top_news_right dl {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    font-family: 'Noto Sans JP', sans-serif;
    padding: 20px 0;
    margin-bottom:20px;
    border-bottom:1px solid #E0E0E0;
  }
  #top section.top_news .top_news_right dl dt {
    width:100%;
    margin-bottom:10px;
  }
  #top section.top_news .top_news_right dl dd {
    width:100%;
    text-align: right;
  }


  #top section.top_about {
    flex-direction: column-reverse;
    margin-top:70px;
  }
  #top section.top_about .top_about_left {
    position:relative;
    width:100%;
    margin-top:-15vw;
    z-index: 100;
  }
  #top section.top_about .top_about_left h2 {
    margin-left:5vw;
  }
  #top section.top_about .top_about_left h2 span {
    display: block;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size:18px;
    font-weight: 900;
    color: #E62324;
  }
  #top section.top_about .top_about_left h2 img {
    display: none;
  }
  #top section.top_about .top_about_left p.read {
    font-size:22px;
  }
  #top section.top_about .top_about_left p.read span {
    font-size:16px;
  }
  #top section.top_about .top_about_left p.about_btn{
    margin-left:5vw;
    margin-top:30px;
  }
  #top section.top_about .top_about_right {
    width:100%;
    margin-right:-5vw;
  }

  #top section.top_green {
    padding-top:50px;
  }
  #top section.top_green h2 {
    font-size:51px;
  }
  #top section.top_green div.top_green_inner {
    position: relative;
    z-index: 2;
    padding-bottom:30px;
  }
  #top section.top_green div.top_green_inner dl {
    margin-top:-20px;
    flex-direction: column-reverse;
  }
  #top section.top_green div.top_green_inner dl dt {
    width:100%;
  }
  #top section.top_green div.top_green_inner dl dt p.midashi {
    font-size:22px;
  }
  #top section.top_green div.top_green_inner dl dd {
    width:100%;
  }
  #top section.top_green div.top_green_inner ul.green_slide {
    margin-top:80px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  #top section.top_green div.top_green_inner ul.green_slide li p.midashi {
    font-size:20px;
  }
  #top section.top_green p.top_green_bottom {
    display: none;
  }
  #top section.top_green div.top_green_inner ul.green_slide .slick-dots li.slick-active button:before {
    font-size:10px;
    color:#fff;
  }
  #top section.top_green div.top_green_inner ul.green_slide .slick-dots li button:before {
    font-size:10px;
    color:#fff;
  }
  #top section.top_service {
    position:relative;
    background-color: #F4F2EF;
  }
  #top section.top_service div.top_service_inner {
    padding-top: 0px;
    padding-bottom:50px;
    background-color: #fff;
    border-bottom-left-radius: 0px;
    overflow: hidden;
  }
  #top section.top_service div.top_service_inner p.ttl {
    display: none;
  }
  #top section.top_service div.top_service_inner div.ttl_sp {
    position: relative;
  }
  #top section.top_service div.top_service_inner div.ttl_sp h2 {
    position: absolute;
    top:50%;
    left:5vw;
    font-size:18px;
    font-weight: bold;
    color: #fff;
    transform: translateY(-50%);
  }
  #top section.top_service div.top_service_inner div.ttl_sp h2 span {
    font-size:50px;
  }
  #top section.top_service div.top_service_inner p.ttl img {
    width:85%;
    max-width:390px;
  }
  #top section.top_service div.top_service_content ul li p.img img {
    border-radius: 10px;
  }
  #top section.top_service div.top_service_content ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top:40px;
  }
  #top section.top_service div.top_service_content ul li {
    width:48%;
  }
  #top section.top_service div.top_service_content ul li.in {
    width:100%;
  }
  #top section.top_service div.top_service_content p.service_btn{
    margin-top:50px;
  }
  #top section.top_service div.top_service_content p.service_btn a{
    display: block;
    margin: auto;
  }
  #top section.top_service div.top_service_content ul li p.midashi {
    text-align: center;
    font-size:18px;
    font-weight: bold;
    margin: 10px 0 0 0;
  }
  #top section.top_service div.top_service_content ul li p.comment {
    display: none;
  }

  #top section.top_equipment {
    padding:80px 0;
  }
  #top section.top_equipment .top_equip_left {
    display: none;
  }
  #top section.top_equipment .equip02 {
    margin-top:30px;
  }
  #top section.top_equipment .top_equip_right {
    width:100%;
    margin-top:-60px;
    overflow: hidden;
  }
  #top section.top_equipment .top_equip_right h2 {
    text-align: center;
  }
  #top section.top_equipment .top_equip_right ul.equip_sp {
    width:90%;
    margin: -70px auto 50px auto;
  }
  #top section.top_equipment .top_equip_right ul.equip_sp li p.num {
    font-size:32px;
    color:#E62324;
    font-weight: bold;
  }
  #top section.top_equipment .top_equip_right ul.equip_sp li p.ttl {
    font-size:32px;
    font-weight: bold;
    margin:20px 0;
  }
  #top section.top_equipment p.equip_btn a{
    display: block;
    margin: auto;
  }

  #top section.top_bottom {
    padding:40px 0;
    background-color: #fff;
  }
  #top section.top_bottom .top_bottom_inner {
    border-top:1px solid #EBEBEB;
    border-bottom:1px solid #EBEBEB;
  }
  #top section.top_bottom .top_bottom_box {
    width:95%;
    max-width:1400px;
    padding:0 0px;
    margin: 0 auto;
    border-left:1px solid #EBEBEB;
    border-right:1px solid #EBEBEB;
    display: flex;
    flex-wrap: wrap;
  }
  #top section.top_bottom .top_bottom_box .top_bottom_content {
    padding:10px;
    width:100%;
  }
  #top section.top_bottom .top_bottom_box .top_bottom_content:first-of-type {
    width:100%;
    border-bottom:1px solid #EBEBEB;
    border-right:none;
  }
  #top section.top_bottom .top_bottom_box .top_bottom_content p.tts {
    font-family: "Barlow", sans-serif;
    font-size:18px;
  }
  #top section.top_bottom .top_bottom_box .top_bottom_content p.tts span:first-of-type {
    display: inline-block;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    margin-right:5px;
    color:#E62324;
  }
  #top section.top_bottom .top_bottom_box .top_bottom_content p.tts span:last-of-type {
    display: inline-block;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    margin-right:5px;
    color:#0072BF;
  }
  #top section.top_bottom .top_bottom_box .top_bottom_content h3 {
    font-family: "Noto Sans JP", sans-serif;
    font-size:34px;
    font-weight: bold;
    margin: 20px 0 40px 0;
  }
  #top section.top_bottom .top_bottom_box .top_bottom_content p.button {
    margin-top:30px;
    text-align: right;
  }
  #top section.top_bottom .top_bottom_box .top_bottom_content p.button img {
    width:16px;
  }

}

@media screen and (max-width: 480px) {

  #top div.mv svg {
    margin-left:0vw;
  }

}

/*
------------------------------------------------------------------------------------------------------------------------
EQUIPMENT
------------------------------------------------------------------------------------------------------------------------
*/
#equipment {
  background-color: #C7E3D4;
}
#equipment.detail {
  background-image: linear-gradient(180deg, #fff, #F4F2EF);
}
#equipment .equip_main {
  position:relative;
  background: linear-gradient(180deg, #fff 95%, #fff 95%, transparent 95%, transparent 100%);
  padding-top:120px;
}

#equipment .equip_main .equip_main_inner svg {
  width:100%;
  height:auto;
}
#equipment .equip_main .equip_main_inner svg a:hover {
  opacity: 1;
}

#group_8325 {
  opacity: 0;
  transition: 0.3s;
}
#group_8325.active {
  opacity: 1;
  transition: 0.3s;
}
#group_9444 {
  opacity: 0;
  transition: 0.3s;
}
#group_9444.active {
  opacity: 1;
  transition: 0.3s;
}
#link_main_office:hover ~ #group_8325 {
  opacity: 1;
  transition: 0.3s;
}
#link_second_factory:hover ~ #group_9444 {
  opacity: 1;
  transition: 0.3s;
}

#equipment .equip_mv {
  position:relative;
}
#equipment .equ_panel {
  display: none;
}
#equipment .equip_mv img {
  width:100%;
  transition: 0.3s;
}
#equipment .equip_mv img:hover {
  opacity: 0.7;
  transition: 0.3s;
}
#equipment .equip_mv .equip_main_title {
  position:absolute;
  top:120px;
  left:0;
  width:30%;
}
#equipment .equip_mv .equip_main_title h1 {
  white-space:nowrap;
  margin-left:5vw!important;
}
#equipment .equip_detail {
  margin-top:150px;
}
#equipment .equip_detail h2 {
  font-size:32px;
  font-weight: bold;
}
#equipment .equip_mv p.link {
  position:absolute;
  bottom:50px;
  right:70px;
}
#equipment .equip_mv p.link a {
  background-color: #fff;
}
#equipment .equip_mv p.link a:hover {
  background-color: #E62324;
  opacity: 1;
}
#equipment .equip_detail ul.equip_submenu {
  display: flex;
  flex-wrap: wrap;
  margin-top:50px;
  margin-bottom:120px;
}
#equipment .equip_detail ul.equip_submenu li {
  margin-right:20px;
  padding:10px 0;
}
#equipment .equip_detail ul.equip_submenu li:last-child {
  margin-right:0px;
}
#equipment .equip_detail dl.equip_detail_table + dl.equip_detail_table {
  margin-top:80px;
}
#equipment .equip_detail dl.equip_detail_table dt {
  font-size:20px;
  margin-bottom:10px;
}
#equipment .equip_detail dl.equip_detail_table table {
  border-collapse: collapse;
  width: 100%;
}
#equipment .equip_detail dl.equip_detail_table table th.tokucho_th {
  min-width: 30%;
}
#equipment .equip_detail dl.equip_detail_table table + table {
  margin-top:40px;
}
#equipment .equip_detail dl.equip_detail_table table th, #equipment .equip_detail dl.equip_detail_table table td {
  border: 1px solid #B5B5B5;
  text-align: center;
  background-color: #fff;
  padding: 10px;
}
#equipment .equip_detail dl.equip_detail_table table th {
  background-color: #EAEAEA;
}
#equipment .equip_modal {
  display: block;
}
#equipment .equip_modal + .equip_modal {
  margin-top:50px;
}
#equipment .equip_svg {
  position:relative;
}
#equipment .equip_mv .equ_hover_p {
  position: absolute;
  left:50%;
  top:-50px;
  transition: 0.3s;
  transform: translateX(-50%);
}
#equipment .equip_mv .equ_hover_p {
  width:123px;
}

#equip_modal_box {
  position:fixed;
  top:0;
  left:-80vw;
  min-height:100vh;
  width:80vw;
  background-color: #fff;
  transition: 0.3s;
  z-index: 10000;
}
#equip_modal_box.active {
  left:0;
  transition: 0.3s;
}
#equip_modal_box p.bt_close {
  position:absolute;
  top:20px;
  right:30px;
  width:17px;
  height:17px;
  z-index: 600;
}
#equip_modal_box p.bt_close img {
  width: 17px;
  cursor: pointer;
}
#equip_modal_box .equip_modal_inner {
  position:relative;
  width:100%;
  height:100vh;
  overflow-y: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
#equip_modal_box .equip_modal_inner::-webkit-scrollbar {
  display: none;
}
#equip_modal_box .equip_modal_content {
  width:90%;
  max-width:900px;
  margin-right:120px;
  margin-left: auto;
  padding:150px 0 80px 0;
  display: none;
}
#equip_modal_box .equip_modal_content ul.equip_modal_top {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#equip_modal_box .equip_modal_content ul.equip_modal_top > li:first-child {
  width:44%;
  padding-top:80px;
}
#equip_modal_box .equip_modal_content ul.equip_modal_top > li:last-child {
  width:50%;
}
#equip_modal_box .equip_modal_content ul.equip_modal_top li p.cat span {
  color:#fff;
  font-size:14px;
  font-weight: bold;
  background-color: #E62324;
  padding: 5px 10px;
  border-radius: 50px;
}
#equip_modal_box .equip_modal_content ul.equip_modal_top li p.ttl {
  font-size:32px;
  font-weight: bold;
  margin:10px 0 50px 0;
}
#equip_modal_box .equip_modal_content ul.equip_modal_top li div.detail + div.detail {
  margin-top:40px;
}
#equip_modal_box .equip_modal_content ul.equip_modal_top li div.detail ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top:30px;
  padding-top:30px;
  border-top:1px solid #CBCBCB;
  font-size:14px;
}
#equip_modal_box .equip_modal_content ul.equip_modal_top li div.detail ul li {
  width:48%;
  padding:5px 0;
  display: flex;
}
#equip_modal_box .equip_modal_content ul.equip_modal_top li div.detail ul li span:first-child {
  width:80px;
  font-weight: bold;
}
#equip_modal_box .equip_modal_content div.equip_modal_bottom {
  margin-top:120px;
}
#equip_modal_box .equip_modal_content div.equip_modal_bottom ul.img {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top:70px;
}
#equip_modal_box .equip_modal_content div.equip_modal_bottom ul.img li:first-child {
  width: 66.28%;
}
#equip_modal_box .equip_modal_content div.equip_modal_bottom ul.img li:last-child {
  width: 31.35%;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}
#equip_modal_box .equip_modal_content div.equip_modal_bottom ul.img li img {
  border-radius: 10px;
}


@media screen and (max-width: 768px) {

  #equipment {
    background-color: #fff;
  }
  #equipment .equip_main {
    padding-top:80px;
  }
  #equipment .equip_main .equip_main_inner svg {
    display: none;
  }

  #equipment .equip_main .equip_main_inner .equip_main_sp li {
    text-align: center;
  }
  #equipment .equip_main .equip_main_inner .equip_main_sp li + li {
    margin-top:80px;
  }
  #equipment .equip_main .equip_main_inner .equip_main_sp li img {
    width:90%;
    max-width:203px;
  }
  #equipment .equip_main .equip_main_inner .equip_main_sp .ttl {
    font-size:24px;
    font-weight: bold;
  }
  #equipment .equip_main .equip_main_inner .equip_main_sp .sub {
    position:relative;
    color:#E62324;
    font-size:14px;
    font-weight: 600;
  }
  #equipment .equip_main .equip_main_inner .equip_main_sp .sub::after {
    content: '';
    display: inline-block;
    width:8px;
    height:9px;
    margin-left:10px;
    background-image: url('../img/common/arrow_r.svg');
    background-repeat: no-repeat;
    background-position: left center;
    background-size: contain;
    transition: 0.3s;
  }

  #equipment .equip_mv {
    position:relative;
    overflow: hidden;
  }
  #equipment .equip_mv .svg_area {
    position: relative;
    text-align: center;
    overflow-x: auto;
  }
  #equipment .equip_mv svg {
    margin-left: auto;
    margin-right: auto;
    height:100vh;
    width:auto;
    top:100px;
    position: relative;
    z-index: 0;
  }
  #equipment .equip_mv .equip_main_title {
    top:80px;
    left:0;
    z-index: 1;
  }
  #equipment .equip_detail {
    margin-top:70px;
  }
  #equipment .equip_detail h2 {
    font-size:24px;
  }
  #equipment .equip_detail ul.equip_submenu {
    margin-top:30px;
    margin-bottom:50px;
  }
  

  #equipment .equip_detail .equip_table {
    display: none;
  }
  #equipment .equip_detail dl.equip_detail_table table {
    writing-mode: vertical-lr;
  }
  #equipment .equip_detail dl.equip_detail_table table th {
    width:100px;
  }
  #equipment .equip_detail dl.equip_detail_table table td {
    width:calc(90vw - 120px);
    text-align: left;
  }
  #equipment .equip_detail dl.equip_detail_table table th, #equipment .equip_detail dl.equip_detail_table table td {
    font-size: 14px;
    writing-mode: horizontal-tb;
    padding:5px
  }

  #equip_modal_box {
    left:-100vw;
    width:100vw;
  }
  #equip_modal_box p.bt_close {
    top:30px;
    right:30px;
    width:22px;
    height:22px;
  }
  #equip_modal_box p.bt_close img {
    width: 22px;
    cursor: pointer;
  }
  #equip_modal_box .equip_modal_content {
    margin-right:auto;
    margin-left: auto;
    padding:100px 0 80px 0;
    display: none;
  }
  #equip_modal_box .equip_modal_content ul.equip_modal_top > li:first-child {
    width:100%;
    padding-top:0px;
    margin-bottom:30px;
    text-align: center;
  }
  #equip_modal_box .equip_modal_content ul.equip_modal_top > li:first-child img {
    width:70%;
  }
  #equip_modal_box .equip_modal_content ul.equip_modal_top > li:last-child {
    width:100%;
  }
  #equip_modal_box .equip_modal_content ul.equip_modal_top li p.cat {
    text-align: center;
  }
  #equip_modal_box .equip_modal_content ul.equip_modal_top li p.ttl {
    font-size:26px;
    text-align: center;
    margin:10px 0 30px 0;
  }
  #equip_modal_box .equip_modal_content ul.equip_modal_top li div.detail + div.detail {
    margin-top:40px;
  }
  #equip_modal_box .equip_modal_content ul.equip_modal_top li div.detail ul li {
    width:100%;
    display: flex;
  }
  #equip_modal_box .equip_modal_content ul.equip_modal_top li div.detail ul li span:first-child {
    width:80px;
    font-weight: bold;
  }
  #equip_modal_box .equip_modal_content div.equip_modal_bottom {
    margin-top:50px;
  }
  #equip_modal_box .equip_modal_content div.equip_modal_bottom ul.img {
    margin-top:50px;
  }
  #equip_modal_box .equip_modal_content div.equip_modal_bottom ul.img li:first-child {
    width: 100%;
  }
  #equip_modal_box .equip_modal_content div.equip_modal_bottom ul.img li:last-child {
    width: 100%;
    flex-direction: row;
    margin-top:10px;
  }
  #equip_modal_box .equip_modal_content div.equip_modal_bottom ul.img li:last-child p {
    width: 48%;
  }

}




/*
------------------------------------------------------------------------------------------------------------------------
BUSINESS
------------------------------------------------------------------------------------------------------------------------
*/
article#business {
  padding-top:150px;
  background-color: #F5F7F7;
}
#business section.content {
  margin-top:80px;
}
#business section.content p.copy {
  font-size:32px;
  font-weight: bold;
  padding: 20px 0;
  background-image: url(../img/business/lead.svg);
  background-repeat: no-repeat;
  background-position: right center;
  background-size:126.8px 145.3px;
}
#business section.content p.lead {
  margin:40px 0 135px 0;
}

#business section.business_carousel {
  padding-bottom:250px;
}
#business section.business_carousel div.business_svg {
  position: relative;
  aspect-ratio:247.2 / 85.6;
}
#business section.business_carousel div.business_svg p {
  position:absolute;
  transition: 0.3s;
}
#business section.business_carousel div.business_svg p:nth-child(1) {
  width:32.06%;
  left:0;
  bottom:0;
}
#business section.business_carousel div.business_svg p:nth-child(2) {
  width:32.06%;
  left:18.5%;
  top:0;
}
#business section.business_carousel div.business_svg p:nth-child(3) {
  width:32.06%;
  left:37.86%;
  bottom:0;
}
#business section.business_carousel div.business_svg p:nth-child(4) {
  width:32.06%;
  left:57.37%;
  top:0;
}
#business section.business_carousel div.business_svg p:nth-child(5) {
  width:16.81%;
  right:0;
  top:50%;
}
#business section.business_carousel div.business_svg p.ON {
  transform: scale(1.5);
  transition: 0.3s;
}
#business section.business_carousel div.business_icon {
  margin-top:10px;
  display: flex;
  justify-content: space-between;
  position: relative;
}
#business section.business_carousel div.business_icon .middle_line {
  position:absolute;
  top:50%;
  left:0;
  width:100%;
  height:1px;
  background-color: #CBCBCB;
  z-index: 0;
}
#business section.business_carousel div.business_icon p {
  position: relative;
  width:10%;
  z-index: 1;
  transition: 0.3s;
}
#business section.business_carousel div.business_icon p.active {
  position: relative;
  transform: scale(1.3);
  z-index: 2;
  transition: 0.3s;
}

#business section.business_flow {
  position: relative;
  background-color: #F5F7F7;
  padding:100px 0;
}
#business section.business_flow .business_flow_inner {
  position:relative;
}
#business section.business_flow .business_flow_inner .business_flow_right {
  position:sticky;
  top: 115px;
  z-index: 1000;
}
#business section.business_flow .business_flow_inner .business_flow_right .business_flow_stick {
  position:relative;
}
#business section.business_flow .business_flow_inner .business_flow_right .business_flow_stick_inner {
  position:absolute;
  width:calc(22% - 150px);
  height:300vh;
  right:0;
  top:0;
}
#business section.business_flow .business_flow_inner .business_flow_right .business_flow_stick_inner ul {
  position:relative;
  display: flex;
  flex-direction: column;
  width: 70%;
  z-index: 10;
}
#business section.business_flow .business_flow_inner .business_flow_right .business_flow_stick_inner ul::after {
  position:absolute;
  content: '';
  top:0;
  left:50%;
  transform: translateX(-50%);
  width:2px;
  height:100%;
  background-color: #CBCBCB;
  z-index: -1;
}
#business section.business_flow .business_flow_inner .business_flow_right .business_flow_stick_inner ul li + li {
  margin-top: 10px;
}
#business section.business_flow .business_flow_inner .business_flow_right .business_flow_stick_inner ul li {
  width:100%;
  aspect-ratio: 1/1;
  background-repeat: no-repeat;
  background-size: 100%;
}
#business section.business_flow .business_flow_inner .business_flow_right .business_flow_stick_inner ul li:nth-child(1) {
  background-image: url(../img/business/b01.png);
}
#business section.business_flow .business_flow_inner .business_flow_right .business_flow_stick_inner ul li:nth-child(2) {
  background-image: url(../img/business/b02.png);
}
#business section.business_flow .business_flow_inner .business_flow_right .business_flow_stick_inner ul li:nth-child(3) {
  background-image: url(../img/business/b03.png);
}
#business section.business_flow .business_flow_inner .business_flow_right .business_flow_stick_inner ul li:nth-child(4) {
  background-image: url(../img/business/b04.png);
}
#business section.business_flow .business_flow_inner .business_flow_right .business_flow_stick_inner ul li:nth-child(5) {
  background-image: url(../img/business/b05.png);
}
#business section.business_flow .business_flow_inner .business_flow_right .business_flow_stick_inner ul li:nth-child(6) {
  background-image: url(../img/business/b06.png);
}
#business section.business_flow .business_flow_inner .business_flow_right .business_flow_stick_inner ul li:nth-child(7) {
  background-image: url(../img/business/b07.png);
}
#business section.business_flow .business_flow_inner .business_flow_right .business_flow_stick_inner ul li:nth-child(8) {
  background-image: url(../img/business/b08.png);
}
#business section.business_flow .business_flow_inner .business_flow_right .business_flow_stick_inner ul li:nth-child(9) {
  background-image: url(../img/business/b09.png);
}
#business section.business_flow .business_flow_inner .business_flow_right .business_flow_stick_inner ul li.active:nth-child(1) {
  background-image: url(../img/business/b01_on.png);
}
#business section.business_flow .business_flow_inner .business_flow_right .business_flow_stick_inner ul li.active:nth-child(2) {
  background-image: url(../img/business/b02_on.png);
}
#business section.business_flow .business_flow_inner .business_flow_right .business_flow_stick_inner ul li.active:nth-child(3) {
  background-image: url(../img/business/b03_on.png);
}
#business section.business_flow .business_flow_inner .business_flow_right .business_flow_stick_inner ul li.active:nth-child(4) {
  background-image: url(../img/business/b04_on.png);
}
#business section.business_flow .business_flow_inner .business_flow_right .business_flow_stick_inner ul li.active:nth-child(5) {
  background-image: url(../img/business/b05_on.png);
}
#business section.business_flow .business_flow_inner .business_flow_right .business_flow_stick_inner ul li.active:nth-child(6) {
  background-image: url(../img/business/b06_on.png);
}
#business section.business_flow .business_flow_inner .business_flow_right .business_flow_stick_inner ul li.active:nth-child(7) {
  background-image: url(../img/business/b07_on.png);
}
#business section.business_flow .business_flow_inner .business_flow_right .business_flow_stick_inner ul li.active:nth-child(8) {
  background-image: url(../img/business/b08_on.png);
}
#business section.business_flow .business_flow_inner .business_flow_right .business_flow_stick_inner ul li.active:nth-child(9) {
  background-image: url(../img/business/b09_on.png);
}

#business section.business_flow .business_flow_inner .business_scrollify_box {
  min-height: 100vh;
  padding:120px 0 100px 0;
}
#business section.business_flow .business_flow_inner .business_scrollify_box .business_flow_detail {
  position:relative;
  width:78%;
  max-width:1100px;
  background-color: #fff;
  margin-right:0;
  border-top-right-radius: 50px;
  border-bottom-right-radius: 50px;
  filter: drop-shadow(0px 0px 3px rgba(0,0,0,0.4));
  padding:70px 0;
  z-index: 88887;
}
#business section.business_flow .business_flow_inner .business_scrollify_box .business_flow_detail p.flow_img {
  position:absolute;
  width:32%;
  max-width:390px;
  top:-58px;
  right:-15%;
  z-index: 88888;
}
#business section.business_flow .business_flow_inner .business_scrollify_box .business_flow_detail .business_flow_detail_inner {
  width:90%;
  max-width:780px;
  margin: auto;
}
#business section.business_flow .business_flow_inner .business_scrollify_box .business_flow_detail .business_flow_detail_inner h3 {
  font-size:36px;
  font-weight: 500;
  margin-bottom:30px;
}
.business_scrollify_box:nth-of-type(2) h3,
.business_scrollify_box:nth-of-type(3) h3 {
  color: #0072BF;
}
.business_scrollify_box:nth-of-type(4) h3,
.business_scrollify_box:nth-of-type(5) h3 {
  color: #E28F3B;
}
.business_scrollify_box:nth-of-type(6) h3,
.business_scrollify_box:nth-of-type(7) h3 {
  color: #E62324;
}
.business_scrollify_box:nth-of-type(8) h3,
.business_scrollify_box:nth-of-type(9) h3 {
  color: #029F08;
}

#business section.business_flow .business_flow_inner .business_scrollify_box .business_flow_detail .business_flow_detail_inner ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top:30px;
}
#business section.business_flow .business_flow_inner .business_scrollify_box .business_flow_detail .business_flow_detail_inner ul li {
  width:48%;
}

#business section.business_bottom {
  padding:100px 0
}
#business section.business_bottom h2 {
  font-size:32px;
  font-weight: 500;
  margin-bottom:20px;
}
#business section.business_bottom .business_bottom_box {
  background-color: #F5F7F7;
  padding: 30px 50px;
  border-radius: 35px;
}
#business section.business_bottom .business_bottom_box + h2 {
  margin-top:70px;
}
#business section.business_bottom .business_bottom_box ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#business section.business_bottom .business_bottom_box ul::after{
  content:"";
  display: block;
  width:31%;
}
#business section.business_bottom .business_bottom_box ul li {
  width:31%;
}
#business section.business_bottom .business_bottom_box ul li h3 {
  font-size:24px;
  font-weight: bold;
  color:#E62324;
  margin-bottom:25px;
}
#business section.business_bottom .business_bottom_box ul li p + p {
  margin-top:5px;
}
#business section.business_bottom .business_bottom_box ul li p::before {
  content: '・';
  color: #E62324;
}


@media screen and (max-width: 1100px) {

  #business section.business_flow .business_flow_inner .business_flow_right .business_flow_stick_inner {
    width:calc(22% - 100px);
  }

}


@media screen and (max-width: 768px) {

  article#business {
    padding-top:80px;
  }
  #business section.content {
    margin-top:30px;
  }
  #business section.content p.copy {
    font-size:21px;
    background-image: none;
  }
  #business section.content p.lead {
    margin:40px 0 50px 0;
  }

  #business section.business_carousel {
    display: none;
  }

  #business section.business_flow {
    padding:0px 0;
    margin-top:80px;
  }
  #business section.business_flow .business_flow_inner {
    position:relative;
  }
  #business section.business_flow .business_flow_inner .business_flow_right {
    display: none;
  }

  #business section.business_flow .business_flow_inner .business_scrollify_box {
    min-height: auto;
    padding:0px 0 0px 0;
  }
  #business section.business_flow .business_flow_inner .business_scrollify_box .business_flow_detail {
    position:relative;
    width:100%;
    background-color: transparent;
    margin-right:0;
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
    filter: drop-shadow(0px 0px 3px rgba(0,0,0,0.0));
    padding:50px 0;
  }
  #business section.business_flow .business_flow_inner .business_scrollify_box .business_flow_detail p.flow_img {
    position:relative;
    width:100%;
    max-width:auto;
    top:0;
    right:0%;
    text-align: center;
  }
  #business section.business_flow .business_flow_inner .business_scrollify_box .business_flow_detail p.flow_img img {
    width:75%;
    max-width:390px;
  }
  #business section.business_flow .business_flow_inner .business_scrollify_box .business_flow_detail .business_flow_detail_inner {
    width:90%;
    margin: auto;
  }
  #business section.business_flow .business_flow_inner .business_scrollify_box .business_flow_detail .business_flow_detail_inner h3 {
    font-size:24px;
  }

  #business section.business_bottom {
    padding:50px 0
  }
  #business section.business_bottom h2 {
    font-size:24px;
    text-align: center;
  }
  #business section.business_bottom .business_bottom_box {
    padding: 20px 20px;
    border-radius: 20px;
  }
  #business section.business_bottom .business_bottom_box + h2 {
    margin-top:40px;
  }
  #business section.business_bottom .business_bottom_box ul::after{
    width:100%;
  }
  #business section.business_bottom .business_bottom_box ul li {
    width:100%;
  }
  #business section.business_bottom .business_bottom_box ul li + li {
    margin-top:40px;
  }
  #business section.business_bottom .business_bottom_box ul li h3 {
    font-size:22px;
    margin-bottom:15px;
  }

}


/*
------------------------------------------------------------------------------------------------------------------------
SDGs
------------------------------------------------------------------------------------------------------------------------
*/
#sdgs .main_title {
  padding-top:100px;
  padding-bottom:50px;
  background-color: #F5F7F7;
}
#sdgs .main_title div.ttl_icon {
  position:absolute;
  left:0;
  bottom:80px;
  width:100%;
  height:120px;
  text-align: right;
}
#sdgs .main_title p.title_back {
  color:#fff;
  font-size:100px;
  font-weight: 900;
  line-height: 1.0;
}
#sdgs .main_title div.ttl_icon img {
  width:275px;
  height:241px;
}
#sdgs .main_title h1 {
  position: relative;
  line-height: 1.3;
  z-index: 2;
  margin-top:-30px;
}
#sdgs .const {
  text-align: center;
  font-size:22px;
  font-weight: bold;
  color: #B5B5B5;
  padding: 150px 0;
}

@media screen and (max-width: 768px) {

  article#sdgs {
    padding-top:80px;
  }
  #sdgs .main_title p.title_back {
    font-size:36px;
  }
  #sdgs .main_title div.ttl_icon {
    display: none;
  }
  #sdgs .main_title h1 {
    margin-top:-0px;
  }

}



/*
------------------------------------------------------------------------------------------------------------------------
ABOUT
------------------------------------------------------------------------------------------------------------------------
*/
article#about {
  padding-top:150px;
  background-color: #F5F7F7;
}
#about .main_title div.ttl_icon {
  position:absolute;
  left:0;
  top:0px;
  width:100%;
  height:120px;
  text-align: right;
}
#about .main_title div.ttl_icon img {
  width:200px;
  height:120px;
}
#about section.content {
  position:relative;
  padding:100px 0;
  display: flex;
  justify-content: space-between;
}
#about section.content div.about_index {
  width:280px;
}
#about section.content div.about_index div.about_index_inner {
  position:sticky;
  top: 120px;
}
#about section.content div.about_index ul li {
  font-size:18px;
  font-weight: bold;
}
#about section.content div.about_index ul li + li {
  margin-top:10px;
}
#about section.content div.about_index ul li span {
  color: #E62324;
}

#about section.content .about_main {
  width:calc(100% - 320px);
  max-width:880px;
}
#about section.content .about_main .about_box {
  position:relative;
  padding-top:60px;
  border-top:1px solid #CBCBCB;
}
#about section.content .about_main .about_box::before {
  position:absolute;
  content: '';
  width:50px;
  height:2px;
  background-color: #E62324;
  top:-2px;
  left:0;
}
#about section.content .about_main .about_box + .about_box {
  margin-top:60px;
}
#about section.content .about_main .about_box h2 {
  font-size:32px;
  font-weight: 500;
  margin-bottom:30px;
}
#about section.content .about_main .about_box h2 span {
  color: #E62324;
}
#about section.content .about_main .about_box p.lead {
  margin-top:65px;
}


@media screen and (max-width: 768px) {

  article#about {
    padding-top:80px;
  }
  #about .main_title div.ttl_icon {
    display: none;
  }
  #about section.content {
    padding:60px 0;
    display: flex;
  }
  #about section.content div.about_index {
    display: none;
  }

  #about section.content .about_main {
    width:100%;
  }
  #about section.content .about_main .about_box {
    padding-top:40px;
  }
  #about section.content .about_main .about_box + .about_box {
    margin-top:40px;
  }
  #about section.content .about_main .about_box h2 {
    font-size:24px;
  }
  #about section.content .about_main .about_box p.lead {
    margin-top:40px;
  }

}



/*
------------------------------------------------------------------------------------------------------------------------
COMPANY
------------------------------------------------------------------------------------------------------------------------
*/
article#company {
  background-color: #F5F7F7;
  padding-top:150px;
  padding-bottom:0;
  font-weight: 500;
}
#company section.company_body {
  padding-bottom:250px;
  background: linear-gradient(90deg, #fff calc(50% + 600px), #fff calc(50% + 600px), #F5F7F7 calc(50% + 600px), #F5F7F7 100%);
  background-color: #fff;
}
#company .company_mv {
  display: flex;
  flex-wrap: wrap;
  margin-bottom:200px;
  margin-left:calc(50% - 600px);
}
#company .company_mv {
  display: flex;
  flex-wrap: wrap;
  margin-bottom:200px;
}
#company .company_mv .company_main_title {
  margin-top:60px;
  width:30%;
}
#company .company_mv p.img {
  text-align: right;
  width:70%;
  max-width: 940px;
  margin-top:-60px;
}
#company .company_mv p.img img {
  border-top-left-radius: 40px;
  border-bottom-left-radius: 40px;
}

#company .company_box + .company_box {
  margin-top:150px;
  padding-top:120px;
  border-top:1px solid #B5B5B5;
}
#company .company_box h2 {
  font-size:32px;
  font-weight: 500;
  margin-bottom:50px;
}
#company .company_box ul.greeting {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#company .company_box ul.greeting li:first-child {
  width:68%;
}
#company .company_box ul.greeting li:last-child {
  width:27%;
  font-size:14px;
}
#company .company_box ul.rinen li + li {
  margin-top:25px;
}
#company .company_box dl.overview {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding:20px 30px;
}
#company .company_box dl.overview:nth-of-type(even) {
  background-color: #F5F7F7;
}
#company .company_box dl.overview dt {
  width:20%;
}
#company .company_box dl.overview dd {
  width:75%;
}
#company .company_box dl.history {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  line-height: 1.8;
}
#company .company_box dl.history dt {
  width:20%;
  font-size:32px;
  font-weight: bold;
  color: #E62324;
  padding:30px 0;
}
#company .company_box dl.history dt::before {
  content: '・ ';
}
#company .company_box dl.history dd {
  width:75%;
  font-weight: 600;
  padding:30px 0;
}
#company .company_box dl.history dd span {
  font-weight: normal;
}
#company .company_box dl.history dd p + p {
  margin-top:40px;
}

@media screen and (max-width: 1200px) {
  #company .company_mv {
    display: flex;
    flex-wrap: wrap;
    margin-bottom:100px;
    margin-left:0;
  }
  #company .company_mv p.img {
    margin-top:-20px;
  }
}

@media screen and (max-width: 768px) {

  article#company {
    padding-top:80px;
  }
  #company section.company_body {
    padding-bottom:150px;
  }
  #company .company_mv .company_main_title {
    margin-top:20px;
    width:100%;
  }
  #company .company_mv p.img {
    width:100%;
    margin-top:-20px;
  }
  #company .company_mv p.img img {
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
  }

  #company .company_box + .company_box {
    margin-top:60px;
    padding-top:60px;
  }
  #company .company_box h2 {
    font-size:24px;
    margin-bottom:40px;
  }
  #company .company_box ul.greeting li:first-child {
    width:100%;
    margin-bottom:30px;
  }
  #company .company_box ul.greeting li:last-child {
    width:80%;
    font-size:14px;
    margin:auto;
  }
  #company .company_box dl.overview {
    padding:20px 15px;
  }
  #company .company_box dl.overview dt {
    width:100%;
    margin-bottom:10px;
  }
  #company .company_box dl.overview dd {
    width:100%;
  }
  #company .company_box dl.history dt {
    width:100%;
    font-size:24px;
    padding:0px 0;
  }
  #company .company_box dl.history dd {
    width:100%;
    padding:0px 0 0 2em;
  }
  #company .company_box dl.history dd span {
    font-weight: normal;
  }
  #company .company_box dl.history dd p + p {
    margin-top:20px;
  }
  #company .company_box dl.history dd + dt {
    margin-top:20px;
  }

}

/*
------------------------------------------------------------------------------------------------------------------------
RECRUIT
------------------------------------------------------------------------------------------------------------------------
*/
article#recruit {
  background-color: #F5F7F7;
  padding-top:150px;
  padding-bottom:150px;
}
#recruit section.recruit_body {
  position:relative;
  padding:70px 0 70px 0;
}
#recruit section.recruit_body .recruit_body_back {
  position:absolute;
  top:0;
  left:0;
  width:calc(50% + 50% - (50% - 600px));
  height:100%;
  background-color: #fff;
  border-top-right-radius: 40px;
  z-index: 0;
}
#recruit div.recruit_r {
  text-align: center;
  font-size:22px;
  font-weight: bold;
  color: #B5B5B5;
  padding-bottom:200px;
}
#recruit section.recruit_body .recruit_mv {
  position:relative;
  z-index: 1;
  margin-bottom:150px;
}
#recruit section.recruit_body .recruit_body_inner {
  position:relative;
  z-index: 1;
}
#recruit section.recruit_body .recruit_body_inner dl {
  width:90%;
  max-width:1000px;
  margin-left: 50px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#recruit section.recruit_body .recruit_body_inner dl + dl {
  margin-top:100px;
}
#recruit section.recruit_body .recruit_body_inner dl dt {
  width:20%;
  color:#E62324;
  font-size:22px;
  font-weight: bold;
}
#recruit section.recruit_body .recruit_body_inner dl dd {
  width:75%;
}
#recruit section.recruit_body .recruit_body_inner dl dd ul li {
  font-size: 18px;
  line-break: anywhere;
  padding-left:calc(1em + 6px);
  text-indent:calc(-1em - 6px);
}
#recruit section.recruit_body .recruit_body_inner dl dd ul li + li {
  margin-top:10px;
}
#recruit section.recruit_body .recruit_body_inner dl dd ul li::before {
  content:'●';
  color: #E62324;
  margin-right:6px;
}

#recruit .recruit_summary {
  font-family: "Noto Sans JP", sans-serif;
  padding: 130px 0 200px 0;
}
#recruit .recruit_summary h2 {
  font-size:40px;
  font-weight: bold;
  color: #E62324;
  text-align: center;
  margin-bottom:100px;
}
#recruit .recruit_summary .recruit_summary_box + .recruit_summary_box {
  margin-top:200px;
}
#recruit .recruit_summary .recruit_summary_box h3 {
  font-size:32px;
  font-weight: 600;
  margin-bottom:50px;
}
#recruit .recruit_summary .recruit_summary_box ul li {
  padding:20px 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  border-top:1px solid #B5B5B5;
  font-size:14px;
}
#recruit .recruit_summary .recruit_summary_box ul li:last-child {
  border-bottom:1px solid #B5B5B5;
}
#recruit .recruit_summary .recruit_summary_box ul li p:first-child {
  width:150px;
  font-weight: 600;
}
#recruit .recruit_summary .recruit_summary_box ul li p:last-child {
  width:calc(100% - 170px);
}
#recruit .recruit_summary .recruit_summary_box p.recruit_btn {
  margin-top:50px;
}



@media screen and (max-width: 768px) {

  article#recruit {
    padding-top:80px;
    padding-bottom:80px;
  }
  #recruit section.recruit_body {
    padding:50px 0 50px 0;
  }
  #recruit section.recruit_body .recruit_mv {
    position:relative;
    z-index: 1;
    margin-bottom:80px;
  }
  #recruit section.recruit_body .recruit_body_inner {
    position:relative;
    z-index: 1;
  }
  #recruit section.recruit_body .recruit_body_inner dl {
    width:100%;
    margin-left:0;
  }
  #recruit section.recruit_body .recruit_body_inner dl + dl {
    margin-top:50px;
  }
  #recruit section.recruit_body .recruit_body_inner dl dt {
    width:100%;
    font-size:18px;
    margin-bottom:10px;
  }
  #recruit section.recruit_body .recruit_body_inner dl dd {
    width:100%;
  }
  #recruit section.recruit_body .recruit_body_inner dl dd ul li {
    font-size: 16px;
  }
  #recruit section.recruit_body .recruit_body_inner dl dd ul li + li {
    margin-top:10px;
  }

  #recruit .recruit_summary {
    padding: 80px 0 100px 0;
  }
  #recruit .recruit_summary h2 {
    font-size:28px;
    margin-bottom:50px;
  }
  #recruit .recruit_summary .recruit_summary_box + .recruit_summary_box {
    margin-top:100px;
  }
  #recruit .recruit_summary .recruit_summary_box h3 {
    font-size:24px;
    margin-bottom:30px;
  }
  #recruit .recruit_summary .recruit_summary_box ul li p:first-child {
    width:100%;
    margin-bottom:10px;
  }
  #recruit .recruit_summary .recruit_summary_box ul li p:last-child {
    width:100%;
  }
  #recruit .recruit_summary .recruit_summary_box p.recruit_btn {
    margin-top:40px;
    text-align: center;
  }

}

/*
------------------------------------------------------------------------------------------------------------------------
NEWS
------------------------------------------------------------------------------------------------------------------------
*/
article#news {
  background-color: #F5F7F7;
  padding-top:120px;
  padding-bottom:250px;
}
#news .news_main_title {
  padding-bottom:80px;
  border-bottom:1px solid #B5B5B5;
  margin-bottom:80px;
}
#news section.news_list dl dt {
  font-size:14px;
  margin-bottom:10px;
}
#news section.news_list dl + dl {
  padding-top:80px;
  margin-top:80px;
  border-top:1px solid #B5B5B5;
}
#news section.news_list dl dt span.time {
  display: inline-block;
  margin-right:15px;
  padding-right:15px;
  border-right:1px solid #B5B5B5;
}
#news section.news_list dl dt span.cat {
  display: inline-block;
  padding:5px 10px;
  color:#E62324;
  border:1px solid #E62324;
  border-radius: 50px;
}
#news section.news_list dl dd {
  position:relative;
  padding-right:8em;
}
#news section.news_list dl dd::after {
  position:absolute;
  content: '';
  top:50%;
  right:0;
  transform: translateY(-50%);
  width:28px;
  height:28px;
  background-color: #E62324;
  background-image: url('../img/common/arrow.svg');
  background-repeat: no-repeat;
  background-position:center;
  background-size: 8px 9px;
  border-radius: 50%;
}


#news section.news_detail dl.title {
  margin-bottom:50px;
}
#news section.news_detail dl.title dt {
  font-size:14px;
  margin-bottom:40px;
}
#news section.news_detail dl.title dt span.time {
  display: inline-block;
  margin-right:15px;
  padding-right:15px;
  border-right:1px solid #B5B5B5;
}
#news section.news_detail dl.title dt span.cat {
  display: inline-block;
  padding:5px 10px;
  color:#E62324;
  border:1px solid #E62324;
  border-radius: 50px;
}
#news section.news_detail dl.title dd h2 {
  font-size:22px;
  font-weight: 600;
}
#news section.news_detail p.back {
  text-align: center;
  margin-top:80px;
}

@media screen and (max-width: 768px) {

  article#news {
    padding-top:80px;
    padding-bottom:150px;
  }
  #news .news_main_title {
    padding-bottom:0px;
    margin-bottom:50px;
  }
  #news section.news_list dl + dl {
    padding-top:40px;
    margin-top:40px;
  }
  #news section.news_list dl dd {
    padding-right:2.5em;
  }

}


/*
------------------------------------------------------------------------------------------------------------------------
contact
------------------------------------------------------------------------------------------------------------------------
*/
article#contact {
  background-color: #F5F7F7;
  padding-top:120px;
  padding-bottom:250px;
}
#contact .contact_main_title {
  padding-bottom:80px;
  border-bottom:1px solid #B5B5B5;
  margin-bottom:80px;
}
#contact .lead {
  margin-top: 60px;
}
#contact .tel {
  font-family: "Noto Sans JP", sans-serif;
  margin-top: 60px;
  font-size:32px;
  font-weight: 600;
}
#contact .tel span {
  display: inline-block;
  font-size: 24px;
  margin-left: 30px;
}

#contact .tel dd span:not(.font_s) {
  font-size: 2.4rem;
}
#contact .tel dd span.font_s {
  display: block;
  font-size: 1.4rem;
  font-weight: 700;
  margin-top: 15px;
}
#contact h2 {
  font-size: 2.4rem;
  font-weight: 500;
  margin-bottom: 70px;
}
#contact .form {
  margin-bottom: 80px;
}
#contact .form dt {
  font-size: 1.6rem;
  margin-bottom: 15px;
}
#contact .form dd {
  margin-bottom: 30px;
  font-size: 1.6rem;
}
#contact .form dd label {
  margin-right: 70px;
  display: inline-block;
}
#contact .form dd input {
  -webkit-appearance: auto !important;
     -moz-appearance: auto !important;
          appearance: auto !important;
}
#contact .form dd input[type=checkbox] {
  display: inline !important;
  margin-right: 5px;
  accent-color: #E62324;
}
#contact .form dd input[type=radio] {
  display: inline !important;
  margin-right: 5px;
  accent-color: #E62324;
}
#contact .form dd input[type=text] {
  border: 1px solid #707070;
  width: 100%;
  padding: 10px 15px;
  border-radius: 8px;
  background-color: #fff;
}
#contact .form dd input[type=email] {
  border: 1px solid #707070;
  width: 100%;
  padding: 10px 15px;
  border-radius: 8px;
  background-color: #fff;
}
#contact .form dd input.short {
  width: 35%;
}
#contact .form dd select {
  position: relative;
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
  border: 1px solid #707070;
  padding: 10px 5px 10px 10px;
  background-color: #fff;
}
#contact .form dd textarea {
  border: 1px solid #707070;
  width: 100%;
  padding: 10px 15px;
  min-height: 300px;
  border-radius: 8px;
  background-color: #fff;
}
#contact .form dd span.rental_link a {
  margin-left: 70px;
  text-decoration: underline;
}
#contact .form dd span.rental_link a:hover {
  opacity: 0.7;
}
#contact .form dd.privacy label {
  margin-right: 20px;
  font-size: 1.8rem;
}
#contact .form dd.privacy .red {
  color: #C10700;
}
#contact .form dd.privacy .link {
  margin-top: 30px;
}
#contact .form dd.privacy .link a {
  display: inline-block;
  background: #000;
  color: #fff;
  height: 41px;
  line-height: 41px;
  padding: 0 24px;
}
#contact ul.button {
  display: flex;
  justify-content: center;
}
#contact ul.button li {
  position:relative;
  width:100%;
  max-width:340px;
  color:#fff;
  margin: 0 15px;
}
.mw_wp_form_input ul.button li:first-child {
  display: none;
}
#contact ul.button li::after {
  position:absolute;
  content: '';
  width:24px;
  height:24px;
  top:50%;
  right:20px;
  background-image: url('../img/common/plus.svg');
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
  transform: translateY(-50%);
  transition: 0.3s;
}
#contact ul.button li:hover::after {
  background-image: url('../img/common/plus_r.svg');
}
#contact .submit {
  max-width: 340px;
  margin: 0 auto;
  position: relative;
  transition: 0.3s;
}
#contact .submit input {
  position:relative;
  width:100%;
  max-width:340px;
  min-width:250px;
  color:#fff;
  font-size:18px;
  font-weight: 600;
  line-height: 1.3;
  background-color: #E62324;
  border:2px solid  #E62324;
  border-radius: 50px;
  transition: 0.3s;
  display: inline-block;
  padding:15px 100px 15px 20px;
}
#contact .submit input:hover {
  color:#E62324;
  background-color:#fff;
  transition: 0.3s;
}

@media screen and (max-width: 768px) {
  article#contact {
    padding-top:80px;
    padding-bottom:150px;
  }
  #contact .contact_main_title {
    padding-bottom:0px;
    margin-bottom:50px;
  }
  #contact .lead {
    margin-bottom: 50px;
  }
  #contact .tel dt {
    font-size: 2rem;
    margin-bottom: 10px;
  }
  #contact .tel dd a {
    font-size: 3.8rem;
  }
  #contact .tel dd span {
    display: block;
  }
  #contact .tel dd span:not(.font_s) {
    font-size: 1.6rem;
  }
  #contact .tel dd span.font_s {
    font-size: 1.3rem;
    margin-top: 10px;
  }
  #contact h2 {
    font-size: 2rem;
    margin-bottom: 30px;
  }
  #contact .form {
    margin-bottom: 60px;
  }
  #contact .form dt {
    font-size: 1.6rem;
  }
  #contact .form dd {
    font-size: 1.5rem;
  }
  #contact .form dd label {
    margin-right: 30px;
  }
  #contact .form dd textarea {
    min-height: 200px;
  }
  #contact .form dd.privacy label {
    font-size: 1.6rem;
  }
  #contact .form dd.privacy .red {
    display: block;
  }
  #contact .form dd.privacy .link {
    margin-top: 20px;
  }
}


/*
------------------------------------------------------------------------------------------------------------------------
POLICY
------------------------------------------------------------------------------------------------------------------------
*/

article#policy {
  background-color: #F5F7F7;
  padding-top:120px;
  padding-bottom:250px;
}
#policy .policy_main_title {
  padding-bottom:80px;
  border-bottom:1px solid #B5B5B5;
  margin-bottom:80px;
}
#policy section.policy_content {
  font-family: "Noto Sans JP", sans-serif;
  margin-bottom:60px;
  font-size: 14px;
}
#policy section.policy_content p.lead {
  margin-bottom:50px;
}
#policy section.policy_content dt {
  margin-bottom:10px;
}
#policy section.policy_content dd + dt {
  margin-top:50px;
}
#policy section.policy_content dd {
  padding-left:2em;
}
#policy section.policy_content dd ul {
  margin-top:20px;
  padding-left:1em;
}
#policy section.policy_content dd ul li + li {
  margin-top:10px;
}
#policy section.policy_content dd ul li {
  list-style: decimal;
}

@media screen and (max-width: 768px) {

  article#policy {
    padding-top:80px;
    padding-bottom:150px;
  }
  #policy .policy_main_title {
    padding-bottom:0px;
    margin-bottom:50px;
  }

}