@charset "utf-8";

:root {
    --color1: #953C34;
    --color2: #000000;
    --color3: #7D7C78;
    --color4: #EB8044;
    --color5: #D7D5D0;
    --color-over: #FFFFFF;
  
    
    --color-bg1: #F3F1EB;
    --color-bg2: #EB8044;
    --color-bg3: #DDD7C8;
    --color-bg4: #584033;
    
    --color-border1: #D9D9D9;

    --font-size-s: 13px;
    --font-size-m: 16px;
    --font-size-l: 20px;
    --font-size-ll:24px;


    --font-primary: "toppan-bunkyu-gothic-pr6n", serif;
    --font-secondary: "YuMincho", sans-serif;

    --font-weight-R: 400;

    --font-weight-M: 500;
    --font-weight-DB: 600;
    --font-weight-B: 700;

    --sp-cont-width: 450px;


}
html {
    scroll-snap-type: y proximity;
    scroll-padding-top: 0;
    scroll-behavior: smooth;

   
}
body {
    font-family: var(--font-primary);
    font-weight: var(--font-weight-DB);
    font-style: normal;
    font-size: var(--font-size-m);
    overflow: auto;
    line-height: 1.6;

}

h3,
h4 {
    font-size: 1em;
}



img,
video {
    width:100%;
}

section {
    

}

.btn-entry {
    width: 100% !important;
    margin-top: 1em;
}

.widthAuto {
    width: auto;
}

.video-wrap {
    padding-top: 100%;
	width: 100%;
	position: relative;
    margin:5px 15px 0;
}
#video01 video,
#video01 iframe
 {
    width: calc(100% - 30px);
	height: calc(100% - 30px);
	position: absolute;
	top: 0px;
	left: 0px;
}

/*========= pc用 ===============*/
.pc-content {
    position: fixed;
    bottom:0;
    right:0;
    width:100vw;
    height:100vh;
    background: url(../img/bg.jpg) top right no-repeat;
    z-index: 0;
    background-size: cover;
    min-width: 1000px;
    overflow-y:scroll;


}

.pc-content h2 {
    width:100%;
    text-align: center;
    margin: 0 auto 1em;
    font-size: var(--font-size-ll);

}


.pc-content .logo {
    position: fixed;
    top:50%;
    transform: translateY(-50%);
    left:calc((100% - var(--sp-cont-width)) / 4 - 152px);


    width:215px;

}

.pc-content .navi {
    position: fixed;
    top:50%;
    transform: translateY(-50%);
    right:calc((100% - var(--sp-cont-width)) / 4 - 250px);
    width:500px;
    padding:60px 50px;
    font-size: var(--font-size-l);
}

.pc-content nav {
    display: flex;
    flex-wrap: wrap;
    gap:0px;
    justify-content: center;
    width: 350px;
    margin:0 auto;

}

.pc-content nav a:last-child {
    border-bottom:none;

}
.pc-content nav a {
    width: 100%;
    color:var(--color3);
    padding:0.8em 20px 0.8em;
    text-align:center;
    position: relative;

}


.pc-content nav a span {
   

}
.pc-content nav a span::before {
   
}


.pc-content .sns {
   display: flex;
   justify-content: center;
   gap:20px;
   margin:62px 0;
}

.pc-content .btnEntry {
    margin-top: 2em;
    width: 80%;
    padding: 1em 1em;
    display: block;
    background-color: var(--color1);
    color:var(--color-over);
    text-align: center;
}

.icon-arrow1 {
    position: relative;
}
.icon-arrow1::after {
    position: absolute;
    right:20px;
    top:50%;
    color: var(--color1);
    content:'›';
    display: block;
    width:20px;
    height:20px;
    line-height: 13px;
    vertical-align: middle;
    border: 1px solid var(--color1);
    border-radius: 100px;
    font-weight: var(--font-weight-B);
    transform: translateY(-50%);
    text-align: center;
    transition: all 0.5s;

}

.icon-arrow1:hover::after {
    background-color: var(--color1);
    color: var(--color-over);
}

