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

	Version: 0.0.1
*/
html {
   font-size: 62.5%;
}
body {
   color: #111;
   font-size: 16px;
   font-size: 1.6rem;
   line-height: 1.8;
   letter-spacing: .04em;
   font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}
html.fixed {
   height: 100%;
   overflow: hidden;
}
/************************/ :root {
   --primary-color: #030000;
   --bland-color: #e45826;
   --font-sizeh61: 6.1rem;
   --font-sizeh59: 5.9rem;
   --font-sizeh56: 5.6rem;
   --font-sizeh54: 5.4rem;
   --font-sizeh45: 4.5rem;
   --font-sizeh43: 4.3rem;
   --font-sizeh39: 3.9rem;
   --font-sizeh38: 3.8rem;
   --font-sizeh36: 3.6rem;
   --font-sizeh33: 3.3rem;
   --font-sizeh3: 3rem;
   --font-sizeh28: 2.8rem;
   --font-sizeh26: 2.6rem;
   --font-sizeh23: 2.3rem;
   --font-sizeh22: 2.2rem;
   --font-sizeh2: 2rem;
   --font-sizeh19: 1.9rem;
   --font-sizeh18: 1.8rem;
   --font-sizeh17: 1.7rem;
   --font-sizeh16: 1.6rem;
   --font-sizeh15: 1.5rem;
   --font-sizeh14: 1.4rem;
   --font-sizeh13: 1.3rem;
   --font-sizeh12: 1.2rem;
   --font-sizeh11: 1.1rem;
   --font-sizeh1: 1rem;
}
.youtube {
     position: relative;
     padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
     height: 0;
     overflow: hidden;
    margin-top: 20px;
}
 
