@charset "utf-8";

/*
16px基準文字サイズ
8px	  0.5rem
10px	0.625rem
11px	0.6875rem
12px	0.750rem
13px	0.8125rem
14px  0.875rem
15px	0.9375rem
16px	1rem
18px	1.125rem
20px	1.25rem
21px  1.3125rem
22px	1.375rem
24px	1.5rem
28px  1.75rem
30px  
32px	2rem
36px	2.25rem 
38px	2.375rem 
39px	 2.4375rem
40px	 2.5rem
*/
/*
Layout（ページを構成する要素に対して使用するクラス）・・・「l-」
Component（複数のページで再利用できる要素に対して使用するクラス）・・・「c-」
Project（ページ単位で使用するクラス）・・・「p-」
Utility（強制的にスタイルを当てたりする調整用のクラス）・・・「u-」
*/

/* ================================================
   RESET
================================================ */
html, body, div, dl, dt, dd, ul, ol, li,
h1, h2, h3, h4, h5, h6,
pre, form, fieldset, input, textarea,
p, blockquote, th, td {
margin: 0;
padding: 0;
}
h1, h2, h3, h4, h5, h6 {
font-size: 100%;
font-weight: normal;
}
address, caption, cite, code, dfn, th, var {
font-style: normal;
font-weight: normal;
}
caption, th {
text-align: left;
}
ol, ul {
list-style: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
img, abbr, acronym, fieldset {
border: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: "";
}
img {
max-width: 100%;
height: auto;
vertical-align: top;
}
a {
display: block; 
text-decoration: none;
color: inherit;
outline: none;
}
a[href^="tel:"]{
   pointer-events: none;
   display: inline-block;
   color: #f76e02;
}
@media screen and (max-width: 768px) {
   a[href^="tel:"] {
       pointer-events: auto;
   }
}

/* ================================================
   BASIC
================================================ */
html {
	scroll-behavior: smooth;
}

@media (max-width: 1200px) {
  html {
    font-size: 1.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  html {
    font-size: 0.9375rem;
  }
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}
/*html {
font-size:62.5%;
}
*/
body {
font-size:1rem;
line-height: 1.5;
font-family: "Lato", "Noto Sans JP", serif;
font-weight: 500;
color: #fff;
background: #000;
padding: 0px;
margin: 0px;
-webkit-text-size-adjust:100%;
letter-spacing:0.05em;
overflow:hidden;
overflow-y:scroll;
overflow-x:hidden;
-webkit-backface-visibility: hidden;
-webkit-font-smoothing: antialiased;
animation: loading 1s;
position: relative;
}
@keyframes loading {
	0% {opacity: 0;}
	100% {opacity: 1;}
}

a {
color:#fff;
-webkit-transition: all .4s;
transition: all .4s;
text-decoration:none;
opacity:1;
}
a:hover {
opacity: 0.6;
-webkit-transition: all .4s;
transition: all .4s;
text-decoration:none;
}
@media screen and (min-width: 768px) {
   a[href^="tel:"] {
       pointer-events: none;
   }
}

/* WRAPPER
------------------------------------------------ */
#l-wrapper {
   position: relative;
}
#wrapper img {
max-width:100%;
height:auto;
}

/* HEADER
------------------------------------------------ */
#header {
width: 100%;
position: fixed;
z-index: 100;
top:0;
}
.l-header_inr {
position: relative;
margin: 0 auto;
padding: 1rem 1rem;
display: flex;
justify-content: space-between;
align-items: center;
height: 7rem;
max-height: 100px;
overflow: hidden;
}
.l-logo {
   width: 20rem;
   min-width: 180px;
}
.l-logo a img {
	filter: drop-shadow(1px 1px 1px rgba(0, 0, 0, 0.8));
}
.l-logo .sp-only {
    display: none;
}
.l-head_link {
   display: flex;
   align-items: center;
   justify-content: flex-start;
   margin-left: 2rem;
}
.l-head_link_item {
   overflow: hidden;
   display: flex;
    align-items: center;
    height: 100px;
}

.l-head_reservation a {
	background: #f76e02;
	color: #fff;
	border-radius: 100px 100px;
	font-size: 1.1rem;
	font-weight: bold;
	padding: 0.9rem 1.5rem;
	position: relative;
	display: flex;
	align-items: center;
	gap: .5rem;
	box-shadow: 2px 3px 4px rgba(0, 0, 0, 0.5);
}
.l-head_reservation a::before {
content: "";
width: 0.5rem;
height: 0.5rem;
background: #fff;
display: flex;
border-radius: 50% 50%;
}