.icon-arrow2 {
    position: relative;
}
.icon-arrow2::after {
    position: absolute;
    right:20px;
    top:50%;
    color: var(--color1);
    content:'›';
    display: block;
    width:20px;
    height:20px;
    line-height: 13px;
    vertical-align: middle;
    border: 1px solid var(--color1);
    border-radius: 100px;
    font-weight: var(--font-weight-B);
    transform: translateY(-50%);
    text-align: center;
    background-color: var(--color-over);
    color: var(--color1);
    border-color: var(--color-over);
    transition: all 0.5s;
}

.icon-arrow2:hover::after {
    background-color: var(--color1);
    color: var(--color-over);
    border-color: var(--color-over);
}


#fixed {
    position: fixed;
    display: flex;
    flex-wrap: nowrap;
    bottom:0;
    z-index: 100;
    width: 100vw;
    max-width: var(--sp-cont-width);
    border-top: var(--color1) solid 1px;
}

#fixed a {
    padding:0.5em 1em;
}
#fixed a:hover {
    opacity: 1;

}
.sp-content {
    
    position: absolute;

    z-index: 2;
    width: var(--sp-cont-width);
    
    box-shadow: 0 0 10px rgba(0,0,0,0.2);
    left:50%;
    transform: translateX(-50%);
    top:0;
    background-color: var(--color-bg1);



}
.under-content .pc-content {
   
}



.under-content .sp-content {
    right:50%;
    transform: translateX(50%);
}





/*========= common ===============*/
header {
    position: fixed;
    top:0;
    width:var(--sp-cont-width);
    height:70px;
    background-color: var(--color-bg3);
    z-index: 10;
    padding:15px 20px;

}

header h2 img {
    height:40px;
    width: auto;
}


footer {
    padding:60px 30px 50px;
    text-align: center;
    font-weight: var(--font-weight-bold);
    background-color: var(--color-bg4);
    color:var(--color-over);
}

footer strong {
    display: block;
    

    margin:0 5%;

}

footer .sns {
    display: flex;
    justify-content: center;
    gap:20px;
    margin:40px 0;
}

footer .footer-nav {
    text-align: center;
    margin:2em 0;
    text-decoration: underline;
}
footer .footer-nav a::after {
    content:"|";
    padding:0 1em;
    font-size:var(--font-size-m);
}

footer .footer-nav a:last-child:after {
    content:none;
}

footer .copy {
    font-family: var(--font-secondary);
   
}


.youtube {
    width: 100%;
    aspect-ratio: 16 / 9;
}
.youtube iframe {
    width: 100%;
    height: 100%;
}




a:hover  {
    opacity: 0.5;
    transition: all 1s;
}


.flex {

}

.padding-a {
    padding:40px 24px;
}


.padding-b {
    padding:48px 40px;
}
.margin-a   {
    margin:30px 0 0;
}
.padding-top-a   {
    padding-top:60px;
}

.padding-bottom-a   {
    padding-bottom:60px;
}

.top-negative {
    padding-top:500px;
    margin-top:-500px;
}


.over {
    position: relative;
    z-index: 100;

}

.bg-a {
    background-color: var(--color-bg1);
}


.bg-b {
    background-color: var(--color-bg2);
}

.bg-c {
    background-color: var(--color-bg3);
}

.bg-white {
    background-color: var(--color-over);
}


.bg-01 {
    background: url('../img/bg-01.svg') no-repeat top center;
    background-size: cover;
    background-repeat: repeat-y;
}

.bg-d {
   
}

.btnStyleA {
    background-color: var(--color4);
    display: block;
    text-align: center;
    appearance: none;
    width: 100% !important;
    box-sizing: border-box !important;
    border-radius: 10px;

    color:var(--color2);
    padding:1em 2em !important;
    font-size:var(--font-size-l);
    color:var(--color-over)
}

.btnStyleB {
    background-color: var(--color-over);
    display: block;
    text-align: center;
    appearance: none;
    width: 100% !important;
    box-sizing: border-box !important;

    color:var(--color2);
    padding:1em 2em !important;
    font-size:var(--font-size-l);
    color:var(--color1)
}

#fv {
    padding-left:0;
    padding-right:0;
    padding-top:0;
    position: relative;

}

#fv::before {
    position: absolute;
    content:'';
    left:0;
    top:0;
    width:100%;
    height:calc(93%);

}

#fv .slider {
    position: relative;
}