.youtube iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}
/* font  
-----------------------------------*/
h1, h2, h3, h4, h5, h6, p {
   font-family: 'yugothic-bold';
}
h2 {
   font-size: clamp(var(--font-sizeh28), 5vw, var(--font-sizeh56));
}
h3 {
   font-size: var(--font-sizeh54);
}
h4 {
   font-size: var(--font-sizeh45);
}
h5 {
   font-size: clamp(var(--font-sizeh17), 3vw, var(--font-sizeh36));
}
h6 {
   font-size: clamp(var(--font-sizeh14), 3vw, var(--font-sizeh3));
}
.f26 {
   font-size: var(--font-sizeh26);
}
.f38 {
   font-size: var(--font-sizeh38);
}
.f61 {
   font-size: var(--font-sizeh61);
}
.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";
}
.blandcolor {
   color: var(--bland-color);
}
@font-face {
   font-family: 'yugothic';
   font-style: normal;
   font-weight: 700;
   src: url('/fc/common/font/font.woff2') format('woff2'), url('/fc/common/font/font.woff') format('woff'), url('/fc/common/font/font.otf') format('opentype');
}
@font-face {
   font-family: 'yugothic-bold';
   font-style: normal;
   font-weight: 700;
   src: url('/fc/common/font/font-bold.woff2') format('woff2'), url('/fc/common/font/font-bold.woff') format('woff'), url('/fc/common/font/font-bold.otf') format('opentype');
}
/* link  
-----------------------------------*/
a, a img, button {
   text-decoration: none;
   -webkit-transition: ease 0.7s;
   -moz-transition: ease 0.7s;
   -o-transition: ease 0.7s;
   -ms-transition: ease 0.7s;
   transition: ease 0.7s;
   color: #303030;
   -webkit-backface-visibility: hidden;
   backface-visibility: hidden;
}
a:hover {
   opacity: .8;
}
.row {
   padding-right: 15px;
   padding-left: 15px;
}
.linknone {
   pointer-events: none;
}
.btn-form {
   background-color: var(--bland-color);
   color: #fff;
   font-size: var(--font-sizeh19);
   position: relative;
   display: flex;
   align-items: center;
   justify-content: center;
   width: 166px;
   padding: 6px;
   height: 47px;
   font-family: 'yugothic-bold';
}
.btn-form span {
   letter-spacing: 0.045em;
}
.btn-form::after {
   content: '';
   background: url("/fc/common/img/SVG/icon-arrow1.svg")no-repeat center 0;
   background-size: cover;
   width: 11px;
   height: 14px;
   margin-left: 10px;
   display: block;
}
/*list
-----------------------------------*/
/* container width
-----------------------------------*/
.container {
   margin: auto;
   max-width: 990px;
   padding: 0 15px;
   box-sizing: border-box;
}
.container960 {
   max-width: 960px;
   margin: auto;
   padding: 0 15px;
}
.container920 {
   max-width: 920px;
   margin: auto;
}
.container930 {
   max-width: 930px;
   margin: auto;
}
.container1235 {
   max-width: 1170px;
   margin: auto;
   padding: 0 50px;
}
/* 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;
}
/* 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;
}
/* footer
-----------------------------------*/
footer {
   position: relative;
   background: var(--primary-color);
   padding: 35px 0;
   margin-top: 130px;
}
footer ul {
   display: flex;
   margin-bottom: 60px;
}
footer ul li {
   border-right: 1px solid #fff;
   margin-right: 1em;
   line-height: 1;
   letter-spacing: 0.075em;
}
footer ul li:last-child {
   border-right: none;
}
footer ul li a {
   color: #fff;
   font-size: var(--font-sizeh15);
   padding-right: 1em;
   letter-spacing: 0;
}
.footerlogosection {
   display: flex;
}
.footlogo {
   margin-right: auto;
   line-height: 1;
}
footer .btn-form {
   margin-top: 17px;
}
/* ---------------------------------
Page
-----------------------------------*/
.sp_visible, .spx_visible {
   display: none;
}
.sp_hidden, .spx_hidden {
   display: inherit;
}
.effect {
   transform: translateY(50px);
   opacity: 0;
   /*  transition: transform 1s, opacity 1.4s;*/
}
.effect.is-active {
   transform: translateY(0px);
   opacity: 1;
   transition: transform 1s, opacity 1.4s;
}
@keyframes effects {
   0% {
      opacity: 0;
   }
   100% {
      opacity: 1;
   }
}
/*contact
-----------------------------------*/
#contactform {
   margin: 80px auto;
}
#contactform h2 {
   font-size: clamp(2rem, 2.2vw, 3rem);
   color: #000;
}
#contactform h2 + p {
   text-align: center;
   font-size: clamp(1.5rem, 2vw, 2.7rem);
   margin-bottom: 60px;
   color: var(--bland-color);
   line-height: 1;
}
#contactform .form {}
#contactform .form input[type="text"], #contactform .form input[type="email"], #contactform .form textarea {
   border: 1px solid rgb(0 0 0 / 26%);
   width: 100%;
}
#contactform .form input[type="text"], #contactform .form input[type="email"] {
   height: 40px;
   padding: 2px 10px;
}
#contactform .form input[type="text"] {}
#contactform .form input[type="email"] {
   margin-bottom: 10px;
}
#contactform .form textarea {
   padding: 2px 10px;
}
#contactform .form .btn-submit {
   background-color: var(--bland-color);
   padding: 7px 10px;
   color: #fff;
   font-size: 1.5rem;
   width: 287px;
   transition: ease .3s;
}
#contactform .form .btn-submit:hover {
   opacity: 0.8;
}
#contactform .form .btn-submit::after {
   content: '';
   clip-path: polygon(0 7%, 7% 0, 57% 50%, 7% 100%, 0 93%, 43% 50%, 0 7%);
   height: 10px;
   aspect-ratio: 1;
   background-color: #fff;
   display: inline-block;
   margin-left: 10px;
}
#contactform .form dd span {
   font-size: clamp(1.1rem, 1.2vw, 1.3rem);
   width: 5em;
}
#contactform .form .btn-submit + p {}
#contactform .form input.inputh {
   width: 180px;
}
#contactform .form dl.none {
   border: none;
}
#contactform .form dl {
   display: grid;
   grid-template-columns: 180px 1fr;
   border-top: 1px solid rgb(0 0 0 / 26%);
   padding: 16px 0;
   align-items: center;
}
#contactform .form dl .dttop {
   display: flex;
   align-items: baseline;
   height: 100%;
}
#contactform .form dl dt{
    font-family: 'yugothic-bold';
}
#contactform .form dl dd {
   display: flex;
   width: 555px;
}
#contactform .form dl.d-column dd {
   flex-direction: column;
}
#contactform .form dl dd label {
   display: flex;
}
#contactform .form dl dd label + label {
   margin-left: auto;
}
#contactform .form dl.none dd, #contactform .form dl.email dd {
   flex-direction: column;
}
#contactform .form small {
   font-size: clamp(1rem, 1.2vw, 1.2rem);
   display: block;
   line-height: 1.4;
}
#contactform .form .privacytext {
   font-size: clamp(1.1rem, 1.2vw, 1.4rem);
   font-family: 'yugothic';
   margin-top: 10px;
}
#contactform .form .privacytext a {
   text-decoration: underline;
}
#contactform .form .privacytext a:hover {
   text-decoration: none;
}
#contactform .error {
   color: #f00;
   display: block;
   line-height: 1.2;
   font-size: 1.2rem;
   margin: 4px 0;
}
#contactform input.error:focus {
   border: 1px solid #f00;
   outline: 1px solid #f00;
}
#contactform .errorname label {
   width: 245px;
   margin-top: 4px;
}
.thx {
   height: calc(50vh / 2);
}
.thx p {
   text-align: center;
}
/* ---------------------------------
-----------------------------------
 medhia query 
-----------------------------------*/
@media (max-width: 768px) {
    .youtube{
    margin-top: 10px;
}
   .btn-form {
      background-color: var(--bland-color);
      color: #fff;
      font-size: 1rem;
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      width: auto;
      padding: 8px 17px;
      height: auto;
      margin-right: 15px;
   }
   .btn-form::after {
      content: '';
      background: url("/fc/common/img/SVG/icon-arrow1.svg")no-repeat center 0;
      background-size: cover;
      width: 5px;
      height: 8px;
      margin-left: 5px;
   }
   /*contact
-----------------------------------*/
   #contactform {
      margin: 100px auto;
   }
   #contactform h2 {
      padding-bottom: 5px;
   }
   #contactform h2 + p {
      margin-top: 5px;
   }
   #contactform .form dl .dttop {
      align-items: center;
   }
   #contactform .form dl {
      grid-template-columns: 1fr;
   }
   #contactform .form dl dt {
      margin-bottom: 10px;
   }
   #contactform .form dl dd {
      width: 100%;
      flex-direction: column;
   }
   #contactform .form dl dd label + label {
      margin-left: 0;
   }
   #contactform .form input.inputh {
      width: 100%;
      margin-bottom: 5px;
   }
   .errorname {
      display: none !important;
   }
   #contactform .form .btn-submit {
      padding: 10px;
      width: 100%;
   }
   #contactform .form dl dd label {
      flex-direction: column;
   }
   .sp_visible {
      display: inherit;
   }
   .sp_hidden {
      display: none;
   }
   .container1235 {
      padding: 0 20px;
      margin: 20px;
   }
   footer {
      padding: 20px 0;
      margin-top: 0;
   }
   footer .btn-form, footer ul {
      display: none;
   }
   .footerlogosection {
      line-height: 1;
   }
   .footlogo img {
      max-width: 100%;
   }
}
@media (max-width: 480px) {
   .spx_visible {
      display: inherit;
   }
   .spx_hidden {
      display: none;
   }
}