@charset "UTF-8";
/*!
	Theme Name: 
	Theme URI: 
	Author: 
	Author URI: 
	Description: 

	Version: 0.0.1
*/
/************************/ :root {
   --primary-color: #000000;
   --secondary-color: #878787;
   --tertiary-color: #F6F6F6;
   --fourth-color: #F2F2F2;
   --bland-color: #8dbe1d;
   --font-sizeh1: 7rem;
   --font-sizeh2: 3.5rem;
   --font-sizeh3: 2rem;
   --font-sizeh4: 1.8rem;
   --font-sizeh5: 1.6rem;
   --font-sizeh6: 1.5rem;
   --font-sizes: 1.2rem;
   --font-yumin: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
   --font-noto: 'Noto Sans JP', sans-serif;
   --font-robot: 'Roboto Condensed', sans-serif;
   --font-zenoldmin: 'Zen Old Mincho', serif;
}

.en-US .common-layout{
	display: inline;
}


/* font  
-----------------------------------*/
h1 {}
h1 span {}
h2 {
   font-size: var(--font-sizeh2);
}
h3, .h3 {
   font-size: 2.7rem;
   font-weight: normal;
}
h4 {
   font-size: 2rem;
   font-weight: normal;
}
h5 {
   font-size: 1.8rem;
   font-weight: normal;
}
h6 {
   font-size: 1.6rem;
   font-weight: normal;
}
.text-center {
   text-align: center;
}
.text-right {
   text-align: right;
}
.text-left {
   text-align: left;
}
.text-i {
   font-style: italic;
}
.palt {
   font-feature-settings: "palt";
}
.zenmin {
   font-family: var(--font-zenoldmin);
   letter-spacing: 0.10em;
   font-weight: 400;
}