#fv .slider li {
    padding:0 10px 0;

}

#fv #fv-catch {


}
#fv #fv-btn {
    position: absolute;
    z-index: 3;
    bottom:20px;
    right:20px;
    width:120px;

}

#fv2 {
    padding-bottom:0 !important;
   
}

.bg-fv {
    background: url(../img/cont-fv-bg.png) no-repeat center center;
    background-size: cover;
    border-radius: 80px 0 80px 0;

    padding:80px 0 50px;
}

#page-sctl main h2 {
    width:150px;
    margin: auto;

}

#page-sctl main h1 {
    text-align: center;
    font-size:var(--font-size-l);
    

}
.slider1 {


}

.slider1 li  {
    padding:0 5px 0;


}

.slider1 li img {
}

.slider2 {
    padding-top:0;
    margin-top:-20px;
}
.slider2 li  {
    padding:0 10px 0;
    
}

.tableStyle-a  {
    width: 100%;
}


#sec-faq .accordion{
    margin: 0 0 20px 0;
    
}
#sec-faq .accordion dt {
    background-color: var(--color4);
    color:var(--color-over);
    padding:1em 50px 1em 70px;
    position: relative;
    border-radius: 10px;


}
#sec-faq .accordion dd {
    padding:1em 1em 1em 70px;
    display: none;
    background-color: var(--color-over);
    border-radius: 0 0 10px 10px;
    position: relative;


}

#sec-faq .accordion dd::before{
    content:url(../img/cont-faq-a.svg);
    position: absolute;
    left:20px;
    top:15px;
   transform: scale(1.5);
   transform-origin: 0 0;
}
#sec-faq .accordion dt::before{
    content:url(../img/cont-faq-q.svg);
    position: absolute;
    left:20px;
    top:15px;
   transform: scale(1.5);
   transform-origin: 0 0;
}
#sec-faq .accordion dt::after{
    right:20px;
    top:24px;
    position: absolute;
    content:"";
    color:var(--color-over);
    display: inline-block;
    vertical-align: middle;
    line-height: 1;
    width: 1em;
    height: 1em;
    border: 0.2em solid currentColor;
    border-left: 0;
    border-bottom: 0;
    box-sizing: border-box;
    transform: translateY(-25%) rotate(135deg);
    transition: all 1s;
    
}
#sec-faq .accordion.active dt {
    border-radius: 10px 10px 0 0 ;
}
#sec-faq .accordion.active dt::after{
    transform: rotate(315deg);

}


.slider3 {
    position: relative;
    padding-left:0;
    padding-right:0;
}.slider3 .slide-arrow-prev,
.slider3 .slide-arrow-next {
    position: unset;
}
.slider3 .slide-arrow-prev::after,
.slider3 .slide-arrow-next::after

{
    position: absolute;
    z-index: 1000;
    transform: scale(1.5);
    transform-origin: 50% 50%;

}
.slider3 .slide-arrow-prev::after {
    top:100px;
    left:50px;
    bottom:inherit;
    transform: rotate(180deg) scale(1.5);
}

.slider3 .slide-arrow-next::after {
    top:100px;

    bottom:inherit;
    right:50px;
    left:inherit;
}


#sec-job .title {
    display: block;
    margin: 0 auto;
}
.job-data {
    text-align: center;
    margin-bottom:20px;
}
.job-data strong {
    display: block;
    font-size:var(--font-size-l);
    font-weight: var(--font-weight-R);
    padding: 0 0 0.5em;
}

.job-data strong{

}
#sec-job .ui-tab {
    width:auto;
    overflow-y: auto;
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    gap:5px;
    padding:0 24px;
}

#sec-job .ui-tab::-webkit-scrollbar {
    /*display: none;*/

}
#sec-job .ui-tab li {
 

}
#sec-job .ui-tab li a {
    background-color: var(--color-over);
    min-width: 8em;
    text-align: center;
    white-space: nowrap;
    display: block;
    color:var(--color1);
    padding:0.5em 1em;
    line-height: 1.2;
    cursor: pointer;
    height: 100%;
    place-content: center;

}
#sec-job .ui-tab li a:hover {
    opacity: 1;

}
#sec-job .ui-tab li a.active {
    background-color: var(--color1);
    color:var(--color-over);

}