.l-navi {
   margin-left: auto;
}
.l-gnav {
display: flex;
align-items: baseline;
justify-content:space-around;
}
.l-gnav_item {
   margin: 0 1.2rem;
}
.l-gnav_item a {
font-size: 1.125rem;
font-weight: bold;
padding: 0.1rem 0.2083333333vw;
overflow: hidden; 
color: #fff;
filter: drop-shadow(0 0 5px #333);
}

.l-gnav_item_txt {
   position: relative;
   transition: transform .3s ease-in-out;
   text-decoration: none;
   display: inline-block;
}
.l-gnav_item a .l-gnav_item_txt:after{
   content: attr(data-text);
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   margin: auto;
   bottom: 0;
   transform: translateY(102%);
   white-space: nowrap;
   z-index: 10;
   transition: transform .3s ease-in-out;
}
.l-gnav_item a:hover .l-gnav_item_txt {
   transform: translateY(-100%);
   transition: transform .3s ease-in-out;
}
.l-gnav_item a:hover .l-gnav_item_txt:after {
   transform: translateY(100%);
   transition: transform .3s ease-in-out;
}

._h_slidetext {
   overflow: hidden;  
}
._h_slidetext p{
   transition: transform .3s ease-in-out;
   position: relative;
   text-decoration: none;
   display: inline-block;
}
._h_slidetext p:after{
   content: attr(data-text);
   position: absolute;
   top: 2px;
   left: 0;
   right: 0;
   transform: translateY(100%);
   white-space: nowrap;
   z-index: 10;
   transition: transform .3s ease-in-out;
}
.l-head_link_item a:hover ._h_slidetext p {
   transform: translateY(-100%);
   transition: transform .3s ease-in-out;
}
.l-head_link_item a:hover ._h_slidetext p:after {
   transform: translateY(100%);
   transition: transform .3s ease-in-out;
}

.l-head_link_item._h_recruit a:hover {
   background: #000;
   transition: all .3s;
}
.l-head_link_item._h_contact a:hover {
   background: #f76e02;
   transition: all .3s;
}

@media (max-width: 768px) {
.l-logo .pc-only {
	display: none;
}
.l-logo .sp-only {
	display: block;
}
   .l-header_inr {
      height: 65px;
      padding: 0 ;
   }
   .l-navi {
      display: none;
   }
   .l-head_link_item a {
      min-width: 100%;
      padding: 2rem 0;
   }
.l-head_reservation a {
    font-size: 0.75rem;
    padding: 0.5rem 1rem;
}
   .l-head_link {
      margin-left: 0;
      margin-right: 65px;
   }
   .l-head_link_item img {
      width: 30px;
  }
  ._h_slidetext p {
      font-size: 0.65rem;
   letter-spacing: 0;
   }
   .l-head_link_item {
      height: 65px;
      width:65px ;
   }
}

@media screen and (max-width: 768px) {
   .l-logo {
      min-width: 160px;
      width: 17rem;
      padding-left:10px;
   }
  .l-gnav_item a {
   padding: 0.8rem;
   line-height: 1.3;
  }
  .l-gnav {
   display: grid;
   grid-template-columns: 1fr 1fr 1fr;
   background: #ddc041;
  }
  .l-gnav li a {
   color: #fff;
  }
  .l-gnav li {
   width: auto;
   text-align: center;
  }
  .l-header_contact {
   display: none;
  }
  .l-header_inr_nav_sub {
   display: none;
   margin: 0 auto;
  }
  .l-head_link_item {
   height: 65px;
   width:65px ;
   }
}
@media screen and (max-width: 640px) {
   .l-gnav_item a {
      font-size: 3.2vw;
      line-height: 1.2;
      padding: 0.8rem 0;
   }
   .l-gnav_item span {
      display: block;
   }
   ._h_slidetext p {
      font-size: 0.6rem;
      letter-spacing: 0;
  }
  .l-head_link_item {
   height: 65px;
   width:63px ;
   }
   .l-header_inr {
      padding: 0 0 0 10px;
  }
}
@media screen and (max-width: 540px) {
   .l-logo {
      min-width: 160px;
      width: 41vw;
      padding-left: 0;
   }
}

/* VISUAL
------------------------------------------------ */
.p-hero {
   background: url(images/p_mv_bg_org.jpg) no-repeat center center;
   background-size: cover;
   height: 100vh;
}
.p-mv {
   background: url(images/mv_bg.jpg) no-repeat center center;
   background-size: cover;
   height: 86svh;
   position: relative;
}
.p-mv_mes {
    position: absolute;
    left: 3vw;
    bottom: -5vw;
    margin: auto;
    color: #fff;
    z-index: 1;
}
.p-mv_txt {
font-size: 5rem;
line-height: 1.1;
color: #fff;
text-shadow: #ccc 1px 0 20px;
filter: drop-shadow(0 0 5px #ccc);
}
.p-mv_txt_block{
   display: block;
}

.p-mv_ttl_sub {
   font-size: 1.5rem;
   font-weight: bold;
}
.p-mv_ttl_sub span {
   padding: 0.6rem;
   background: #f76e02;
}
.p-mv_ttl_main {
   font-size: 5.5rem;
   font-weight: 900;
   line-height: 1.3;
   margin: 1rem 0;
}
.p-mv_ttl_main span {
   display: block;
}
.p-mv_ttl_mes {
   font-size: 1.75rem;
   font-weight: 900;
   color: #000;
}
.p-mv_ttl_mes span {
   background: #fff;
   padding: 0.6rem;
   line-height: 2.2;
}
.p-mv_pic {
    position: absolute;
    right: 3vw;
    bottom: -5vw;
    margin: auto;
    max-width: 22rem;
    z-index: 1;
}


@media screen and (max-width: 768px) {
   .p-mv_txt {
      font-size: 8vw;
      text-align: center;
   }
.p-mv_pic {
	width: 11rem;
	text-align: center;
	margin: 0 auto;
	display: none;
}
   .p-hero_txt {
      padding: 4rem 20px 0;
  }
  .p-hero_txt h2 {
   font-size: 1.75rem;
  }
.p-hero {
        height: 100vh;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        width: 100%;
        background-position: 50% 100%;
        background-size: 140%;
    }
.p-mv_ttl_sub {
    font-size: 0.8125rem;
}
.p-mv_ttl_main {
    font-size: 2.9375rem;
}
.p-mv_ttl_mes {
    font-size: 1.025rem;
    font-weight: 600;
}
.p-mv_ttl_mes span {
    padding: 0.2rem;
    line-height: 190%;
}
   .p-mv_process_ttl {
      font-size: 2.2vw;
      margin: 0 auto 1rem auto;
   }
   .p-mv_process_list {
      font-size: 1.8vw;
   }
   .p-mv_process_pic {
      max-width: 35vw;
      display: flex;
      align-items: center;
      margin-right: 2rem;
   }
   .p-mv_process{
   font-size: 1.3333333333vw;
   width: 26vw;
   right: 3vw;
   position: relative;
   width: 100%;
   display: flex;
   justify-content: space-between;
   right: 0;
   bottom: 0;
   margin-top: 3rem;
   }
   .p-mv_txt_jp_small {
      font-size: 3vw;
   }
.p-mv_mes {
	position: absolute;
	height: auto;
	margin: 0 auto;
	left: 0;
	top: auto;
	bottom: 2rem;
	padding-left: 1rem;
	box-sizing: border-box;
}
.p-mv {
	width: 100%;
	background: none;
}
}

@media screen and (max-width: 640px) {
   .p-mv_pic {
   width: 7rem;
   }
  .p-hero_txt h2 {
   font-size: 1.5rem;
   }
   .p-hero_txt p {
      font-size: 1rem;
      margin: 0.8rem auto;
   }
   .p-mv_process{
      margin-top: 2rem;
      }
}

/* ------TOP背景スライド画像------ */
.mvimg-frame {
	position: relative;
	width: 100%;
	height: 86svh;
	overflow: hidden;
	margin: 0 auto;
	z-index: 0;
}
.mvimg-01, .mvimg-02, .mvimg-03{
	position: absolute;
	top:0;
	left:0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-repeat: no-repeat;
}
.mvimg-01{
	background-image: url(images/mv_bg-01.jpg);
	animation: slide-animation-01 24s infinite;
}
.mvimg-02{
	background-image: url(images/mv_bg-02.jpg);
	animation: slide-animation-02 24s infinite;
}
.mvimg-03{
	background-image: url(images/mv_bg-03.jpg);
	animation: slide-animation-03 24s infinite;
}
@keyframes slide-animation-01 {
    0% {opacity: 1; transform: scale(1.0);}
  30% {opacity: 1;}
  40% {opacity: 0; transform: scale(1.15);}
  90% {opacity: 0}
100% {opacity: 1; transform: scale(1.0);}
}
@keyframes slide-animation-02 {
    0% {opacity: 0;}
  30% {opacity: 0; transform: scale(1.1);}
  40% {opacity: 1;}
  60% {opacity: 1;}
  70% {opacity: 0; transform: scale(1.0);}
100% {opacity: 0;}
}
@keyframes slide-animation-03 {
    0% {opacity: 0;}
  60% {opacity: 0;  transform: scale(1.0);}
  70% {opacity: 1;}
  90% {opacity: 1;}
100% {opacity: 0; transform: scale(1.1);}
}

@media screen and (max-width: 768px) {
.mvimg-frame {
	position: absolute;
	top: -5.75rem;
	right: 0%;
	/* left: 0%; */
	margin: auto;
	height: 88vh;
}
.mvimg-01, .mvimg-02, .mvimg-03 {
	background-position: 60% 50%;
}
}

/* CONTENTS
------------------------------------------------ */
.l-contents {
margin-top:8rem;
}

.l-top_inner {
	width: 100%;
	max-width: 1200px;
	padding-right: 1rem;
	padding-left: 1rem;
	margin-right: auto;
	margin-left: auto;
	position: relative;
}
.l-inner {
	width: 100%;
	max-width: 1250px;
	padding-right: 1rem;
	padding-left: 1rem;
	margin-right: auto;
	margin-left: auto;
	position: relative;
	box-sizing: border-box;
}
.l-inner_wide {
    width: 100%;
    max-width: 100%;
    /* padding-right: 1rem; */
    /* padding-left: 1rem; */
    margin-right: auto;
    margin-left: auto;
    position: relative;
}


/* FOOTER
------------------------------------------------ */
.l-footer {
   margin-top: 4rem;
   padding: 4rem 0 7rem 0;
}
.l-footer_inr {
position: relative;
margin: 0 auto;
padding: 0 20px;
max-width: 1200px;
color: #f76e02;
}
.l-footer_inr a {
   color: #f76e02;
}
.l-footer_contents {
   max-width: 1200px;
   padding: 0 20px;
   margin: 0 auto;
   display: flex;
   justify-content: center;
   align-items: baseline;
   gap: 5rem;
}
.l-footer_logo {
   width: 23rem;
}
.l-footer_main {
   display: flex;
   justify-content:space-between;
   flex-direction: row-reverse;
}
.l-footer_add {
font-size: 1rem;
margin: 1rem 0;
}
.l-footer_tel {
   font-size: 1rem;
}
.l-footer_tel span {
    width: 2.4em;
    display: inline-block;
}
.l-footer_google {
   margin: 1rem 0;
   text-decoration: underline;
}
.l-footer_nav_list li {
   margin: 1rem 0;
}
.l-footer_nav_list_item a {
   padding: 0.3rem 2rem 0.3rem 0.3rem;
   font-size: 1.125rem;
   position: relative;
   display: inline-block;
   font-weight: bold;
   position: relative;
}
.l-footer_nav_list_item a:after {
content: "";
width:1.5rem ;
height: 1px;
background: #f76e02;
 transform:rotate(-45deg);
 display: block;
 position: absolute;
 right: 0;
 top: 0;
 bottom: 0;
 margin: auto;
}
.l-footer_nav_list_item:last-child a:after {
display: none;
}

.l-footer_nav_list_sub a {
   font-size: 1rem !important;
   position: relative;
   padding: 0.3rem 0.2rem 0.3rem 2rem;
   position: relative;
}
.l-footer_sns {
   display: flex;
   justify-content: end;
   margin: 1rem 2rem 0;
}
.l-footer_sns_main {
display: flex;
gap: 1rem;
align-items: center;
}
.l-footer_sns_ttl {
   font-size: 1rem;
   font-weight: bold;
}
.l-footer_sns_list {
display: flex;
gap: 1rem;
}
.l-footer_sns_list_item {
width: 4rem;
max-width: 32px;
}
.l-footer_nav_list {
display: flex;
gap: 1rem;
margin: 1rem 0 3rem;
}
.l-footer_nav_open {
   display: flex;
       justify-content: end;
}
.l-footer_nav_open_ttl {
      font-size: 1rem;
   font-weight: bold;
}
.l-footer_nav_open_time {
   font-size: 1rem;
}

.l-footer_sub {
   margin-top: 5rem;
   border-top: 1px solid #333;
   padding: 4rem 0 3rem;
   display: flex;
   justify-content:space-between;
   font-size:0.9rem;
}

@media (max-width: 768px) {

   .l-footer_main {
      display: block;
      justify-content: space-between;
  }
.l-footer_head {
}
   .l-footer_contents {
      display: block;
      text-align: center;
  }
  .l-footer_logo {
   margin: 0 auto 2rem;
   }
    .l-footer_nav {
        display: none;
    }
   .l-footer_link {
      text-align: center;
      margin: 2rem auto;
   }
   .l-footer_link_insta {
      display: inline-block;
   }
.l-footer {
	margin-bottom: 0;
	margin-top: 0;
	padding-bottom: 4rem;
}
  .l-footer_tel {
   font-size: 1.215rem;
   }
.l-footer_sub {
	display: block;
	justify-content: space-between;
	gap: 3rem;
	flex-direction: unset;
	margin-top: 2rem;
	padding: 2rem 0 0;
}
.l-copy {
	font-size: 1rem;
	margin-top: 2rem;
}
  .l-footer_mark_list li {
   width: 30%;
   }
   .l-footer_mark_list {
      display: flex;
      flex-wrap: wrap;
      width: 80%;
      margin: 0 auto;
  }
  .l-footer_nav {
   gap: 1rem;
   }
   .l-footer_nav_list a,
   .l-footer_nav_list_sub a {
      font-size: 0.8735rem !important;
   }
.l-footer_logo {
	width: 100%;
	max-width: 100%;
}
}

@media (max-width: 640px) {
/*
  .l-footer_nav_list li {
   border-bottom: 1px solid #ddd;
   margin: 0 0;
   padding: 0.5rem 0;
  }
  .l-footer_nav_list:last-child li {
   border-bottom: none !important;
  }
  .l-footer_nav_list_sub {
   border-bottom: none !important;
  }
  .l-footer_nav_list:last-child .l-footer_nav_list_sub {
   border-bottom: none !important;
  }
  .l-footer_nav_list .l-footer_nav_list_sub {
   padding: 0.2rem 0 !important;
  }
 */
}

/* ================================================
   コンテンツページ
================================================ */

/* 共通
------------------------------------------------ */
.c-btn_wht {
   width: min(7.7959183673vw + 143.2653061224px, 240px);
}
.c-btn_wht._sizewide {
   width: min(12vw + 150px, 500px);
}
.c-btn_wht a {
border-radius: 2px 2px;
padding: 1rem;
background: none;
color: #fff;
font-size: 1.1rem;
font-weight: 600;
text-align: center;
margin: 0 auto;
border: 1px solid #fff;
border-radius: 100px 100px;
}
.c-btn_wht a {
position: relative;
transition: all .4s;
overflow: hidden;
z-index: 1;
margin-top: 1rem;
}

.c-btn_wht a::after {
   border-radius: 2px 2px;
   background: none;
   position: absolute;
   top: 0;
   left: 0;
   content: '';
   width: 100%;
   height: 100%;
   transform: scale(0, 1);
   transform-origin: left top;
   transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
   z-index: -1;
 }
.c-btn_wht a:hover {
   color: #fff;
   opacity:1;
}
.c-btn_wht a:hover::after {
   transform: scale(1, 1);
}

.c-btn_wht_arw {
   position: absolute;
   width: 30px;
   height: fit-content;
   display: block;
   right: 1.5rem;
    top: 0;
    bottom: 0;
    margin: auto;
    transition: all .4s;
}
.__arw_main::before {
   content: "";
   height: 1px;
   background-color: #fff;
   position: absolute;
   width: 30px;
   right: 0;
} 
.__arw_main::after {
   content: "";
   position: absolute;
   top: 0;
   right: 0;
   transform-origin: right bottom;
   width: 16px;
   height: 1px;
   background-color: #fff;
   transform: rotate(45deg);
}
.c-btn_wht a:hover .c-btn_wht_arw {
   right: 0.5rem;
   transition: all .4s;
}
.p-top-section_btn_center {
   text-align: center;
   margin: 0 auto;
}

@media (max-width: 768px) {
   .c-btn_wht._sizewide {
   width: min(30vw + 150px, 350px);
   }
   .c-btn_wht {
      width: min(15rem + 3rem, 320px);
  }
  .p-top-about_img_sub_bg {
   width: 20%;
   height: 25rem;
  }
  .c-btn_wht a {
   padding: 1.3rem 1rem;
  }
  .c-btn_wht a {
   padding: 1rem;
   font-size: 1rem;
   }
}
@media (max-width: 640px) {
   .c-btn_wht {
   width: min(13rem + 3rem, 320px);
   }
}

/* TOP
------------------------------------------------ */
.p-top-section {
    margin: 0 auto;
    /* padding: 8rem 0; */
    padding: 4rem 0;
}
.p-top-section_wide {
max-width: 100%;
margin: 0 auto;
padding: 8rem 0;
}
.p-top-section_inr {
max-width: calc(1200px - 30px);
margin: 0 auto;
position: relative;
}
.p-top-section_ttl {
font-size: 2.5em;
margin-bottom: 4rem;
font-weight: bold;
}
.p-top-section_ttl span {
   font-size: 1.215rem;
   font-weight: bold;
   margin-left: 1rem;
}
.p-top-section_ttl_lead {
   font-size: 1.125rem;
}
.p-top-section_head {
   position: relative;
   margin: 0 auto 4rem auto;
}
.__topttl_center {
    text-align: center;
}
.p-top-section_ttl_pic {
   display: block;
   line-height: 1;
   width: 12rem;
   text-align: center;
   margin: 0 auto;
}
.p-top-news_btn {
   position: absolute;
    right: 0;
    top: 0;
}

.p-top-section_ttl_main {
   font-size: 3.5rem;
   font-weight: bold;
   position: relative;
   display: inline-block;
}
.p-top-section_ttl_sub {
   display: block;
  font-size: 1.215rem;
   font-weight: bold;
}
.p-top-section_ttl_sub2 {
   display: block;
  font-size: 1.5rem;
   font-weight: bold;
}
.p-top-section_ttl_sub3 {
    font-size: 1.875rem;
    text-align: center;
    padding: 2.5rem 0 1.25rem;
}
.p-top-section_ttl_sub_bg {
   display: inline-block;
   padding: 0.1rem 0.5rem;
   background: #f76e02;
   color: #000;
}
.p-top-section_ttl_decoration {
   background:url(images/p_decoration_org_1.png) no-repeat center center;
   background-size:cover;
   width:2rem ;
   height: 6rem;
   position: absolute;
   right: 0;
   top: 0;
    position: absolute;
    right: -4rem;
}

@media screen and (max-width: 1200px) {
   .p-top-section_ttl_lead br {
      display: none;
  }
}
@media screen and (max-width: 1023px) {
   .p-top-section_head {
      display: block;
   }
}

@media screen and (max-width: 768px) {
.p-top-section_ttl_main {
	font-size: 2.5rem;
	display: block;
}
   .p-top-section_ttl span {
   font-size: 3rem;
   }
   .p-top-section_ttl {
      font-size: 1.7rem;
      margin-bottom: 2rem;
   }
.p-top-section {
	padding: 3rem 0;
	overflow: hidden;
	margin-top: -1px;
}
.l-inner_wide .p-top-section_ttl_main {
    padding: 0 1rem;
    box-sizing: border-box;
}
.__topttl_center {
    text-align: left;
}
.p-top-section_head.__topttl_center {
	text-align: left;
	margin-bottom: 2rem;
}
.p-top-section_ttl_sub {
    position: absolute;
}
.l-page-head .p-top-section_head.inr-P:first-child .p-top-section_head_inr .p-top-section_ttl_sub,
.l-page-head .p-top-section_head.inr-T:first-child .p-top-section_head_inr .p-top-section_ttl_sub {
	display: inline-block;
	position: initial;
}
.p-top-section_ttl_decoration {
    width: 1.25rem;
    height: 3rem;
    top: 0.5rem;
    right: 0;
    position: inherit;
    display: inline-block;
}
}
@media screen and (max-width: 640px) {
   .p-top-section_ttl span {
   font-size: 2.2rem;
   }
}


/* Service
------------------------------------------------ */
.p-top-service {
   background: #262626;
}
.p-top-service_list {
   display: grid;
   gap: 5rem 4rem;
   grid-template-columns: 1fr 1fr;
}
.p-top-service_list_pic {
   position: relative;
}
.p-top-service_list_num {
   position: absolute;
   left: 1rem;
    top: -2.5rem;
    font-size: 2rem;
    font-weight: 900;
    color: #f76e02;
}
.p-top-service_list_num span {
   font-size: 3rem;
   font-weight: bold;
   margin-left: 1rem;
}
.p-top-service_list_ttl {
   font-size: 2.5rem;
   font-weight: bold;
   color: #f76e02;
   margin-bottom: 2rem;
   text-align: center;
}
.p-top-service_list_ttl span {
   font-size: 1.5rem;
   color: #fff;
   display: block;
}
.p-top-service_list_head {
   margin-top: -2rem;
   z-index: 2;
   position: relative;
}
.p-top-service_list_txt {
   text-align: center;
}
.p-top-sevice_btn {
   position: absolute;
   right: 0;
   top: 0;
   margin-top: 2rem;
}

@media screen and (max-width: 768px) {
.p-top-service_list {
    gap: 5rem;
    grid-template-columns: inherit;
    grid-template-rows: auto;
}
.p-top-sevice_btn {
    position: inherit;
    margin: 4rem auto 0;
}
.p-top-service_list_num {
    font-size: 1.5rem;
    top: -2.15rem;
}
.p-top-service_list_num span {
    font-size: 2.25rem;
    margin-left: 0.25rem;
}
.p-top-service_list_head {
    margin-top: -1.25rem;
}
.p-top-service_list_ttl {
	font-size: 2.25rem;
	margin-bottom: 0.5rem;
	line-height: 100%;
}
.p-top-service_list_ttl span {
	font-size: 1.125rem;
	margin: 0.5rem auto;
}
.p-top-service_list_txt {
    text-align: left;
    font-weight: 300;
}
}

/* SERVICE（下層）
------------------------------------------------ */
.p-service-top {
    margin-top: -7rem;
}
.p-top-service-detail {
}
.p-service-detail_section {
    max-width: 1200px;
    margin: auto;
}
.p-service-detail_list {
}
.p-service-detail_list_item {
    display: grid;
    grid-gap: 4.375rem;
    grid-template-columns: 1fr 1fr;
    padding: 8rem 0 4rem;
    position: relative;
}
.p-service-detail_list_item:before {
    content: "";
    display: inline-block;
    width: 100%;
    height: 1px;
    background: #f46a00;
    position: absolute;
    bottom: 0;
}
.p-service-detail_list_item:after {
    content: "";
    display: inline-block;
    width: 100%;
    height: 3px;
    background: #f46a00;
    position: absolute;
    bottom: 5px;
}
.p-service-detail_list_item:last-child:before, .p-service-detail_list_item:last-child:after {
	display: none;
}
.p-service-detail_list_ttl {
    position: absolute;
    left: 1rem;
    top: 3rem;
    font-size: 3.75rem;
    font-weight: 900;
    color: #f76e02;
    line-height: 3rem;
}
.p-service-detail_list_num {
    font-size: 2rem;
    display: block;
}
.p-service-detail_list_num b {
    font-size: 3rem;
    margin-left: 0.25rem;
}

.p-service-detail_list_head {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.p-service-detail_list_txt {
    margin: 1rem 0;
    font-weight: 300;
    line-height: 180%;
}
.p-service-detail_Pttl {
    font-size: 1.3125rem;
    font-weight: 900;
    color: #f46a00;
    padding-bottom: 1rem;
    margin-top: 1rem;
}
.p-service-detail_head_Pttl {
    background: #f46a00;
    color: #000;
    font-size: 1.3125rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 1rem;
}
.p-service-detail_Plist li {
    border-top: 1px solid #f46a00;
    padding: 1rem;
    box-sizing: border-box;
}
.p-service-detail_Plist dl {
    display: flex;
    flex-wrap: wrap;
}
.p-service-detail_Plist dt {
    width: 40%;
}
.p-service-detail_Plist dd {
    width: 60%;
}
.p-service-detail_Plist dt span, .p-service-detail_Plist dd span, .p-service-detail_Plist p span {
    font-size: 0.750rem;
    font-weight: 300;
}
.p-service-detail_Plist li p {
    font-weight: 300;
}

.p-top-section_head.__topttl_center:has(.p-top-section_ttl_main.service_subttl) {
    padding: 0 0 4rem;
    position: relative;
    max-width: 1200px;
}
.p-top-section_head.__topttl_center:has(.p-top-section_ttl_main.service_subttl):before {
    content: "";
    display: inline-block;
    width: 100%;
    height: 1px;
    background: #f46a00;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}
.p-top-section_head.__topttl_center:has(.p-top-section_ttl_main.service_subttl):after {
    content: "";
    display: inline-block;
    width: 100%;
    height: 3px;
    background: #f46a00;
    position: absolute;
    bottom: 5px;
    left: 0;
    right: 0;
    margin: auto;
}
.p-top-section_ttl_main.service_subttl {
    font-size: 2.25rem;
}

.p-top-section_ttl_main.service_subttl .p-top-section_ttl_decoration {
    width: 1.5rem;
    height: 4rem;
    top: -0.5rem;
    right: -2.5rem;
}
.p-top-section_ttl_main.service_subttl .p-top-section_ttl_sub {
    margin-top: 0.35rem;
}

.p-service-fee_list_otr {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 4rem;
}
.p-service-fee_list_otr.__list3 li {
    width: 32%;
    box-sizing: border-box;
}
.p-service-fee_list_otr.__list2 li {
    width: 46%;
}
.p-service-detail_Plist {
    border-bottom: 1px solid #f46a00;
}
.border-none {
	border: none !important;
}
.p-service-fee_list_otr.__list3 li .p-service-detail_Plist li, .p-service-fee_list_otr.__list2 li .p-service-detail_Plist li {
    width: 100%;
}

.flow-list {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 600px;
    margin: auto;
}
.flow-list li {
    position: relative;
    /* width: 23%; */
    border: 1px solid #f46a00;
    box-sizing: border-box;
    text-align: center;
    padding-bottom: 3rem;
    margin-top: 3rem;
}
.flow-list li:after {
    position: absolute;
    content: "";
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
    border-right: 1px solid #f46a00;
    border-bottom: 1px solid #f46a00;
    transform: rotate(45deg);
    right: 0%;
    left: 0%;
    bottom: -1.75rem;
    margin: auto;
}
.flow-list li:last-child:after {
	display: none;
}
.flow-list .flow-step {
    position: absolute;
    font-size: 1.875rem;
    font-weight: 900;
    color: #f46a00;
    line-height: 3rem;
    top: -2.25rem;
    left: 1.5rem;
}
.flow-list .flow-step span {
    font-size: 3rem;
}
.flow-list h3 {
    font-size: 1.3125rem;
    font-weight: 900;
    color: #f76e02;
    margin-top: 3rem;
}
.flow-list h3 strong {
    color: #fff;
    margin-left: 0.2rem;
}
.flow-list p {
    font-size: 0.875rem;
    font-weight: 300;
    margin-top: 0.5rem;
}
.fee_list_extxt {
	margin-top: -3rem;
	margin-bottom: 3rem;
}
.flow-list h3 br, .flow-list p br {
    display: none;
}
.p-service-detail_section.pb5rem {
	page-break-after: 5rem;
}

@media screen and (max-width: 768px) {
.p-service-top {
	margin: 0 auto 3rem;
}
.p-service-detail_list_item {
    grid-template-columns: 1fr;
    grid-gap: 1rem;
    padding: 5rem 0 4rem 0;
}
.p-service-detail_list_ttl {
    font-size: 2.75rem;
    line-height: 2.25rem;
    top: 1rem;
}
.p-service-detail_list_num {
    font-size: 1.5rem;
}
.p-service-detail_list_num b {
    font-size: 2.5rem;
}
.p-service-detail_list_head {
    padding: 0 1rem;
    box-sizing: border-box;
}
.p-service-detail_Plist li {
    padding: 1rem 0;
}
.fee_list_extxt {
    padding: 0 1rem;
}
.p-service-fee_list_otr {
    flex-direction: column;
    padding: 0 1rem;
    box-sizing: border-box;
}
.p-service-fee_list_otr.__list3 li, .p-service-fee_list_otr.__list2 li {
    width: 100%;
}
.p-top-section_ttl_main.service_subttl .p-top-section_ttl_decoration {
    width: 1.25rem;
    height: 3rem;
    top: 0.5rem;
    right: 0;
    position: inherit;
    display: inline-block;
}
.flow-list {
	/* flex-direction: column; */
}
.flow-list li {
	/* width: 100%; */
	/* margin-bottom: 4rem; */
}
.flow-list li:after {
	/* right: 0%; */
	/* left: 0%; */
	/* bottom: -1.25rem; */
	/* top: inherit; */
	/* transform: rotate(45deg); */
}
.flow-list h3 br, .flow-list p br {
    display: inherit;
}
.flow-list .flow-step {
	/* right: 0.5rem; */
}
.p-top-section_ttl_sub3 {
    font-size: 1.5rem;
    padding: 2rem 0 0.75rem;
}
.p-service-detail_Plist {
    margin-bottom: 3rem;
}
}

/* SERVICE（下層）-FAQ用アコーディオン
------------------------------------------------ */
.details {
	border-top: 1px solid #f78102;
	border-left: 1px solid #f78102;
	border-right: 1px solid #f78102;
	&:last-of-type {
		border-bottom: 1px solid #f78102;
	} 
}
.details-summary {
	position: relative;
	display: block;
	padding: 0.15rem 0.5rem 0.5rem 1rem;
	color: #fff;
	font-size: 1.125rem;
	font-weight: bold;
	text-align: left;
	background-color: #f76e02;
	box-sizing: border-box;
	&:hover {
		cursor: pointer;
		opacity: 0.8;
	}
	b {
		font-size: 1.875rem;
		margin-right: 0.5rem;
	}
	.btn {
		position: absolute;
        top: 37%;
        right: 2rem;
        width: 1.125rem;
        height: 1.125rem;
        transform-origin: center center;
        transition-duration: 0.2s;

        &:before,
        &:after {
            content: "";
            background-color: #fff;
            width: 1.125rem;
            height: 0.25rem;
            position: absolute;
            top: 0.4375rem;
            left: 0;
            transform-origin: center center;
        }
        &:before {
            width: 0.25rem;
            height: 1.125rem;
            top: 0;
            left: 0.4375rem;
        }
    }
	&.is-active {
		.btn {
			-webkit-transform: rotate(-180deg);
			transform: rotate(-180deg);
			&:before {
            	content: none;
        	}	
		}
    }
}

.details-summary::-webkit-details-marker {
	display: none;
}

.details-content {
	padding: 0.15rem 0.5rem 0.5rem 1rem;
	background: #fff;
	p {
		margin: 0 0 1.25rem;
		color: #000;
		font-size: 1.125rem;
		text-align: left;
		&:last-of-type {
			margin: 0 0 0;
		}
		b {
		font-size: 1.875rem;
		margin: 0 0.5rem 0 -0.15rem;
		color: #f76e02;
		}
		a {
		color: #f46a00;
		display: inline;
		text-decoration: underline;
		margin: 0 0.1rem;
		}
	}
}

@media screen and (max-width: 768px) {
.details-summary {
    padding: 0.15rem 2rem 0.5rem 0.5rem;
    font-size: 1rem;
    font-weight: 500;
}
.details-summary .btn {
    right: 0.5rem;
}
.details-summary b {
    font-size: 1.5rem;
    margin-right: 0.125rem;
}
.details-content {
    padding: 0.15rem 0.25rem 0.5rem 0.5rem;
}
.details-content p {
    font-size: 1rem;
}
.details-content p b {
    font-size: 1.5rem;
    margin: 0 0.125rem 0 0.05rem;
}
}

/* FACILITIES（下層）
------------------------------------------------ */
.p-facilities_section {
	max-width: 1200px;
    margin: auto;
}
.p-facilities_section .p-service-detail_list_item {
    padding: 3.5rem 0 4rem;
}
.p-facilities_section .p-service-detail_list_ttl {
    position: inherit;
    margin-bottom: 1rem;
}
.p-facilities_section .p-service-detail_list_ttl b {
    font-size: 3.2rem;
}
.p-service-fee_list_otr.__list2.facilities {
    margin: 4rem auto 0;
    display: grid;
    grid-gap: 4.375rem;
    grid-template-columns: 1fr 1fr;
}
.p-service-fee_list_otr.__list2.facilities li {
	width: 100%;
}

@media screen and (max-width: 768px) {
.p-access-top.facilities {
    margin: -3rem auto 4rem;
}
.p-facilities_section .p-service-detail_list_pic {
    padding: 1rem;
}
.p-facilities_section .p-service-detail_list_item {
    padding: 0 0 3rem;
}
.p-facilities_section .p-service-detail_list_ttl b {
    font-size: 2rem;
}
.p-facilities_section .p-service-detail_list_ttl {
    font-size: 2.5rem;
    margin-bottom: 0;
}
/*.p-top-service h2.p-top-section_ttl_main {
	margin-bottom: 2rem;
}*/
.p-top-service h2.p-top-section_ttl_main.facilities {
    line-height: 1.5rem;
	margin-bottom: 2rem;
}
.p-service-fee_list_otr.__list2.facilities {
    grid-gap: 1rem;
    padding: 0;
    margin: 1rem auto 0;
}
}

/* About
------------------------------------------------ */
.p-top-about {
position: relative;
}
.p-top-about_main {
position: relative;
}
.p-top-about_decoration1 {
   position: absolute;
   left: 0;
   top:10%;
   width: 33%;
   z-index: -1;
}
.p-top-about_decoration2 {
   position: absolute;
   right: 0;
   bottom:18%;
   width: 33%;
   z-index:-1 ;
}
.p-top-about_ttl {
   font-size: 4rem;
   font-weight: bold;
   text-align: center;
   margin-bottom: 2rem;
}
.p-top-about_ttl span {
    margin-left: 1rem;
}
.p-top-about_ttl_sub {
     font-size: 2.2rem;
   font-weight: bold;
   text-align: center;
   margin: 3rem 0; 
}
.p-top-about_symbol {
   max-width: 20rem;
   text-align: center;
   margin: 0 auto;
}
.p-top-about_txt {
   margin: 1rem 0 3rem;
   font-size: 1.125rem;
   text-align: center;
}
.p-top-about_txt p {
   margin-bottom: 1rem;
}
.p-top-about_img {
flex:2;
margin-left: calc(45% - 55vw);
margin-right: 8%;
}
.p-top-about_inr {
   max-width: 1200px;
   margin: 0 auto;
   padding: 2rem 1rem 12rem 0;
}
.p-top-about_img_sub {
   width: 20rem;
   right: 0;
   bottom: -2rem;
   margin: auto;
   display: block;
   position: absolute;
   z-index: -1;
}
.p-top-about_content {
   flex: 1;
}
.p-top-about_img_sub_bg {
   content: "";
   background: #ffdde0;
   width: 45%;
   height: 30rem;
   right:0;
   top:0;
   bottom:0;
   margin: auto;
   display: block;
   position: absolute;
   z-index: -2;
}
.p-top-about_btn {
   margin: 3rem auto 0 auto;
}

.p-top-about_slide {
   width: 100%;
    position: relative;
    padding: 0 0 8rem 0;
        margin-top: -2rem;
}
.p-top-about_slide::after {
    content: "";
    width: 100%;
    height: 20rem;
    background: #262626;
    display: block;
    position: absolute;
    top: 7rem;
    left: 0;
    z-index: -1;
}

/* スライダー全体 */
.about_slider-wrapper {
  display: flex; /* スライドのグループを横並び */
  overflow: hidden; /* はみ出たスライドを隠す */

}
/* スライド3枚のグループ */
.about_slider {
  animation: scroll-left 35s infinite linear .5s both;
  display: flex; /* スライド3枚を横並び */
}
/* スライド */
.about_slide {
  width: calc(100vw / 4); /* 4はスライドの枚数 */
  margin: 0 2.5rem;
}
/* スライドの画像 */
.about_slide img {
  display: block;
  width: 100%;
}
/* CSSアニメーション */
@keyframes scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
@media screen and (max-width: 768px) {
   .p-top-about_inr {
      display: block;
      padding: 6rem 20px 20rem 0;
   }
   .p-top-about:after {
      width: 11%;
   }
.p-top-about_ttl {
	font-size: 2.25rem;
	line-height: 130%;
}
.p-top-about_ttl span {
	display: block;
	margin-left: 0;
}	
.p-top-about_content {
	margin-bottom: 3rem;
}
.p-top-about_symbol {
    max-width: 60vw;
}
.p-top-about_decoration1 {
    width: 100%;
    left: -40%;
    top: 8%;
}
.p-top-about_decoration2 {
    width: 100%;
    right: -25%;
    bottom: 0;
}
.p-top-about_txt p {
    text-align: left;
}
.p-top-about_txt p br {
    display: none;
}
  .p-top-about_btn {
   margin-left: auto;
   margin-right: auto;
  }
  .p-top-about_img_sub_bg {
   width: 13%;
   height: 20rem;
   }
   .p-top-about_img_sub {
      width: 16rem;
   }
.about_slide {
    width: calc(100vw / 2);
    margin: 0 1rem;
}
.p-top-about_slide {
    padding: 0 0 4rem;
}
.p-top-about_slide::after {
    height: 12rem;
    top: 4rem;
}

.p-top-service-detail.p-top-reason .about_slider-wrapper {
    margin-top: -4rem;
}
}

/* About（下層）
------------------------------------------------ */
.p-about-top {
    margin: -3rem auto;
}
.p-about .p-top-reason_list_item_head {
    display: flex;
    align-items: center;
    justify-content: center;
}
.p-about .p-top-reason_list_item_head_inr {
    height: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.p-about .p-top-reason_list_item_num {
    font-size: 1.5rem;
    color: #f76e02;
}
.p-about .p-top-reason_list_item_ttl {
    font-size: 1.875rem;
}
.p-about .p-top-reason_list_item_txt {
    font-weight: 500;
    line-height: 180%;
}

.p-about-staff_section {
    max-width: 1200px;
    margin: auto;
}
.p-about-staff_list {
    display: grid;
    grid-gap: 4.375rem;
    grid-template-columns: 1fr 1fr;
}
.p-about-staff_list_num {
    position: absolute;
    bottom: -1.5rem;
    margin: auto;
    display: block;
    width: 100%;
    text-align: center;
    font-size: 3rem;
    font-weight: 900;
    color: #f76e02;
    line-height: 100%;
}
.p-about-staff_list_pic {
    position: relative;
    padding-bottom: 2.5rem;
    text-align: center;
}
.p-about-staff_list_num {
    position: absolute;
    bottom: 1rem;
    margin: auto;
    display: block;
    width: 100%;
    text-align: center;
    font-size: 3rem;
    font-weight: 900;
    color: #f76e02;
    line-height: 100%;
}
h3.p-about-staff_list_ttl {
    text-align: center;
    font-size: 1.3125rem;
    margin-bottom: 1.5rem;
}
h3.p-about-staff_list_ttl span {
    font-size: 1.5rem;
    display: block;
}
.p-about-staff_list_head h4 {
    background: #f46a00;
    color: #000;
    font-size: 1.125rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: 1rem;
}
.p-about-staff_list_txt {
    line-height: 180%;
    margin-bottom: 1rem;
    font-weight: 300;
}

@media screen and (max-width: 768px) {
.p-about-top {
    margin: 0 auto;
}
.p-about .p-top-reason_list_item_ttl {
    font-size: 1.375rem;
}
.p-about .p-top-reason_list_item_txt br {
    display: none;
}
.p-about-staff_list {
    grid-template-columns: 1fr;
    grid-gap: 2rem;
    padding: 1rem;
    box-sizing: border-box;
}
.p-about-staff_list_num {
    font-size: 2.5rem;
}
h3.p-about-staff_list_ttl {
    font-size: 1rem;
}
}

/* Trackman
------------------------------------------------ */
.p-top-about_trackman {
   background: url(images/p_about_trackman_bg.jpg) no-repeat center center;
   background-size:cover ;
   position: relative;
}
.p-top-about_trackman::before {
   content: "";
   position: absolute;
   width: 100%;
   height: 100%;
   display: block;
   left: 0;
   top: 0;
   z-index: 0;
   background-image: linear-gradient(to left,rgba(0,0,0,0),rgba(0,0,0,1));
}
.p-top-about_trackman_main {
   position: relative;
   z-index: 2;
}
.p-top-about_trackman_inr {
   max-width: 1200px;
   padding: 10rem 1rem;
   margin: 0 auto;
   position: relative;
}
.p-top-about_trackman_content {
width: 50%;
position: relative;
}
.p-top-about_trackman_point {
   font-size:1.875rem;
   font-weight: bold;
}
.p-top-about_trackman_point span {
   padding: 0.6rem;
   background: #f76e02;
}
.p-top-about_trackman_ttl {
   font-size:3rem;
   font-weight: bold;
   line-height: 1.3;
   margin: 2rem 0;
}
.p-top-about_trackman_ttl span {
   color: #f76e02;
      font-size:3.5rem;
}
.p-top-about_trackman_txt {
   font-size:1.5rem;
   font-weight: bold;
}
.p-top-about_trackman_decoration {
   max-width: 17rem;
   position: absolute;
   left: -3rem;
   bottom: -11rem;
}
.p-top-about_trackman_bottom {
   display: flex;
   gap: 2rem;
   align-items: center;
   margin-top: 2rem;
}
.p-top-about_trackman_btn {
   margin: 2rem auto 0 auto;
}

@media screen and (max-width: 768px) {
.p-top-section_wide {
    padding: 8rem 0 15rem;
}
.p-top-about_trackman {
    background: url(images/p_about_trackman_bg-sp.jpg) no-repeat;
    background-size: 140%;
    background-position: 50% 100%;
}
.p-top-about_trackman::before {
	display: none;
}
.p-top-about_trackman_content {
    width: 100%;
}
.p-top-about_trackman_point {
    font-size: 1.025rem;
}
.p-top-about_trackman_ttl {
    font-size: 1.5rem;
}
.p-top-about_trackman_ttl span {
    font-size: 2.25rem;
    margin: 0 -1rem 0 -1.25rem;
}
.p-top-about_trackman_txt {
    font-size: 1.125rem;
    font-weight: 500;
}
.p-top-about_trackman_bottom {
    margin-top: 12rem;
}
.p-top-about_trackman_btn {
    margin: 0 auto;
}
.p-top-about_trackman_decoration {
	left: 27%;
	right: 23%;
	bottom: 4.25rem;
	margin: auto;
	max-width: 180px;
}
}

/* REASON
------------------------------------------------ */
.p-top-reason {
   background: #262626;
}
.p-top-reason_list_item_head {
   margin: 0 auto;
   width: 50%;
}
.p-top-reason_list_item_head_inr {
   padding: 3rem;
}
.p-top-reason_list {

}
.p-top-reason_list_item {
   display: flex;
   justify-content: space-between;
   align-items: stretch;
}
.p-top-reason_list_item:nth-of-type(even) {
   display: flex;
   flex-direction: row-reverse;
}
.p-top-reason_list_item_num {
   font-size:2rem;
   font-weight: bold;
   font-style: italic;
}
.p-top-reason_list_item_num span {
   font-size:3rem;
   margin-left: 1rem;
}
.p-top-reason_list_item_ttl {
   font-size:1.8rem;
   font-weight: bold;
   margin: 1rem 0;
}
.p-top-reason_list_item_txt {
   font-size:1rem;
   font-weight: bold;
}
.__top_reason1 {
   background: #f76e02;
}
.__top_reason2 {
   background: #c75903;
}
.__top_reason3 {
   background: #ff8a2e;
}
.__top_reason4 {
   background: #f76e02;
}

.p-top-reason_list_item_pic {
   background-size:cover !important;
   padding: 13% 0;
   width: 50%;
}
.__top_reason_pic1 {
   background:url(images/p_top_reason_p1.jpg) no-repeat center center;
}
.__top_reason_pic2 {
   background:url(images/p_top_reason_p2.jpg) no-repeat center center;
}
.__top_reason_pic3 {
   background:url(images/p_top_reason_p3.jpg) no-repeat center center;
}
.__top_reason_pic4 {
   background:url(images/p_top_reason_p4.jpg) no-repeat center center;
}

@media screen and (max-width: 768px) {
.p-top-reason_list_item, .p-top-reason_list_item:nth-of-type(even) {
    flex-direction: column;
}
.p-top-reason_list_item_head {
    width: 100%;
}
.p-top-reason_list_item_head_inr {
	padding: 2rem 1rem 3rem;
}
.p-top-reason_list_item_num {
    font-size: 1.5rem;
}
.p-top-reason_list_item_num span {
    margin-left: 0.5rem;
}
.p-top-reason_list_item_ttl {
    font-size: 1.375rem;
    margin-top: 0;
}
.p-top-reason_list_item_pic {
    width: 100%;
    padding: 33%;
    box-sizing: border-box;
}
}

/* Information
------------------------------------------------ */
.p-top-section.p-top_information {
padding: 2rem 0 8rem 0;
}
.p-top_information {
    background: #262626;
}
.p-information_ttl_pos {
   text-align: center;
   border-bottom: double 8px #c75903;
   padding-bottom:3rem;
}

.p-information_list {
   display: grid;
   grid-template-columns: 1fr 1fr 1fr;
   gap:3rem;
}
.p-information_list_item {
    border-radius: 10px;
    overflow: hidden;
}
.p-information_head {
   background: #f76e02;
   border-radius: 0 0 10px 10px;
   position: relative;
}
.p-information_head_inr {
   padding: 2rem;
}
.p-information_ttl {
font-size: 2rem;
margin-bottom: 1rem;
font-weight: bold;
line-height: 1;
}
.p-information_ttl span {
   font-size: 1.125rem;
   display: block;
   font-weight: bold;
   margin: 0.5rem 0;
}
.c-arw_pos {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 2rem;
    height: fit-content;
}
.c-arw_information {
  position: relative;
  display: inline-block;
  width: 1.5rem;
  height: 2px;
  margin: 29.5px 0;
  border-radius: 9999px;
  background-color: #fff;
}
.c-arw_information::before,
.c-arw_information::after {
   content: "";
   position: absolute;
   top: calc(50% - 1px);
   right: 0;
   width: 0.8rem;
   height: 2px;
   border-radius: 9999px;
   background-color: #fff;
   transform-origin: calc(100% - 0.5px) 50%;
}
.c-arw_information::before {
  transform: rotate(45deg);
}
.c-arw_information::after {
  transform: rotate(-45deg);
}


.p-information_pic {
  overflow: hidden;
  width: 100%;
}
.p-information_pic img {
  height: auto;
  transition: transform .6s ease; /* ゆっくり変化させる */
}
.p-information_list_item a:hover img {
  transform: scale(1.1); /* 拡大 */
}

@media screen and (max-width: 768px) {
.p-information_list {
    grid-template-columns: 100%;
    grid-template-rows: auto;
    gap: 1rem;
}
.p-information_pic {
    overflow: hidden;
    width: 100%;
    height: 10rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.p-top-section_head {
	/* margin: 0 auto 3rem auto; */
	margin: 0 auto;
}
.p-top-reason .p-top-section_head {
    margin-bottom: 4rem;
}
.p-top-service .p-top-section_head {
    margin-bottom: 6rem;
}
.p-information_ttl_pos {
    padding-bottom: 4rem;
	margin-bottom: 1rem;
}
}



/* Business
------------------------------------------------ */
.p-top-business_process_head {
   margin-top: -12rem;
}
.p-top-business_list_wrap {
   position: relative;
}
.p-top-business_list {
   display: flex;
   gap: 0.5rem;
}
.p-top-business_list_head {
position: absolute;
left:0;
bottom: 0;
background: #fff;
}
.p-top-business_list_num {
   font-size: 4rem;
   color: #e60012;
   margin: -3rem 0 0 1rem;
   line-height: 1;
   font-style: italic;
}
.p-top-business_list_ttl {
   padding: 0 1rem .5rem 1rem;
   font-size: 1.3rem;
   font-weight: bold;
   color: #000;
}
.p-top-business_process {
   margin: 13rem auto 0;
   background: #f3f3f3;
   padding: 5rem 2rem;
}
.p-top-business_process_ttl {
text-align: center;
font-size: 4.5rem;
line-height: 1.1;
}
.p-top-business_process_ttl span {
color: #f76e02;
}
.p-top-business_process_lead {
   font-size: 1.375rem;
   text-align: center;
   margin: 2rem auto;
}
.p-top-business_list_process {
   display: flex;
   justify-content: center;
   gap: 2rem;
   flex-wrap: wrap;
   margin-bottom: 4rem;
}
.p-top-business_list_process li {
   width: 22%;
   margin-top: 2rem;
}.p-top-business_list_process li img {
border-bottom: 2px solid #f76e02;
}
.p-top-business_list_process_ttl {
font-size:1.3125rem;
text-align: center;
margin: 1rem auto;
padding-bottom: 1rem;
font-weight: 600;
}
.p-top-business_list_process_txt {
text-align:justify;
}


@media screen and (max-width: 1200px) {
   .p-top-business_list_process_ttl {
   font-size: 1.125rem;
   }
}
@media screen and (max-width: 768px) {
   .p-top-business_list_process_ttl {
      font-size: 0.95rem;
   }
   .p-top-business_list_process_txt {
      font-size: 0.95rem;
   }
   .p-top-business_list_process li {
   width: 47%;
   margin-top: 1rem;
   }
   .p-top-business_list {
      display: block;
  }
  .p-top-business_list li {
   margin-top: 3rem;
  }
  .p-top-business_list li:first-child {
   margin-top: 0;
   }
   .p-top-business_process_ttl {
      font-size: 9vw;
   }
   .p-top-business_process_head {
      margin-top: -24vw;
  }
  .p-top-business_list_process {
   gap: 1rem;
  }
  .p-top-business_process_lead {
   font-size: 1.215rem;
   text-align: left;
  }
  .p-top-business_process_lead br {
   display: none;
  }
  .p-top-business_list_ttl {
   font-size: 1.125rem;
  }
  .p-top-business_list_process_txt {
   text-align:unset;
   font-size: 0.875rem;
   }
}
@media screen and (max-width: 640px) {
   .p-top-business_process_ttl {
   font-size: 2rem;
   }
   .p-top-business_process_head {
      margin-top: -8rem;
  }
  .p-top-business_process {
   margin: 7rem auto 0;
   padding: 5rem 1.25rem;
  }
}

/* Base
------------------------------------------------ */
.p-top-base_ttl_mes {
   font-size:1.75rem;
   margin: 1rem auto;
   padding-bottom: 1rem;
   font-weight: 600; 
}
.p-top-base_ttl_mes_lead {
   font-size: 1.125rem;
   margin-bottom: 1rem;
}
.p-top-base_list {
   display: grid;
   gap: 2rem;
   grid-template-columns: 1fr 1fr;
   margin-bottom: 4rem;
}
.p-top-base_list li {
   margin-top: -100px;
   padding-top: 100px;
}
.p-top-base_list_name {
text-align: center;
padding: 1rem 0;
margin: 0 auto;
font-size: 1.215rem;
}
.p-top-base_list_ttl {
   font-size: 2.2rem;
   margin-bottom: 2rem;
   position: relative;
   font-weight: 500;
}
.p-top-base_list_ttl span {
   font-size: 1.215rem;
   color: #e60012;
   margin-left:1rem;
   background: #fff;
}
.p-top-base_list_ttl span:after {
content: "";
width: 53%;
height: 1px;
background: #e60012;
position: absolute;
top: 0;
bottom: 0;
margin: auto;
right: 0;
z-index: -1;
} 
.p-top-base_map_ttl {
   font-size: 2rem;
   text-align: center;
   line-height: 1.2;
   font-weight: 500;
}
.p-top-base_map_ttlA {
   font-size: 3rem;
   margin: 0 .3rem;
}
.p-top-base_map_ttlA_red {
   font-size: 4rem;
   color: #e60012;
}
.p-top-base_btn {
   margin-top:3rem;
}
.p-top-base_area {
   margin-top:4rem;
}
.p-top-base_sticky {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-start; /* ← この一行を追加する */
margin: 0 auto;
flex-direction: row-reverse;
}
.p-top-base_area {
   width: 40%;
}
.p-top-base_map {
width: 56%;
position: sticky;
top: 0;
margin-top: -420px;
padding-top: 120px;
}
.p-top-base_map_pic img {
   margin-bottom: 2.5rem;
}
.p-top-base_factory_head {
   width: 42%;
}


@media screen and (max-width: 768px) {
   .p-top-base_ttl_mes {
      font-size: 1.5rem;
   }
   .p-top-base_area {
   width: auto;
   }
   .p-top-base_map {
      width: auto;
      margin-top: 4rem;
      padding-top: 0;
      position: relative;
   }
   .p-top-base_list {
      margin-bottom: 2rem;
   }
   .p-top-base_sticky {
      flex-direction: unset;
      display: block;
   }
   .p-top-base_btn {
   margin-left: auto;
   margin-right: auto;
   }
}



/* Recruit
------------------------------------------------ */
.p-top-recruit {
   background: #efeeee;
   padding: 8rem 0;
   position: relative;
}
.p-top-recruit_inr {
   padding: 0 20px;
}
.p-top-recruit_txtscroll {
   overflow: hidden;
   width: 100%;
   display: flex;
   overflow: hidden;
   margin-inline: auto;
   position:absolute;
   left: 0;
   bottom: 15rem;
 }
.p-top-recruit_bigtxt {
   flex-shrink: 0;
   white-space: nowrap;
   font-size: 10rem;
   margin: 0 1rem;
   color: #f76e02;
   font-style: italic;
   
}
.marquee {
   display: inline-block;
   text-shadow:
     var(--offset-x) 0 currentcolor,
     calc(var(--offset-x) * 2) 0 currentcolor,
     calc(var(--offset-x) * 3) 0 currentcolor
     ;
   animation: marquee 30s linear infinite;
   will-change: translate;
 }
 
 @keyframes marquee {
   0% {
     translate:0;
   }
   100% {
    translate:-100%;
   }
 }

.p-top-recruit_main {
   display: flex;
   justify-content:space-between;
   gap: 2rem;
}
.p-top-recruit_head {
   width: 48%;
   position: relative;
}
.p-top-recruit_head_txt {
   line-height: 2;
   font-size: 1rem;
}
.p-top-recruit_pic_flex {
margin-left: 2%;
}
.p-top-recruit_pic_flex_sub {
   position: absolute;
   left:0;
   bottom: 8rem;
   width: 24rem;
}
.p-top-recruit_btn {
   margin-left: auto;
   margin-top: 5rem;
}

@media screen and (max-width: 768px) {
   .p-top-recruit_main {
   display: block;
   gap: 2rem;
   }
   .p-top-recruit_head {
      width: auto;
   }
   .p-top-recruit_pic_flex {
    margin-left: 6rem;
    margin-top: 3rem;
   }
   .p-top-recruit_pic_flex_sub {
      width: 18rem;
  }
  .p-top-recruit_bigtxt {
   font-size: 6rem;
  }
}
@media screen and (max-width: 540px) {
   .p-top-recruit_btn {
   margin-left: auto;
   margin-top: 5rem;
   margin-right: auto;
   }
   .p-top-recruit_pic_flex {
      margin-left: 2rem;
      margin-top: 3rem;
  }
  .p-top-recruit_pic_flex_sub {
   width: 15rem;
   }
   .p-top-recruit_pic_flex_sub {
      bottom: 14rem;
   }
   .p-top-recruit_bigtxt {
      font-size: 5rem;
  }
  .p-top-recruit_bigtxt {
   margin: 0;
  }
}

/* News
------------------------------------------------ */
.p-top-latest {
   background: #000;
}
.p-top-information_ttl {
    font-size: 2.5em;
    margin-bottom: 1rem;
    font-weight: bold;
}
.p-top_instagram_main {
   /*background-color: #ddd;*/
}
.p-top_instagram {
	width: 35%;
	text-align: center;
}
.p-top_news {
   width: 58%;
   position: relative;
}
.p-top-latest_ttl {
font-size: 2.5em;
margin-bottom: 1rem;
font-weight: bold;
}
.p-top-latest_ttl span {
   font-size: 1.215rem;
   font-weight: bold;
   margin-left: 1rem;
}
.p-top-latest_main {
   display: flex;
   justify-content:space-between;
   gap: 2rem;
}
.p-top-news_list_wrap {
   width: 70%;
}
.p-top-news_list {
   border-bottom: 1px solid #333;
}
.p-top-news_list a {
   padding: 2rem 0;
}
.p-top-news_list_main {
   display: flex;
}
.p-top-news_list_main_data {
   display: flex;
   gap: 1.5rem;
   margin-right: 2rem;
}
.p-top-news_list_day {
   display: inline-block;
   color: #f76e02;
   font-weight: bold;
}
.p-top-news_main {
   position: relative;
}

@media screen and (max-width: 768px) {
.p-top-information_ttl {
    text-align: center;
}
.p-top-latest_main {
    flex-direction: column;
}
.p-top_instagram {
    width: 100%;
	margin-bottom: 3rem;
}
.p-top_news {
    width: 100%;
}
   .p-top-news_main {
   display: block;
   }
   .p-top-news_btn {
      position: relative;
      margin-top: 3rem;
      margin-left: auto;
      margin-right: auto;
   }
   .p-top-news_list_wrap {
      width: auto;
  }
  .p-top-news_list_main {
   display: block;
   }
.p-top-news_list_main_data {
	display: flex;
	width: auto;
	margin-bottom: 0;
}
.p-top-news_list a {
    padding: 1rem 0;
}
}

/* Shop BNR
------------------------------------------------ */
.p-top_shop {
background: #000;
}
.p-top_shop_list {
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 2rem;
}
.p-top-section.p-top_shop {
   padding: 0rem 1rem 0;
}

@media screen and (max-width: 768px) {
.p-top-section.p-top_shop {
    padding: 0;
}
.p-top_shop_list {
    display: block;
}
.p-top_shop_list li:first-child {
    margin-bottom: 1rem;
}
}

/* Contact
------------------------------------------------ */
.p-btm-contact {
background: url(images/p_btm_contact_bg.jpg) no-repeat center center;
background-size:cover;
padding: 7rem 1rem;
margin: 0 auto;
}
.p-btm-contact_inr {
   max-width: 1200px;
   margin: 0 auto;
   padding:0 20px;
   display: flex;
   justify-content: space-between;
    align-items: center;
}
.p-btm-contact_head {
   width: 40%;
}
.p-btm-contact_main {
}
.p-btm-contact_ttl {
   font-size: 3rem;
   font-weight: bold;
   margin-bottom: 1rem;
}
.p-btm-contact_txt {
line-height: 1.8;
}
.p-btm-contact_ttl_sub {
   font-size: 1.5rem;
   font-weight: 600;
   margin-bottom: 1rem;
}
.p-btm-contact_tel {
   color: #fff;
   font-size: 2.5rem;
   font-weight: 500;
   text-align:center ;
}
.p-btm-contact_tel a {
   display: inline-block;
   color: #fff;
}
.p-btm-contact_tel span {
   font-size: 1.5rem;
   font-weight: 500;
}
.p-btm-contact_fax {
   color: #fff;
   font-size: 1.5rem;
   font-weight: 500;
   text-align:center ;
}
.p-btm-contact_main_block {
   padding: 2rem;
}

.p-btm-contact_btn {
   margin: 1rem auto 0 auto;
   text-align: center;
}

.p-btm-contact_tel {
   font-size: 2.75rem;
   font-weight: bold;
    display: flex;
    align-items: center;
    gap: 1rem;
}
.p-btm-contact_tel_icn img {
   width: 1.5rem !important;
}
.p-btm-contact_open {
    display: flex;
    align-items: baseline;
    gap: 1rem;
    margin-top: 1.5rem;
}
.p-btm-contact_open_ttl {
   width: 5rem;
   font-weight: bold;
}

@media screen and (max-width: 768px) {
.p-btm-contact_inr {
    flex-direction: column;
    padding: 0;
}
.p-btm-contact_head {
    width: 100%;
}
   .p-btm-contact_main {
      margin-top: 3rem;
      display: grid;
      grid-template-columns: 1fr;
      gap: 1.5rem;
   }
   .p-btm-contact_lead {
      font-size: 1.125rem;
  }
  .p-btm-contact_lead br {
   display: none;
  }
  .p-btm-contact_ttl_sub {
   font-size: 1.125rem;
  }
  .p-btm-contact_tel {
   font-size: 2rem;
  }
.p-btm-contact_main_block {
	padding: 0;
}
   .p-btm-contact {
      padding: 4rem 1rem;
   }
   .p-btm-contact_ttl span {
      font-size: 2.5rem;
   }
.p-btm-contact_ttl {
	/* font-size: 1.215rem; */
}
}
@media screen and (max-width: 540px) {
   .p-btm-contact_tel {
       font-size: 1.7rem;
   }
   .p-btm-contact_lead {
      font-size: 1rem;
      text-align: left;
  }
}


/* ACCESS
------------------------------------------------ */
.p-btm_access {

}
.ggmap {
    position: relative;
    width: 100%;
    padding-top: 32.25%;
    /* 16:9のアスペクト比 */
    height: 0;
    filter: grayscale(100%);
}

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



/* パンくず
------------------------------------------------ */
.l-breadcrumbs {
    display: block;
    font-size: 0.750rem;
    margin: 0 auto;
    color: #828282;
    padding: 0 1rem;
}
.l-breadcrumbs span {
    color: #828282;
    display: inline-block;
}
.l-breadcrumbs span a {
	color: #828282;
}
.l-breadcrumbs span.post.post-page.current-item {
    text-decoration: underline;
}

/* PAGE
------------------------------------------------ */
.l-page-head_ttl {
font-size: 2.5rem;
margin-bottom: 4rem;
font-weight: 600;
}
.l-page-head_ttl span {
font-size: 5rem;
margin-bottom: .2rem;
font-weight: 400;
display: block;
color: #d7000e;
position: relative;
line-height: 1.1;
}
.l-page-head_ttl span::before {
content: "";
width: 21vw;
height: 1px;
background:#d7000e ;
left:-22vw;
top:0;
bottom: 0;
margin: auto;
position: absolute;
}

.l-page-head {
    display: flex;
    margin: 1rem auto 4rem;
}
.l-page-head .p-top-section_head {
    display: flex;
    width: 50%;
}
.l-page-head .p-top-section_head:first-child {
    justify-content: flex-end;
}
.l-page-head .p-top-section_head:last-child {
    justify-content: flex-start;
}
.l-page-head .p-top-section_head.inr-T:first-child {
    width: 35%;
}
.l-page-head .p-top-section_head.inr-T:last-child {
    width: 65%;
    padding-top: 1rem;
}
.p-top-section_head_inr {
    width: 100%;
    padding: 0 3.125rem;
    box-sizing: border-box;
}
.l-page-head .p-top-section_head.inr-P:first-child .p-top-section_head_inr {
    max-width: 705px;
}
.l-page-head .p-top-section_head.inr-T:first-child .p-top-section_head_inr {
    max-width: 420px;
}
.l-page-head .p-top-section_head.inr-T:last-child .p-top-section_head_inr {
    max-width: 780px;
}

.p-top-section_head_inr:first-child h2 {
    margin-bottom: 2.5rem;
}
.p-top-section_head_inr p {
    margin-bottom: 2rem;
    line-height: 180%;
}

.l-page-head_txt {
   margin-bottom: 3rem;
   font-size: 1.125rem;
   text-align: justify;
}
.l-page-chead_image {
object-fit: contain;
object-position: right top;
margin-right: calc(45% - 46vw);
}
.p-page-section {
    margin: 0 0 8rem;
}
.p-page-section_inr {
   max-width: calc(1100px - 30px);
   margin: 0 auto;
   padding: 0 20px;
}
.p-page-section_inr {
   max-width: calc(1100px - 30px);
   margin: 0 auto;
}

@media screen and (max-width: 768px) {
.l-page-head .p-top-section_head {
    flex-direction: column;
    width: 100%;
}
.l-page-head .p-top-section_head.inr-T:first-child, .l-page-head .p-top-section_head.inr-T:last-child {
	width: 100%;
}
.inr-P .p-top-section_head_inr p br, .inr-T .p-top-section_head_inr p br {
    display: none;
}
.p-top-section_head_inr {
    padding: 0 1rem;
}
.l-page-head .p-top-section_head.inr-T:first-child {
    margin-bottom: 0;
}
.l-page-head .p-top-section_head.inr-T:last-child {
    padding: 0;
}
.p-top-section_head_inr:first-child h2 {
    position: relative;
    padding-bottom: 2rem;
}
.p-top-section_head_inr h2 .p-top-section_ttl_sub_bg {
    position: absolute;
    bottom: 0;
    left: 0;
}
.p-top-section_head_inr h2 span.p-top-section_ttl_decoration {
    margin-bottom: -0.3rem;
}
.p-top-section_head.inr-P img {
    width: calc(100% - 2rem);
    margin: auto;
}
   .l-page-head_txt  {
      font-size:1rem;
      padding-right: 20px;
   }
   .l-page-head_txt br {
      display: none;
   }
.p-page-section {
	margin: 0rem 0 5rem;
}
   .l-page_head_ttl {
      font-size:2rem;
   }
   .l-page-head_ttl span {
      font-size: 3.5rem;
   }
   .l-page-head_ttl {
      font-size: 2rem;
   }
   .l-page-head {
      padding-left: 2.5vw;
   }
}
@media screen and (max-width: 600px) {
   .l-page-head {
      padding-left: 1.5rem;
   }
   .l-page-head_ttl span {
      font-size: 2.5rem;
   }
   .p-base_details_tel {
      margin-top: 1rem;
   }
}

/* ABOUT
------------------------------------------------ */
.__about1 {
   background: #000;
}
.__about2 {
   background: #000;
}
.__about3 {
   background: #000;
}

.__about_pic1 {
   background:url(images/p_about_02-1.jpg) no-repeat center center;
}
.__about_pic2 {
   background:url(images/p_about_02-22.jpg) no-repeat center center;
}
.__about_pic3 {
   background:url(images/p_about_02-3.jpg) no-repeat center center;
}

/* COMPANY
------------------------------------------------ */
.p-company_ttl {
   font-size: 3rem;
   margin-bottom: 4rem;
   font-weight: 600;
}
.p-company_ttl span {
   position: relative;
   color: #e60012;
   font-size: 1.5rem;
   font-weight: 500;
   display: block;
   margin-bottom: 1rem;
}
.p-company_ttl span:after {
content: "";
   position: absolute;
   left:-2.2rem;
   top: 0;
   bottom: 0;
   margin: auto;
   height: 1px;
   width: 1.5rem;
   background: #e60012;
}
.p-company_mes_txt {
   margin-bottom: 1rem;
   line-height: 1.8;
}
.p-company_mes_ttl {
   font-size: 2rem;
   margin-bottom: 2rem;
   font-weight: 600;
   letter-spacing: 4px;
}
.p-company_mes {
   display: flex;
   gap: 3rem;
}
.p-company_mes_pic {
   min-width: 320px;
   max-width: 400px;
}
.p-company_mes_name {
   margin-left: auto;
   width: 250px;
}
.p-company_philosophy_section {
   margin-bottom:4rem;
}
.p-company_philosophy_list li {
   font-size: 1.25rem;
   margin-top: 1.5rem;
   padding-left: 1.5rem;
   position: relative;
}
.p-company_philosophy_list li:first-child {
   margin-top: 0;
}
.p-company_philosophy_list li:before {
content: "";
width: 10px;
height: 10px;
background: #e60012;
position: absolute;
left:0;
top:0;
bottom: 0;
margin: auto;
}
.p-company_philosophy_ttl {
   font-size: 1.75rem;
   margin: 2rem 0 ;
   font-weight: 600;
   color: #e60012;
   position: relative;
}
.p-company_philosophy_ttl_sub {
    font-size: 1.5rem;
    margin: 2rem auto 2rem;
    display: block;
    font-weight: 600;
    position: relative;
    /* text-align: center; */
    display: flex;
    /* justify-content: center; */
}
.p-company_philosophy_ttl_sub span {
    position: relative;
    /* padding: 1rem 2rem; */
    padding: 1rem 0;
}
 .p-company_philosophy_ttl_sub span:after {
   position: absolute;
   bottom: 0;
   left: 0;
   width: 100%;
   height: 10px;
   content: '';
   background-image: -webkit-repeating-linear-gradient(135deg, #e60012, #e60012 1px, transparent 2px, transparent 5px);
   background-image: repeating-linear-gradient(-45deg, #e60012, #e60012 1px, transparent 2px, transparent 5px);
   background-size: 7px 7px;
   -webkit-backface-visibility: hidden;
   backface-visibility: hidden;
 }

.p-company_philosophy_txt {
    /* width: 75%; */
    font-size: 1rem;
    margin: 0 auto;
    /* text-align: center; */
}
.p-company_philosophy_logo li {
   border: 1px solid #000;
   margin: 1rem auto;
   padding: 1rem;
   display: flex;
   text-align: center;
   align-items: center;
   justify-content: center;
   font-size: 1.215rem;
   color:#e60012;
}
.p-company_philosophy_logo li span {
   margin-right: 2rem;
}
.p-company_philosophy_logo li img {
max-width: 500px;
}
.p-company_philosophy_ttl_logo {
   font-size: 1.215rem;
   font-weight: 600;
   margin: 2rem 0 1rem;
}
.p-company_philosophy_brandlogo {
   max-width: 360px;
   margin-bottom: 1rem;
}

.p-company_table {
   border-top: 1px solid #ddd;
width: 100%;
margin: 2rem 0 4rem 0;
}
.p-company_table tr {
   border-bottom: 1px solid #ddd;
   position: relative;
}
.p-company_table tr:after {
   content: "";
   position: absolute;
   left:0;
   bottom: -1px;
   width: 12rem;
   height: 1px;
   background-color: #e60012;
}
.p-company_table tr th {
   padding: 1.5rem 0.5rem;
   color: #000;
   font-weight: bold;
   width: 25%;
   vertical-align: baseline;
}
.p-company_table tr td {
padding: 1.5rem 0.5rem;
}
.p-companybase_head {
   display: flex;
   justify-content: space-between;
   gap: 3rem;
   align-items: center;
}
.p-companybase_head_txt {
   width: 65%;
}
.p-company-base_btn {
   margin: 4rem auto 0 auto;
}
.p-company-base_pic {
   width: 90%;
   margin: 0 auto;
}

@media screen and (max-width: 768px) {
.l-page-head {
	margin: 3rem auto 1rem;
	flex-direction: column;
	padding: 0;
}
   .p-company_philosophy_list li:before {
      top: 0.5rem;
      bottom: unset;
   }
   .p-company_philosophy_list li {
      font-size: 1.125rem;
   }
   .p-company_philosophy_ttl_sub {
      font-size: 1.215rem;
   }
   .p-company_philosophy_ttl_sub span {
      padding: 1rem 0;
   }
   .p-company_philosophy_txt {
      /* width: 95%; */
      text-align: left;
   }
   .p-company_ttl {
      font-size: 2.5rem;
      margin-bottom: 4rem;
  }
   .p-company_philosophy_logo li {
      padding: 1rem;
      display: block;
   }
   .p-company_philosophy_logo li img {
      max-width: 100%;
   }
   .p-company_philosophy_ttl_logo {
   }
   .p-company_philosophy_brandlogo {
      max-width: 300px;
   }
   .p-company_mes_main {
      margin-bottom: 2rem;
   }
   .p-company_mes {
      display: block;
  }
   .p-companybase_head {
      display: block;
      margin-bottom: 3rem;
   }
   .p-company_mes_pic {
      text-align: center;
      margin:  0 auto;
   }
   .p-companybase_head_txt {
      width: auto;
  }
  .p-company_table tr th {
   width: 100%;
   display: block;
   padding: 1.5rem 0.5rem 0 0.5rem;
   }
   .p-company_table tr td {
   display: block;
   padding: 1rem 0.5rem 1.5rem 0.5rem;
   }
}

/* History */
.p-timeline {
   list-style: none;
   position: relative;
 }
.p-timeline li {
   margin-bottom: 60px;
   display: flex;
   gap: 8rem;
   position: relative;
 }
 .p-timeline::before {
   content: '';
   width: 1px;
   height: 100%;
   background: #e60012;
   position: absolute;
   left: 10rem;
   top: 24px;
}
.p-timeline-date {
font-size: 2.7rem;
font-weight: 600;
text-align: center;
color: #e60012;
line-height: 1.2;
position: relative;
width: 7rem;
}
.p-timeline-date:before {
   content: '';
   width: 12px;
   height: 12px;
   background: #e60012;
   position: absolute;
   left: 9.65rem;
   top: 24px;
   border-radius: 100%;
 }
.p-timeline-date span {
   display: block;
   font-size: 1rem;
   width: 7rem;
    text-align: center;
    margin: 0 auto;
}
.p-timeline-content {
   margin-top: 1rem;
   position: relative;
}
.p-timeline-date::after {
   content: '';
   width: 5rem;
   height: 1px;
   background: #e60012;
   position: absolute;
   left: 7.5rem;
   top: 29px;
}
.p-timeline-content p {
   font-size: 1.125rem;
}
.p-timeline-content a {
   display: inline-block;
   color: #e60012;
   font-weight: 500;
   text-decoration: underline;
}
.p-company-history {
   padding: 8rem 0;
   background: url(images/p_company_history_bg.jpg) no-repeat center center;
   background-size: cover;
}
.p-company-history_main {
   padding: 4rem;
   background: #fff;
   border-radius: 20px 20px;
}
.p-company-history_ttl {
   color: #fff !important;
}
.p-company-history_ttl span {
   color: #fff !important;
}
.p-company_ttl.p-company-history_ttl span:after {
   content: "";
   position: absolute;
   left: -2.2rem;
   top: 0;
   bottom: 0;
   margin: auto;
   height: 1px;
   width: 1.5rem;
   background: #fff;
}

@media screen and (max-width: 768px) {
   .p-company-history {
      padding: 6rem 0;
   }
   .p-company-history_main {
   padding: 3rem 2.5rem;
   }
}
@media screen and (max-width: 640px) {
   .p-timeline li {
   margin-bottom: 40px;
   display: block;
   margin-left: 1.6rem;
   }
   .p-timeline-content p {
      font-size: 1rem;
  }
  .p-timeline-date:before {
   left: -1.6rem;
  }
  .p-timeline::before {
   left: 0.35rem;
   }
   .p-timeline-date::after {
      width: 2rem;
      left: -2.2rem;
  }
}
@media screen and (max-width: 540px) {
   .p-company-history_main {
   padding: 3rem 1.5rem;
   }
}

/* Sustainability
------------------------------------------------ */
.p-page-section.p-sustainability_mes {
margin-bottom: 0;
}
.p-sustainability_mes_name {
   margin-top: 4rem;
   text-align: right;
   font-size: 1.125rem;
}
.p-sustainability_mes .p-page-section_inr {
max-width: 1000px;
}
.p-sustainability_mes_mark {
   margin: 2rem auto 0;
   text-align: center;
   max-width: 250px;
}
.p-sustainability_mes_txt {
   font-size: 1.125rem;
   margin-bottom: 1rem;
}
.p-sustainability_mes_txt:last-child {
margin-bottom: 0;
}
.p-sustainability_wrap {
display: flex;
justify-content: space-between;
    align-items: baseline;
}
.p-sustainability_list  {
padding-left:1.3rem;
}
.p-sustainability_list li {
   padding: 0.7rem 0;
   list-style-position: outside;
   list-style-type: disc;
   padding-left: 0;
}
.p-sustainability_list li span {
color: #e60012;
position: relative;
}
.p-sustainability_list li span::after {
content: "";
position: absolute;
left: 0;
bottom: 0;
background: #e60012;
width: 100%;
height: 1px;
}

.p-sustainability_list_logo li {
   padding: 0;
}
.p-sustainability_list_logo {
   width:12%;
}
.p-sustainability_ttl {
position: relative;
font-size: 1.5rem;
font-weight: 600;
padding: 1rem 0;
border-bottom:1px solid #ddd ;
margin-bottom: 2rem;
}
.p-sustainability_ttl::after {
   content: "";
   position: absolute;
   left:0;
   bottom: -1px;
   width: 100px;
   height: 1px;
   background: #e60012;
   z-index: 1;
}
.p-page-section.p-sustainability:nth-child(1) {
   margin: 5rem 0 8rem 0;
}
.p-page-section.p-sustainability {
   margin: 8rem 0;
}
.p-sustainability_list_green {
   color: #009944;
   display: inline-block;
}
.p-sustainability_list_red {
   color: #e60012;
   display: inline-block;
}
.p-sustainability_container {
   margin-bottom: 3rem;
}
.p-sustainability_container:last-child {
   margin-bottom: 0;
}
.p-sustainability_sdgs {
   background: #f5f5f5;
   padding: 6rem 8rem;
   margin: 6rem 0;
}
.p-sustainability_sdgs_ttl {
   font-size: 1.7rem;
   font-weight: 600;
   text-align: center;
   margin: 3rem 0 2rem;
}
.p-sustainability_sdgs_txt {
   font-size: 1.125rem;
   text-align: center;
}
.p-sustainability_sdgs_list {
   display: flex;
   justify-content: space-between;
   gap: 3rem;
   margin: 3rem 0;
}
.p-sustainability_sdgs_link {
margin: 0 auto;
text-align: center;
}
.p-sustainability_sdgs_link li {
   margin: 0.8rem 0;
}
.p-sustainability_sdgs_link li a {
display: flex;
align-items: center;
/* justify-content: center; */
text-align: center;
display: flex;
margin: 0 auto;
width: fit-content;
color: #e60012;
font-size: 1.125rem;
}
.p-sustainability_sdgs_link span {
   text-align: center;
   position: relative;
}
.p-sustainability_sdgs_link span::after {
content: "";
width: 100%;
height: 1px;
background: #e60012;
position: absolute;
left: 0;
bottom: -1px;
}
.p-sustainability_sdgs_link li a img {
width: 25px;
height: 25px;
display: inline-block;
margin-left: 0.5rem;
}
.p-sustainability_list_logo_sub {
   display: grid;
   grid-template-columns: 1fr 1fr 1fr;
   gap: 3rem;
   margin-bottom: 4rem;
}
.p-sustainability_list_sub {
   padding-left: 1.3rem;
}
.p-sustainability_list_sub li {
   padding: 0.3rem 0;
   list-style-position: outside;
   list-style-type: disc;
   padding-left: 0;
}

@media screen and (max-width: 768px) {
   .p-sustainability_sdgs {
   padding: 4rem 3rem;
   }
   .p-sustainability_wrap {
      display: block;
   }
   .p-sustainability_list_logo {
      display: flex;
      width: auto;
      justify-content: center;
      gap: 1rem;
   }
   .p-sustainability_list_logo img {
      max-width: 290px;
      width: 100%;
   }
   .p-sustainability_sdgs_txt {
   text-align: left;
   }
   .p-sustainability_sdgs_txt br {
      display: none;
   }
   .p-sustainability_sdgs {
      padding: 3rem 2rem;
  }
  .p-sustainability_sdgs_list {
   gap: 1rem;
  }

}

/* Business
------------------------------------------------ */
.p-business_strengths {
   background: #f9f9f9;
   padding: 9rem 0;
   position: relative;
}
.p-business_strengths::before {
content: "";
width: 1px;
height: 6rem;
background: #000;
position: absolute;
top: -3rem;
left: 0;
right: 0;
margin: auto;
}
.p-business_head {
   text-align: center;
   position: relative;
   margin-bottom: 3rem;
}
.p-business_ttl {
   font-size: 2.7rem;
   font-weight: 600;
   position: relative;
   margin-bottom: 2rem;
}
.p-business_ttl span {
   font-size: 2rem;
   color: #e60012;
   text-align: center;
   display: block;
}
.p-business_ttl_en {
   position: absolute;
   top: -4rem;
   left: 0;
   right: 0;
   margin: auto;
   font-size: 5rem;
   color: #fdf2f2;
   z-index: -1;
}
.p-business_ttl_lead {
   text-align: center;
   font-size: 1.35rem;
   font-weight: 500;
}

.p-business_head_txt {
   max-width: 900px;
   margin: 4rem auto 0 auto;
   text-align: left;
   font-size: 1.125rem;
}
.p-business_head_txt p {
   margin-bottom: 1.5em;
}
/*スクロール*/
@keyframes infinity-scroll-left {
   from {
     transform: translateX(0);
   }
     to {
     transform: translateX(-100%);
   }
}
.scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
}
.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0;
}
.scroll-infinity__list li {
   margin: 0 0.6rem;
}
.scroll-infinity__list--left {
  animation: infinity-scroll-left 80s infinite linear 0.5s both;
}
.scroll-infinity__item {
  width: calc(100vw / 3.5);
}
.scroll-infinity__item>img {
  width: 100%;
}
/*****/

.p-business_strengths_section {
   margin-bottom: 5rem;
}
.p-business_strengths_section_inr {
   display: flex;
   justify-content: space-between;
   flex-direction: row-reverse;
   gap: 5rem;
   align-items: center;
}
.__strengths_section_reverse {
   flex-direction: unset !important;
}
.p-business_strengths_section_head {
width: 50%;
}
.p-business_strengths_section_img_left  {
flex: 1;
margin-left: calc(50% - 50vw);
margin-right: 0;
}
.p-business_strengths_section_img_right  {
   flex: 1;
   margin-right: calc(50% - 50vw);
   margin-left: 0;
}
.p-business_strengths_num {
   color: #e60012;
   font-size: 4rem;
   position: relative;
}
.p-business_strengths_num::after {
content: "";
width: 100%;
height: 1px ;
background: #e60012;
position: absolute;
left: 0;
bottom: 0;
margin: auto;
}
.p-business_strengths_numen {
   color: #e60012;
   font-size: 1.5rem;
   font-weight: 600;
   margin-left: 1.5rem;
}
.p-business_strengths_ttl {
   font-size: 2.125rem;
   font-weight: 600;
   margin: 1rem auto 2rem;
}
.p-business_strengths_txt {
   font-size: 1.215rem;
   line-height: 1.8;
}
.p-business_btn_pos {
   margin: 4rem auto 0;
}


@media screen and (max-width: 1023px) {
   .p-business_heattreatment_main {
      margin-left: 3rem;
      margin-right: 3rem;
   }

}
@media screen and (max-width: 768px) {
   .p-business_heattreatment_bg {
      padding-top: 50%;
   }
   .p-business_ttl {
      font-size: 2rem;
   }
   .p-business_ttl_en {
      top: -5%;
       font-size: 7vw;
   }
   .p-business_ttl_lead br {
      display: none;
   }
   .p-business_strengths_section_inr {
      display: block;
   }
   .p-business_strengths_section_head {
      width: auto;
      margin-bottom: 2rem;
  }
  .p-business_strengths_ttl {
   font-size: 1.75rem;
  }
  .p-business_strengths_num {
   font-size: 3rem;
  }
   .p-business_strengths {
      padding: 6rem 0 1rem;
   }
   .scroll-infinity__item {
      width: calc(100vw / 1.5);
  }
  .p-business_head_txt p {
   font-size: 1rem;
   }
   .p-business_ttl_lead {
      text-align: left;
      font-size: 1.125rem;
   }
   .p-business_strengths_txt {
      font-size: 1.125rem;
   }

}

@media screen and (max-width: 768px) {
   .p-business_strengths_ttl {
      font-size: 1.5rem;
     }
}

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

/* BASE
------------------------------------------------ */
.p-base_map_txt {
   font-size: 1.215rem;
   text-align: center;
   margin-bottom: 2.5rem;
}
.p-base_maparea {
   width: 80%;
   text-align: center;
   margin: 0 auto;
}
.p-base_map_prefecture_link {
   margin: 3rem auto;
   display: flex;
   justify-content: space-between;
   align-items: center;
}
.p-base_map_prefecture_link_arw {
   display: inline-block;
   vertical-align: middle;
   color: #333;
   line-height: 1;
   width: 0.6em;
   height: 0.6em;
   border: 0.1em solid currentColor;
   border-left: 0;
   border-bottom: 0;
   box-sizing: border-box;
   transform: translateY(-25%) rotate(135deg);
   transition: all .3s;
   position: absolute;
   left: 0;
   right: 0;
   top: 0;
   bottom: 0;
   margin: auto;
   z-index: 2;
}
 .p-base_map_prefecture_link li {
   width: 32%;
   border-right:1px solid #ccc;
 }
.p-base_map_prefecture_link li a {
padding: 1rem ;
display: flex;
justify-content: center;
text-align: center;
margin: 0 auto;
font-size: 1.25rem;
position: relative;
transition: all .3s;
}
.p-base_map_prefecture_link_arw_bg {
   margin-left:1.5rem;
   width: 2rem;
   height:2rem;
   border-radius: 50% 50%;
   display: block;
   position: relative;
   transition: all .3s;
   transition: all .3s;
}
.p-base_map_prefecture_link li a:hover .p-base_map_prefecture_link_arw_bg {
   margin-left:1.5rem;
   width: 2rem;
   height:2rem;
   border-radius: 50% 50%;
   background: #efefef;
   display: block;
   position: relative;
   transition: all .3s;
}
.p-base_area_ttl {
font-size: 2rem;
font-weight: 600;
margin-bottom: 1rem;
position: relative;
}
.p-base_area_ttl:after {
content: "";
display: block;
width: 80%;
height: 1px;
background: #e60012;
position: absolute;
right: 0;
top: 0;
bottom: 0;
margin: auto;
z-index: -1;
}
.p-base_area_ttl_en {
   font-size: 1rem;
   font-weight: 500;
   margin-left: 1.125rem;
   color: #e60012;
}
.p-base_area_ttl_bg {
   background: #fff;
   padding: 0 1rem 0 0;
}
.p-base_container {
   display: flex;
   justify-content: space-between;
   align-items: stretch;
   border-bottom: 1px solid #ddd;
    padding: 4rem 0;
}
.p-base_details_picmap {
   display: grid;
   grid-template-columns: 1fr 1fr ;
   gap:1rem;
}
.p-base_details {
   width: 49%;
   display: flex;
   align-items: stretch;
   flex-wrap: wrap;
}
.p-base_details_tel,
.p-base_details_add {
   width: 100%;
}
.p-base_facility {
   width: 48%;
}
.p-base_facility_table {
   width: 100%;
}
.p-base_facility_table tr:first-child {
   border-bottom: 1px solid #000;
}
.p-base_facility_table tr {
   border-bottom: 1px solid #ddd;
}
.p-base_facility_table tr:last-child {
   border-bottom: none;
}
.p-base_facility_table tr th:nth-child(2) {
   width:4rem;
   text-align: center;
}
.p-base_facility_table tr td:nth-child(1) {
   width: 14rem;
   font-size: 0.875rem;
}
.p-base_facility_table tr td:nth-child(2) {
   text-align: center;
   font-size: 0.8125rem;
}
.p-base_facility_table tr td:nth-child(3) {
   font-size: 0.8125rem;
}
.p-base_facility_table tr th {
   padding:0.5rem 0.1rem;
   font-size: 1rem;
   font-weight: 600;
}
.p-base_facility_table tr td {
   padding: 0.5rem 0.1rem; 
   font-size: 0.875rem;
}
.p-base_details_ttl {
font-size: 1.375rem;
font-weight: 600;
margin-bottom: 1rem;
display: block;
width: 100%;
}
.p-base_details_picmap {
   margin: 3rem 0 0;
}
.p-base_ggmap {
   position: relative;
   width: 100%;
   padding-top: 75%;
   /* 56.25/ 16:9のアスペクト比 */
   height: 0;
}
.p-base_ggmap iframe {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
}

.p-base_area_wrap {
   margin: 4rem 0;
}
.p-base_area_wrap:nth-child(3) {
   margin: 4rem 0 0;
}
.p-base_container:last-child {
   border-bottom: none;
}
.p-page-section.p-base_area {
   margin: 4rem 0 6rem;
}
@media screen and (max-width: 768px) {
   .p-base_container {
   display: block;
   }
   .p-base_details {
      width: auto;
      display: block;
   }
   .p-base_facility {
      width: auto;
      margin-top: 2rem;
   }
}
@media screen and (max-width: 600px) {
   .p-base_details_picmap {
   grid-template-columns: 1fr;
   }
   .p-base_container {
      padding: 2rem 0;
   }
   .p-base_map_prefecture_link li a {
      padding:0.5rem 0.5rem;
      font-size: 1rem;
   }
   .p-base_map_prefecture_link li a:hover,
   .p-base_map_prefecture_link_arw_bg {
      margin-left: 1rem;
   }
   .p-base_map_prefecture_link li:last-child {
      border-right: none;
  }
  .p-base_area_ttl {
   font-size: 1.75rem;
  }
  .p-base_map_txt {
   font-size: 1.125rem;
  }
}


/* ACCESS（下層）
------------------------------------------------ */
.p-access-top {
    /* margin-top: -15rem; */
    margin-top: -10rem;
}
.p-access-detail_list {
}
.p-access-detail_list ul {
    max-width: 1000px;
    margin: 4rem auto;
    border-top: 1px solid #ddd;
}
.p-access-detail_list li {
    display: table;
    width: 100%;
    border-bottom: 1px solid #ddd;
}
.p-access-detail_list li dl {
    display: table-row;
}
.p-access-detail_list li dt, .p-access-detail_list li dd {
    display: table-cell;
    padding: 1rem;
}
.p-access-detail_list li dt {
    width: 25%;
}
.p-access-detail_list li dd {
    width: 75%;
}

.p-access-detail_list .p-about-staff_list {
    margin-bottom: 4rem;
}
.p-access-detail_list .p-about-staff_list_head h4, .p-access-detail_list .p-service-detail_list_txt {
    padding: 0 1rem;
}
.p-access-detail_list .p-about-staff_list_head h4 {
}
.p-access-detail_list .p-service-detail_list_txt {
    margin-bottom: 2rem;
    font-size: 1.125rem;
}

.p-access-detail_map iframe {
    margin: 0 auto 3.5rem;
}
.p-access-detail_map iframe:last-child {
    margin: 0 auto;
}

@media screen and (max-width: 768px) {
.p-access-top {
    margin-top: -3rem;
}
.p-access-detail_list ul {
    margin: 0 auto;
}
.p-access-detail_list li dt {
    width: 5rem;
}
.p-access-detail_list li dd {
    width: calc(100% - 5rem);
    padding: 1rem 1rem 1rem 0;
}
.p-access-detail_list .p-service-detail_list_txt {
    padding: 0;
}
}

/* Prvacy policy
------------------------------------------------ */
.wp-block-heading {
    font-size: 1.5rem;
    margin: 2rem 0 0.5rem;
}
ol.wp-block-list {
    list-style-type: decimal-leading-zero;
    margin-bottom: 2rem;
}
ol.wp-block-list li {
    margin-left: 1.8rem;
    margin-bottom: 0.25rem;
	font-weight: 300;
}
/*PRIVACY*/
.wrapHINAGATA h3 {
   margin:1.5em 0;
   font-size:1.125rem;
   padding:1rem 0;
   border-bottom:1px solid #ccc;
   font-weight:600;
   }
   div.wrapHINAGATA p{
      margin:1rem 0;
      line-height:1.5;
   }
   div.wrapHINAGATA ul{
      margin:20px 0 0 30px;
   }
   div.wrapHINAGATA ul li{
      list-style:outside decimal;
      line-height:140%;
      margin:10px 0 0 0;
   }
   div.wrapHINAGATA ul li ul{
      margin:15px 0 10px 10px;
   }
   div.wrapHINAGATA ul li ul li{
      list-style:outside none;
      margin-left:20px;
      text-indent:-1.5em;
   }
   div.wrapHINAGATA ul.child{
      margin:15px 0 0 10px;
   }
   div.wrapHINAGATA ul.child li{
      list-style:outside none;
      margin-left:45px;
      text-indent:-1.7em;
   }
   div.wrapHINAGATA p.tR{
      margin:30px 0 0 0;
      font-size:0.95em;
      line-height:140%;
      text-align:right;
   }
   div.wrapHINAGATA ul li ul li ol li{
      list-style:outside lower-roman;
      margin-left:20px;
      text-indent:-0.2em;
   }
   div.wrapHINAGATA ol{
      margin:1rem 0 0 2rem;
   }
   div.wrapHINAGATA ol li{
      list-style:outside decimal;
      line-height:140%;
      margin:1rem 0 0 0;
   }
   div.wrapHINAGATA ol li ol{
   margin-bottom: 20px;
   }
   div.wrapHINAGATA ol li ol li{
   font-size: 100%;
   }
.p-privacy_company {
   font-size: 1rem;

}

/* CONTACT（問い合わせフォーム）
------------------------------------------------ */
.p-top-section_head .p-btm-contact_main_block {
    padding: 2rem 0;
}
.p-top-section_head .p-top-section_head_inr p.p-btm-contact_tel {
    line-height: 100%;
}
.p-contact_section {
	max-width: 1000px;
	margin: 0 auto;
}

.p-contact .p-page-section_inr {
   max-width: calc(900px - 30px);
    margin: 0 auto;
}
.p-contact_company {
   font-size: 1.3rem;
   margin: 2rem 0 0.5rem;
   font-weight: 600;
}
.p-contact_tel {
   font-size: 1.215rem;
   color: #e60012;
   font-weight: 600;
}
.p-contact_tel a {
   color: #e60012;
   display: inline-block;
}
.p-contact_time {
margin-bottom: 2rem;
}
.p-contact_table {
    /* border-top: 1px solid #ddd; */
    width: 100%;
    margin: 0 0 3rem 0;
    font-size: 1.25rem !important;
}
.p-contact_required {
    font-size: 0.875rem;
    font-weight: 300;
    margin-left: 1.2rem;
}
.p-contact_table tr {
    /* border-bottom: 1px solid #ddd; */
    display: flex;
    flex-wrap: wrap;
}
.p-contact_table tr th {
    padding: 0.5rem 0.5rem;
    /* font-weight: 500; */
    width: 18rem;
    box-sizing: border-box;
}
.p-contact_table tr td {
    padding: 0.5rem 0.5rem;
    width: calc(100% - 18rem);
    box-sizing: border-box;
    font-weight: 300;
}
input[type=checkbox] {
	transform: scale(2);
	margin-right:1rem;
}
.p-contact_table input[type=text], .p-contact_table input[type=email] {
    appearance: none;
    border: solid 1px #ccc;
    border-radius: 2px;
    background: #fff;
    padding: 0.8rem 0.8rem;
    width: 100%;
    font-size: 1rem;
    box-sizing: border-box;
}
.p-contact_table textarea {
    appearance: none;
    border: solid 1px #ccc;
    border-radius: 2px;
    background: #fff;
    padding: 0.8rem 0.8rem;
    width: 100%;
    font-size: 1rem;
    box-sizing: border-box;
}
.p-contact_table_link {
    display: inline;
    text-decoration: underline;
    margin: 0 0.2rem;
    /* color: #fff; */
}
.p-contact_attention span {
   color: #cc0000;
}
.p-contact_btn {
    /* text-align: center; */
    margin: 3rem auto 0;
}
.p-contact_btn_css {
    background-color: #f46a00;
    color: #fff;
    padding: 1rem 4rem;
    text-decoration: none;
    border-radius: 2rem;
    font-size: 1.25rem;
    font-weight: 500;
    border: none;
    cursor: pointer;
    transition: all .3s;
}
 .p-contact_btn_css:hover {
   color: #fff;
   opacity: 0.8;
   background-color: #333;
   transition: all .3s;
 }
 .p-contact_lead_thanksttl {
   font-size: 1.75rem;
   font-weight: 600;
   text-align: center;
   color: #e60012;
   margin-bottom: 3rem;
 }
 .p-contact_lead_thanksttl span {
   color: #000;
   display: block;
   font-size: 1.5rem !important;
 }
 .p-contact_lead {
   font-size: 1rem;
 }
 .p-contact_lead_thanks_btn {
   max-width: 280px;
   margin: 4rem auto 0;
}
.p-contact_lead_thanks_btn a {
   display: block;
   border: 1px solid #ccc;
   padding: 1.2rem;
   text-align: center;
   border-radius: 50px 50px;
}
.p-contact_lead_thanks_btn a:hover {
   opacity: 0.7;
}
.p-contact_thanks {
   text-align: center;
}


@media screen and (max-width: 768px) {
.p-contact_table {
    font-size: 1rem !important;
}
.p-contact_table tr {
    flex-direction: column;
    padding: 0 1rem;
}
.p-contact_table tr th {
   padding: 1rem 0 0;
   display: block;
   width: auto;
   }
.p-contact_table tr td {
	display: block;
	width: auto;
	padding: 0.5rem 0 1.5rem;
}
.p-contact_btn {
    margin: 3rem auto;
    text-align: center;
}
.input_txt_check .p-contact_table tr th {
    border-bottom: 1px dotted #999;
}
.p-btm-contact_main.thanks {
    margin-top: 0;
}
}


/* ARCHIVE
------------------------------------------------ */
.archive_list {
    margin: 40px 0 0;
}
.archive_list li {
    border-top: 1px solid #f46a00;
}
.archive_list li a {
    padding: 1rem 0;
    position: relative;
    display: -ms-flexbox;
    display: flex;
    color: #262626;
    -ms-flex-align: center;
    align-items: center;
    overflow: hidden;
}
.archive_list li a:after {
    display: block;
    content: "";
    width: 8px;
    height: 8px;
    position: absolute;
    border-bottom: 2px solid #f46a00;
    border-right: 2px solid #f46a00;
    top: 0;
    bottom: 0;
    margin: auto;
    transform: rotate(-45deg);
    right: 10px;
}
.archive_date {
    margin: 0 25px 0 0;
    color: #f77e0b;
    font-size: 1.1252rem;
}
.archive_ttl {
    position: relative;
    font-size: 1.1252rem;
    font-weight: normal;
    color: #fff;
}

.page_nav {
    margin-top: 84px;
    margin-bottom: 84px;
    padding-top: 50px;
    border-top: 1px solid #f3f3f3;
}
.wp-pagenavi a, .wp-pagenavi span {
    display: inline-block !important;
}

@media screen and (max-width: 768px) {
.archive_list li a {
    flex-direction: column;
    align-items: baseline;
    padding: 1rem 2rem 1rem 0;
}
}

/* SINGLE
------------------------------------------------ */
.single_date {
    color: #f77e0b;
    font-size: 1.1252rem;
    margin: 0 0 15px;
}
h2.single_ttl {
    font-size: 2rem;
    border-bottom: 1px solid #f46a00;
    padding: 0 0 15px 0;
    margin: 0 0 30px;
}
.single_wrap p {
    font-size: 1.125rem;
    font-weight: normal;
    margin: 28px 0;
    line-height: 1.8;
}
.single_wrap p b, .single_wrap p strong {
    font-weight: 900;
}
.single_wrap a {
    display: inline;
    color: #f46a00;
    text-decoration: underline;
    padding: 0 0.2rem;
}
.single_wrap h1 {
	font-size: 2.25rem;
	font-weight: 700;
	margin: 28px 0;
}
.single_wrap h2 {
	font-size: 1.75rem;
	font-weight: 700;
	margin: 28px 0;
}
.single_wrap h3 {
	font-size: 1.3125rem;
	font-weight: 700;
	margin: 28px 0;
}
.single_wrap h4 {
	font-size: 1.125rem;
	font-weight: 700;
	margin: 28px 0;
}
.single_wrap h5 {
	font-size: 0.9375rem;
	font-weight: 700;
	margin: 28px 0;
}
.single_wrap h6 {
	font-size: 0.750rem;
	font-weight: 700;
	margin: 28px 0;
}

.single_nav {
    margin-top: 84px;
    margin-bottom: 84px;
    padding-top: 50px;
    display: -ms-flexbox;
    display: flex;
    border-top: 1px solid #f46a00;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.single_nav div {
    width: 30%;
	font-size: 1rem;
}
.single_nav_prev {
    text-align: left;
}
.single_nav_next {
    text-align: right;
}
.single_nav_back {
    text-align: center;
}
.single_nav_prev a {
	padding-left: 30px;
	position: relative;
	display:inline-block;
}
.single_nav_next a{
	padding-right:30px;
	position: relative;
}
.single_nav_back span {
	position: relative;
}
.single_nav_back span:before {
	width: 16px;
	height: 16px;
	position: absolute;
	top: calc(50% - 8px);
	left: 0;
	content: '';
}

.single_nav_prev a:before {
    display: block;
    content: "";
    width: 8px;
    height: 8px;
    position: absolute;
    border-bottom: 2px solid #f46a00;
    border-right: 2px solid #f46a00;
    top: 0;
    bottom: 0;
    margin: auto;
    transform: rotate(135deg);
    left: 0;
}
.single_nav_next a:before {
    display: block;
    content: "";
    width: 8px;
    height: 8px;
    position: absolute;
    border-bottom: 2px solid #f46a00;
    border-right: 2px solid #f46a00;
    top: 0;
    bottom: 0;
    margin: auto;
    transform: rotate(-45deg);
    right: 0;
}

@media screen and (max-width: 768px) {
.single_wrap h2 {
    font-size: 1.25rem;
    margin: 0 0 2rem;
}
.single_wrap p {
    font-size: 1rem;
}
}

/* ADD
------------------------------------------------ */
.b {
font-weight:bold;
}
.center {
text-align:center;
}
.mt10 {
margin-top: 0.625rem !important;
}
.mt20 {
margin-top: 1.25rem !important;
}
.mt40 {
margin-top: 2.5rem !important;
}
.mt60 {
margin-top: 3.75rem !important;
}
.mt80 {
margin-top: 5rem !important;
}
.mt120 {
margin-top: 7.5rem;
}
.mb0 {
margin-bottom: 0 !important;
}
.f11{
font-size: 0.6875rem;
}
.f12{
font-size: 0.750rem;
}
.f14{
font-size: 0.875rem;
}
.f15{
font-size: 0.9375rem;
}
.f16{
font-size: 1rem;
}
.f18 {
font-size: 1.125rem;
}
.f21 {
font-size: 1.3125rem;
}
.f24 {
font-size: 1.5rem;
}
.red {
color: #cc0000;
}
.txt-r {
text-align: right;
}
.txt-l {
text-align: left !important;
}
.bg-gray1{
padding:20px;
background:#efefef;
}
.aligncenter {
display: block;
margin: 0 auto;
}
.alignright {
float: right;
}
.alignleft {
float: left;
}

/* FADE
------------------------------------------------ */
.fadeIn_up {
   opacity: 0;
   transform: translate(0, 30%);
   transition: 1s;
 }
 .fadeIn_up.is-show {
   transform: translate(0, 0);
   opacity: 1;
 }
 .fadeIn {
   opacity: 0;
   transition: 2s;
 }
 .fadeIn.is-show {
   opacity: 1;
 }

/* LOADER
------------------------------------------------ */
 .loader {
   position: fixed;
   width: 100%;
   height: 100%;
   background-color: #fff;
   z-index: 555;
   top: 0;
   left: 0;
   display: flex;
   justify-content: center;
   align-items: center;
 }
 .loader .txt {
   font-size: 45px;
   font-weight: bold;
   color: rgb(30, 50, 93);
   display: none;
 }


 /*SPMENU*
------------------------------------------------ */
.c-hamburger {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    z-index: 20;
    padding: 0 0;
    position: absolute;
    right: 10px;
    top: 10px;
    border: none;
    background: none;
    cursor: pointer;
    display: none;
    background: #f46a00;
	box-shadow: 2px 3px 4px rgba(0, 0, 0, 0.5);
}
 
.c-hamburger span {
    position: relative;
    display: block;
    height: 1px;
    background-color: #fff;
    transition: 0.3s ease-in-out;
    margin-left: auto;
    margin-right: auto;
    width: 1.5rem;
}
 
 .c-hamburger.open {
   background-color: ;
 }
 
 .c-hamburger.open span {
 }
 
.c-hamburger span:nth-child(1) {
    /* width: 1.5rem; */
}
 
.c-hamburger span:nth-child(2) {
    /* width: 1.5rem; */
    margin-top: 6px;
    margin-bottom: 6px;
}
 
.c-hamburger span:nth-child(3) {
    /* width: 1.5rem; */
    /* top: 0; */
}
 
 .c-hamburger.open span {
    background-color:#fff ;
 }
 
.c-hamburger.open span:nth-child(1) {
    top: 7px;
    transform: rotate(45deg);
}
 
 .c-hamburger.open span:nth-child(2) {
   background-color: transparent;
   box-shadow: none;
 }
 
.c-hamburger.open span:nth-child(3) {
    /* width: 1.5rem; */
    top: -7px;
    transform: rotate(-45deg);
}

 /*ドロワー*/
 .p-drawer__logo {
 max-width:140px;
 }
 .p-drawer {
   display: none;
   place-items: center;
   position: fixed;    
   top: -100%;
   width: 100%;
   height: 100%;
   z-index: 15;
   transition: all 0.8s;
   background-color: #000;
   padding-top: 0;
   padding-bottom: 0;
   color: #fff;
 }
 .p-drawer a {
 color: #fff;
 }
 
 .p-drawer.open {
   top: 0;
 }
 .p-drawer__wrap {
   height: 100vh;
   width: 100%;  
 }
 .p-drawer__logo {
   width: 100%;
   height: auto;
   max-width: 180px;
   position: absolute;
   left: 1em;
   top: 1em;
 }
 .p-drawer__navigation {
 max-width: 1000px;
 width: 100%;
 }
.p-drawer__navigation-wrap {
    height: inherit;
    overflow-y: scroll;
    padding: 5rem 1em 2em;
}
 .p-drawer__navigation-wrap_main {
   display: flex;
   justify-content: space-between;
 }
 .p-drawer__navigation-wrap_main .p-drawer__navigation-items  {
   width: 48%;}
 
 .p-drawer__navigation-wrap::-webkit-scrollbar {
   width: 1px;
 }
 .p-drawer__navigation-wrap::-webkit-scrollbar-track {
   background-color: ;
 }
 .p-drawer__navigation-wrap::-webkit-scrollbar-thumb {
   background-color: ;
 }
 .p-drawer__navigation-subItems {}
 .p-drawer__navigation-items {
 }
 .p-drawer__navigation-item {
   letter-spacing: 0.075em;
   line-height: 1.6;
   color: #fff;
   font-size: 1rem;
 }
 .p-drawer__navigation-item_sub {
   display: flex;
 }
 .p-drawer__navigation-item_sub li {
 }
 .p-drawer__navigation-item_sub li a {
   font-size:0.935rem;
   padding: 0 0.5em 1.5em;
   font-weight: normal !important;
   color: #fff;
 }
 .p-drawer__navigation-items--bottom {
 
     margin-top:2em;
 }
 .p-drawer__navigation-item--bottom {
   font-size: 1rem;
   letter-spacing: 0.075em;
   line-height: 1.6;
   color: #fff;
 }
 .p-drawer__navigation-item {
   border-bottom: 1px solid #ccc;
   position: relative;
 }
 .p-drawer__navigation-item:last-child {
   border-bottom:none;
 }
 .p-drawer__navigation-item a {
 padding:1.2em 0 ;
 color:#fff;
 font-weight: 500;
 position: relative;
 display: block;
 }
 
 .p-drawer__navigation-item a:hover + .p-drawer__navigation-item:after {
   transform-origin: left top;
   transform: scale(1, 1);
 }
 .p-drawer__navigation-subItem {}
 .p-drawer__navigation-subItem + .p-drawer__navigation-subItem {
 }
 .p-drawer__navigation-item + .p-drawer__navigation-item {
 }
 .p-drawer__navigation-item_company {
   padding: 2em 1em ;
 }
 .p-drawer__navigation-item_company_name {
   font-size:1.125rem;
   font-weight: 600;
 }
 .p-drawer__navigation-item_company_tel {
   font-size:1rem;
   font-weight: 600;
   letter-spacing: 0;
   margin: 1em 0;
 }
 .p-drawer__navigation-item_company_tel a {
   display: inline;
   }
 .p-drawer__navigation-item_company_add {
 font-size:0.935rem;
 }
 .p-drawer__navigation-wrap_sub {
 border-top: 1px solid #ccc;
 }
 .p-drawer__navigation-item_sub li a::before {
   display: none !important;
 }
 .sp_sub_add {
   margin: 1rem 0;
 }
 .sp_sub_data_add {
   margin: 1rem 0;
 }
 .sp_sub_data_add a {
text-decoration: underline; 
}
.sp_sub_data_tel {
   font-size: 1.125rem;
}
.sp_privacy {
    margin: 2rem 0;
    font-size: 0.875rem;
}
.sp_privacy a {
    display: inline-block;
}

.sp_sub_data_business-hours {
    margin-bottom: 1rem;
}
.sp_sub_data_business-hours dl {
    display: flex;
    flex-wrap: wrap;
}
.sp_sub_data_business-hours dt {
    width: 5.5rem;
}

.sp_sub_data_sns dl {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
}
.sp_sub_data_sns dt {
    padding-right: 1.5rem;
}
 
 @media screen and (max-width: 768px) {
    .p-drawer {
    display: grid;
    }
   .c-hamburger {
     display: block !important;
   }
   .p-drawer__navigation-wrap_main {
     display: block;
   }
   .p-drawer__navigation-wrap_main .p-drawer__navigation-items  {
     width: auto;
   }
.p-drawer__navigation-item a {
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
	position: relative;
}
.p-drawer__navigation-item a:before {
    content: "";
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 6px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
}
.p-drawer__navigation-item a:after {
    content: "";
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 6px;
    width: 15px;
    height: 2px;
    background: #fff;
}
   .p-drawer__navigation-item:last-child {
     border-bottom: 1px solid #ccc;
   }
   .p-drawer__navigation-wrap_sub {
     border-top: none;
   }
.sp_sub_data_sns a {
	width: 2rem;
	height: 2rem;
	display: inline-block;
}
}