.row {
   padding-right: 15px;
   padding-left: 15px;
}
.linknone {
   pointer-events: none;
}
.btn-view-more {
   position: relative;
   display: inline-block;
   width: 48px;
   height: 48px;
   background-color: var(--primary-color);
   clip-path: polygon(0 33%, 50% 33%, 50% 15%, 100% 50%, 50% 85%, 50% 67%, 0 67%);
}
.arrow a {
   background: #FAFAFA;
   display: block;
   width: 140px;
   font-size: 1.1rem;
   padding: 8px 15px 9px 8px;
   clip-path: inset(0);
   position: relative;
   z-index: 1;
   transition: 0s;
   letter-spacing: 0;
}
.arrow a::after {
   background: var(--bland-color);
   position: absolute;
   top: 0;
   left: 0;
   content: '';
   width: 100%;
   height: 100%;
   transform: scale(0, 1);
   transform-origin: left top;
   transition: .4s ease;
   z-index: -1;
}
.arrow a:hover::after {
   transform: scale(1, 1);
}
.arrow a:hover span::after {
   background: #fff;
}
.arrow a:hover span::before {
   border-top: 1px solid #fff;
   border-right: 1px solid #fff;
}
.arrow a:hover {
   color: #fff;
   opacity: 1;
}
/*arrow*/
.arrow span {
   position: relative; /*ボックスの位置指定 */
   left: 5px;
}
.arrow span::after {
   content: '';
   margin: auto;
   position: absolute;
   top: 0;
   bottom: 0;
   left: 1px;
   width: 43px;
   height: 1px;
   background: #000;
   transition: 0s;
}
.arrow span::before {
   content: "";
   margin: auto;
   position: absolute;
   top: 0;
   bottom: 0;
   left: 38px;
   width: 6px;
   height: 6px;
   border-top: 1px solid #000;
   border-right: 1px solid #000;
   transform: rotate(45deg);
   transition: 0s;
}
/* container width
-----------------------------------*/
.container {
   margin: auto;
   max-width: 1180px;
   padding: 0 65px;
   box-sizing: border-box;
	width: 100%;
}
.container960 {
   max-width: 960px;
   margin: auto;
}
.containerflat {
   margin: auto 4%;
}
.containerinner {
   padding: 0 30px;
}
/* hr
-----------------------------------*/
/* flex 
-----------------------------------*/
.d-flex {
   display: flex;
   flex-direction: row;
}
.d-flex.flex-rev {
   flex-direction: row-reverse;
}
section img {
   max-width: 100%;
   height: auto;
}
/* animation
-----------------------------------*/
.js-fadeUp {
   opacity: 0;
   transform: translateY(30px);
   transition: opacity .8s, transform .8s;
}
.js-fadeUp.is-inview {
   opacity: 1;
   transform: translateY(0);
   transition-delay: .1s;
}
/* youtube
-----------------------------------*/
.youtube {
   width: 100%;
   aspect-ratio: 16 / 9;
}
.youtube iframe {
   width: 100%;
   height: 100%;
}
.wp-block-embed__wrapper {
   position: relative;
   width: 100%;
   height: 0;
   padding-top: 56.25%;
}
.wp-block-embed__wrapper iframe {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
}
/* pagetop 
-----------------------------------*/
.pagetop {
   display: none;
   position: fixed;
   bottom: 20px;
   right: 10px;
   z-index: 100;
}
.pagetop a::before {
   content: '';
   width: 10px;
   height: 10px;
   border: 0px;
   border-top: solid 2px #000;
   border-right: solid 2px #000;
   -ms-transform: rotate(45deg);
   -webkit-transform: rotate(45deg);
   transform: rotate(-45deg);
   position: absolute;
   left: 0;
   right: 0;
   margin: auto;
   top: 1px;
   bottom: 0px;
   opacity: 1;
}
.pagetop a {
   display: block;
   border-radius: 50px;
   -webkit-backface-visibility: hidden;
   backface-visibility: hidden;
   zoom: 1;
   width: 50px;
   height: 50px;
   text-align: center;
   /* font-size: 24px; */
   text-decoration: none;
   line-height: 50px;
   /* border: 1px solid #fbfbfb; */
   -webkit-transition: all 0.7s;
   -moz-transition: all 0.7s;
   -ms-transition: all 0.7s;
   -o-transition: all 0.7s;
   transition: all 0.7s;
   opacity: 0.8;
   color: #1d1d1c;
   background: #fff;
}
.pagetop a span {
   top: 22px;
   position: relative;
   font-size: 0.1rem;
}
.pagetop a:hover {
   opacity: 0.6;
}
/*btn*/
/* top_bnr

/* ---------------------------------
Page
-----------------------------------*/
/* breadcrumb
-----------------------------------*/
.breadcrumb ul {
   display: flex;
   padding: 0px 0;
}
.breadcrumb li {
   display: flex;
   font-size: 11px;
}
.breadcrumb li::after {
   content: '＞';
   padding: 0 5px;
}
.breadcrumb li:last-child {}
.breadcrumb li:last-child::after {
   content: none;
}
.sp_visible, .spx_visible {
   display: none;
}
.sp_hidden, .spx_hidden {
   display: inherit;
}
/*事業構想*/
.dllist dl:last-child::after {
   content: none;
}
.dllist dl::after {
   content: '';
   width: 40px;
   height: 48px;
   background-color: #e8eae2;
   clip-path: polygon(0 33%, 50% 33%, 50% 15%, 90% 50%, 50% 85%, 50% 67%, 0 67%);
   position: absolute;
   bottom: -37px;
   transform: rotate(90deg);
   left: 0;
   right: 0;
   margin: auto;
}
.dllist dl:nth-child(n+5)::after{
    background-color: #cae3d5;
}
.dllist dl dt {
   background: #00863c;
   width: 50px;
   height: 50px;
   text-align: center;
   display: flex;
   justify-content: center;
   align-items: center;
   color: #fff;
   margin-right: 20px;
   font-weight: bold;
}
.five {
    background: #fff900;
    padding: 0px 5px;
    display: block;
    font-size: 1.4rem;
    position: absolute;
    left: 0;
    margin: auto;
    top: -20px;
    right: 0;
    text-align: center;
	width:11em;
}
.five-en {
    background: #fff900;
    padding: 0px 5px;
    display: block;
    font-size: 1.4rem;
    position: absolute;
    left: 0;
    margin: auto;
    top: -20px;
    right: 0;
    text-align: center;
	width:14em;
}
.dllist dl {
   position: relative;
   align-items: center;
   display: flex;
   background: #cae3d5;
   margin-bottom: 50px;
   padding: 10px;
}
.dllist dl:nth-child(-n+4) dt {
   background: var(--bland-color);
}
.dllist dl:nth-child(-n+4) {
   background: #e8eae2;
}
.dllist dl:nth-child(5){
   /* text-align: center;*/
}
.dllist dl dd {
   width: 100%;
   line-height: 1.4;
   font-weight: 700;
}
.dllist + h3 {
   line-height: 1.6;
   margin: 100px auto;
   background: #00863c;
   color: #fff;
   padding: 20px 30px;
   font-weight: bold;
   margin-top: 50px;
/*   border: 4px solid #e7f3f5;*/
   font-size: clamp(1.6rem, 2vw, 2.7rem);
}
/*cp info table*/
/*会社概要table*/
.cptable th {
   background: #f5f5f5;
   text-align: right;
}
.cptable th, .cptable td {
   padding: 20px;
   border: 1px solid #ccc;
}
.cptable dl {
   display: flex;
}
.cptable dl dt {
   width: 150px;
}
.cptable dl dd {
   width: 100%;
}
.cptable dl {}