#sec-job .ui-tab-target {
    padding-top:0;
}
#sec-job .ui-tab-target li {
    display: none;
    transition: all 0.5s;
    
}

#sec-job .ui-tab-target li.active {
    display: block;

}




.tableStyle-a th {
    background-color: var(--color-bg3);
    padding:1em;
    vertical-align: middle;
    font-weight: 300;
    min-width: 150px;
    border-bottom: 1px solid var(--color5);

}

.tableStyle-a td {
    font-weight: 300;
    padding:1em;
    word-break: break-all;
    border-bottom: 1px solid var(--color5);
}

.formStyle-a form#mail_form {
    background: none;
    border: none;
    box-shadow:none;
    width: auto;
    margin:0;
}

.formStyle-a dl {
    display: flex;
    flex-wrap: wrap;
    border: none !important;
    width: 100% !important;

}

.formStyle-a dl dt {
    width:100% !important;
    text-align: left !important;
    padding:0 !important;
    margin-top:2em !important;
    font-weight: var(--font-weight-DB);


}
.formStyle-a form dl dt.noicon
 {
    display: none !important;
}
.formStyle-a dl dt:has(+ dd.required)::after {
    
    content:'必須' !important;
    border:1px solid var(--color4) !important;
    color:var(--color4) !important;
    padding: 0 0.5em;
    font-size: var(--font-size-s) !important;
    height:auto !important;
    visibility: visible !important;
    display: inline-block !important;
    margin-left:1em;

}
.formStyle-a dl dd {
    width:100% !important;
    padding:0 !important;
 
}


.formStyle-a dd label {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap:0.5em;
}

.formStyle-a dd label a {
    color: var(--color4);


}

.formStyle-a input,
.formStyle-a textarea
{
    color:var(--color1);
    background-color:var(--color-bg1) !important;
    border: none !important;
    border-radius: 5px !important;

}
.formStyle-a input[type="radio"],
.formStyle-a input[type="checkbox"] {
    position: relative;
    width: 22px;
    height: 22px;
    background-color: var(--color-bg2);
    vertical-align: -5px;
    border-radius: 3px;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;

  }
  
  .formStyle-a input[type="radio"]:checked:before,
  .formStyle-a input[type="checkbox"]:checked:before
  {
    position: absolute;
    top: 2px;
    left: 8px;
    transform: rotate(50deg);
    width: 7px;
    height: 14px;
    border-right: 3px solid var(--color1);
    border-bottom: 3px solid var(--color1);
    content: '';
  }

  .formStyle-a dd input[type="text"],
  .formStyle-a dd input[type="email"],
  .formStyle-a dd textarea {
    padding:0.8em 1em !important;
    box-sizing: border-box !important;
    width: 100% !important;

  }

  .formStyle-a dd .select {
    display: inline-flex;
    align-items: center;
    position: relative;

  }
  .formStyle-a dd select {
    width:  100%;
    background-color: var(--color-bg1);
    appearance: none;
    border-radius: 3px;
    border:none !important;
    padding:1em 2em 1em 1em !important;


  }

  .formStyle-a dd .select::after {
    position: absolute;
    right: 15px;
    width: 10px;
    height: 7px;
    background-color: var(--color1);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
    pointer-events: none;
    z-index: 10000;

  }

  #form_submit {
    margin: 0 !important;
    width: 100% !important;

  }

  .formStyle-a #form_submit_button {
    

  }


  #form-thanks {
    text-align: center;
    padding:5em 3em;
    color:var(--color2);
  }

  #form-thanks h1 {
    font-size: var(--font-size-ll);
    margin: 0 auto;
    padding: 1em 0 2em;
    text-align: center;
  }

  #form-thanks p {
    padding-bottom:1em;
  }

  .docStyle {
    
  }



  .docStyle h1 {
    font-size: var(--font-size-ll);
    margin: 0 auto;
    padding: 1em 0 2em;
    text-align: center;
  }

  .docStyle h2 {
    font-size: var(--font-size-l);
    margin-bottom: 0.5em;
  }


  .docStyle p,
  .docStyle address {
    padding-bottom: 2em;

  }

  .docStyle ul {
    padding-bottom: 2em;
    
  }