.linelist li{
    position: relative;
}
.linelist li::before{
    content: '-';
    margin-right: 10px;
}
/* ---------------------------------
-----------------------------------
 medhia query 
-----------------------------------*/
@media(min-width:1080px) {
   .linkpconly {
      pointer-events: none;
   }
}
@media(max-width:960px) {
   .d-flex {
      flex-direction: column;
   }
   .container {
      margin: auto;
      padding: 0 4vw;
      box-sizing: border-box;
   }
   .btn_more a {
      padding: 13px;
   }
   /*footer*/
   .sp_visible {
      display: inherit;
   }
   .sp_hidden {
      display: none;
   }
   .footer_list {
      margin-top: 60px;
   }
   .footer_list li {
      margin-left: 0;
      letter-spacing: 0;
   }
   .footer_first {
      align-items: flex-start;
   }
   .copyfooter ul {
      margin-top: 10px;
   }
}
@media (max-width: 768px) {
   h2 {
      font-size: clamp(2.4rem, 3vw, 3rem);
   }
   h4 {
      font-size: 1.7rem;
      font-weight: 600;
   }
   .spx_visible {
      display: inherit;
   }
   .spx_hidden {
      display: none;
   }
   .copyfooter ul {
      flex-direction: column;
      margin-bottom: 20px;
   }
   .copyfooter ul li {
      border-right: none;
      line-height: 1.5;
   }
   .copyfooter ul + p {
      font-size: 10px;
      text-align: left;
   }
}
@media (max-width: 480px) {
    body{
        font-size: 1.5rem;
        line-height: 1.7;
    }
   .copyfooter ul li {
      margin: 10px 0;
   }
   .footer_list li {
      margin-bottom: 20px;
   }
   /*cp info table*/
    .cptable{
        font-feature-settings: "palt";
    }
   .cptable tr {
      display: flex;
      flex-direction: column;
   }
   .cptable th, .cptable td {
      width: 100%;
       padding: 10px;
   }
   .cptable {
      border-bottom: 1px solid #ccc;
   }
   .cptable tbody td {
      border-bottom: none;
   }
    .cptable dl dt {
    width: 140px;
}
   .cptable th {
      border-bottom: none;
       text-align: left;
   }
    .cptable dl{
        margin-bottom: 10px;
            line-height: 1.5;
    }
    
    .dllist dl dt{
        margin-right: 10px;
    }
   
}