@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

:root {

/* Colors: */
--unnamed-color-e50b18: #E50B18;
--unnamed-color-fc0000: #FC0000;
--unnamed-color-ffffff: #FFFFFF;
--unnamed-color-efeae1: #EFEAE1;
--unnamed-color-333333: #333333;
--unnamed-color-e4e4e4: #E4E4E4;
--unnamed-color-e0deda: #E0DEDA;

/* Font/text values */
--unnamed-font-family-noto-sans-cjk-jp: Noto Sans CJK JP;
--unnamed-font-family-ten-mincho-text:ten-mincho-text, serif;
--unnamed-font-family-yu-gothic-pr6n: yu-gothic-pr6n, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
--unnamed-font-family-montserrat: Montserrat;
--unnamed-font-style-normal: normal;
--unnamed-font-weight-medium: 500;
--unnamed-font-weight-normal: normal;
--unnamed-font-weight-bold: bold;
--unnamed-font-size-14: 14rem;
--unnamed-font-size-15: 15rem;
--unnamed-font-size-16: 16rem;
--unnamed-font-size-17: 17rem;
--unnamed-font-size-18: 18rem;
--unnamed-font-size-20: 20rem;
--unnamed-font-size-24: 24rem;
--unnamed-font-size-30: 30rem;
--unnamed-font-size-32: 32rem;
--unnamed-character-spacing-0: 0rem;
--unnamed-character-spacing-2: 2rem;
--unnamed-character-spacing-3: 3rem;
--unnamed-character-spacing-0-8: 0.8rem;
--unnamed-character-spacing-2-4: 2.4rem;
--unnamed-character-spacing-0-9: 0.9rem;
--unnamed-character-spacing-6-4: 6.4rem;
--unnamed-character-spacing-1-8: 1.8rem;
--unnamed-line-spacing-24: 24rem;
--unnamed-line-spacing-30: 30rem;
--unnamed-line-spacing-40: 40rem;
--unnamed-line-spacing-50: 50rem;
--unnamed-line-spacing-60: 60rem;
}

*,
*::before,
*::after{
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}
html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote,
pre,abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
margin:0;
padding:0;
border:0;
outline:0;
font-size:1px;
color: #333;
vertical-align:baseline;
background:transparent;
}
body {
line-height:1.2;
color:#333;
font-family: yu-gothic-pr6n, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;

}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
display:block;
}
section{
    padding-top: 160rem;
}

ul {
list-style:none;
}
blockquote, q {
quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content:'';
content:none;
}
a {
margin:0;
padding:0;
font-size:100%;
display: block;
text-decoration: none;
background:transparent;
color:var(--unnamed-color-333333);
transition: all ease .8s;
}
.clearfix::after {
content:"";
display: block;
clear: both;
font-size: 0;
}
ins {
background-color:#ff9;
color:#000;
text-decoration:none;
}
mark {
background-color:#ff9;
color:#000;
font-style:italic;
font-weight:bold;
}
del {
text-decoration: line-through;
}
abbr[title], dfn[title] {
border-bottom:1px dotted;
cursor:help;
}
table {
border-collapse:collapse;
border-spacing:0;
}
hr {
display:block;
height:1px;
border:0;
border-top:1px solid #cccccc;
margin:1em 0;
padding:0;
}
input, select {
vertical-align:middle;
}
img {
Width:100%;
}
*,*::after,*::before{
Box-sizing:border-box;
}
a:hover{
    opacity: .5;
}
p{
    font-size: var(--unnamed-font-size-14);
    line-height: 20rem;
    font-family: var(--unnamed-font-family-yu-gothic-pr6n);
    line-height: 27rem;
}
h2{
    font-size: var(--unnamed-font-size-32);
    line-height: var(--unnamed-line-spacing-50);
    font-family: var(--unnamed-font-family-ten-mincho-text);
}
h3{
    font-size: var(--unnamed-font-size-30);
    font-family: var(--unnamed-font-family-ten-mincho-text);
}
h4{
    font-size: var(--unnamed-font-size-24);
    font-family: var(--unnamed-font-family-ten-mincho-text);
    line-height: 38rem;
}
h5{
    font: var(--unnamed-font-style-normal) normal var(--unnamed-font-weight-normal) var(--unnamed-font-size-20)/var(--unnamed-line-spacing-30) var(--unnamed-font-family-ten-mincho-text);
    letter-spacing: var(--unnamed-character-spacing-2);
}
h6{
    font: var(--unnamed-font-style-normal) normal var(--unnamed-font-weight-normal) var(--unnamed-font-size-18)/var(--unnamed-line-spacing-24) var(--unnamed-font-family-ten-mincho-text);
    letter-spacing: var(--unnamed-character-spacing-0-9);
    line-height: 28rem;
}
.f-17{
    font-size: var(--unnamed-font-size-17);
    line-height: 29rem;
}
.f-15{
    font-size: var(--unnamed-font-size-15);
    line-height: 25rem;
}
.flex{
    display: flex;
}
.pc{
    display: block;
}
.sp{
    display: none;
}

/* header */
header,
.scroll-header{
    width: 100%;
    z-index: 10;
    position: relative;
    background: var(--unnamed-color-ffffff) 0% 0% no-repeat padding-box;
    padding-top: 30rem;
    height: 100rem;
}
.scroll-header{
    position: fixed;
    top: -100%;
    left: 0;
    opacity: .9;
    transition: all ease .4s;
}
.scroll .scroll-header{
    top: 0;
}
#top header{
    padding-top: 40rem;
    height: 280rem;
}
.top-logo{
    display: none;
}
.header-logo{
    display: block;
    width: fit-content;
    margin: 0 auto;
}
.sub-logo,
.scroll-header-logo{
    width: 180rem;
    height: auto;
}
.hum{
    width: 35rem;
    height: 20rem;
    position: fixed;
    top: 40rem;
    left: calc( 60vw/ ( 1366/ 100));
    z-index: 12;
    transition: all ease .7s;
}

#top .hum{
    width: 35rem;
    height: 20rem;
    position: fixed;
    top: 75rem;
    left: calc( 60vw/ ( 1366/ 100));
    z-index: 12;
}
.scroll .hum,
#top.scroll .hum{
    top: 40rem;
}

.hum:hover{
    cursor: pointer;
}
.hum span{
    position: absolute;
    display: block;
    width: 35rem;
    height: 1rem;
    background-color: var(--unnamed-color-333333);
    transition: all ease .4s;
}
.hum span:first-child{
    top: 0;
    left: 0;
}
.hum span:nth-of-type(2){
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}
.hum span:last-child{
    bottom: 0;
    left: 0;
}
.hum.open span:first-child{
    top: 9.5rem;
    left: 0;
    transform: rotate(20deg);
}
.hum.open span:nth-of-type(2){
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    display: none;
}
.hum.open span:last-child{
    bottom: 9.5rem;
    left: 0;
    transform: rotate(-20deg);
}
.contact-mail,
#scroll-header.scroll-header .contact-mail{
    font: var(--unnamed-font-style-normal) normal var(--unnamed-font-weight-normal) var(--unnamed-font-size-16)/22rem Roboto;
    color: var(--unnamed-color-333333);
    position: absolute;
    top: 40rem;
    right: calc( 60vw/ ( 1366/ 100));
}

#top .contact-mail{
    font: var(--unnamed-font-style-normal) normal var(--unnamed-font-weight-normal) var(--unnamed-font-size-16)/22rem Roboto;
    color: var(--unnamed-color-333333);
    position: absolute;
    top: 70rem;
    right: calc( 60vw/ ( 1366/ 100));
}

/* slide-manu */
.slide-menu{
    width: 100%;
    height: 750rem;
    background-color: var(--unnamed-color-ffffff);
    position: fixed;
    z-index: 11;
    top: 0;
    left: -100%;
    transition: all ease .4s;
    display: flex;
    justify-content: space-between;
    padding: 145rem calc( 140vw/ ( 1366/ 100)) 145rem  calc( 155vw/ ( 1366/ 100)) ;
}
.slide-menu.open{
    left: 0;
}
.header-menu-list > li{
    margin-bottom: 70rem;
}
.header-menu-list > li:last-of-type{
    margin-bottom: 0rem;
}
.header-menu-list > li > a{
    font: var(--unnamed-font-style-normal) normal var(--unnamed-font-weight-normal) var(--unnamed-font-size-24)/35rem var(--unnamed-font-family-ten-mincho-text);
    letter-spacing: var(--unnamed-character-spacing-2-4);
    color: var(--unnamed-color-333333);
    display: flex;
    align-items: center;

}
.header-menu-list > li > a span{
    font: var(--unnamed-font-style-normal) normal var(--unnamed-font-weight-normal) var(--unnamed-font-size-16)/35rem Roboto;
    margin-left: 30rem;
    position: relative;
}
.header-menu-list > li > a span::after{
    content: '';
    display: inline-block;
    width: 12rem;
    height: 16rem;
    position: absolute;
    top: 50%;
    right: -30rem;
    transform: translateY(-50%);
    background: url('/assets/img/slide-arrow.svg') center/cover no-repeat ;
}
.header-menu-list .menu-has-child ul{
    display: flex;
    flex-wrap: wrap;
    width: 355rem;
    margin-top: 15rem;
}
.header-menu-list .menu-has-child ul a{
    font: var(--unnamed-font-style-normal) normal var(--unnamed-font-weight-normal) var(--unnamed-font-size-15)/var(--unnamed-line-spacing-30) var(--unnamed-font-family-yu-gothic-pr6n);
    letter-spacing: var(--unnamed-character-spacing-0);
    color: var(--unnamed-color-333333);
    padding-right: 55rem;
    position: relative;
}
.header-menu-list .menu-has-child ul a::after{
    content: '';
    position: absolute;
    display: inline-block;
    top: 50%;
    right: 30rem;
    transform: translateY(-50%);
    width: 12rem;
    height: 16rem;
    background: url('/assets/img/slide-arrow.svg') center/cover no-repeat ;
}
.menu-list-right{
    display: flex;
    flex-direction: column;
    width: calc( 525vw/ ( 1336/ 100));
}
.menu-list-right-top{
    display: flex;
    justify-content: space-between;
    padding-bottom: 105rem;
    border-bottom:  1rem solid #333333;
}
.menu-list-right-top ul li a{
    font: var(--unnamed-font-style-normal) normal var(--unnamed-font-weight-normal) var(--unnamed-font-size-17)/36rem var(--unnamed-font-family-yu-gothic-pr6n);
    letter-spacing: var(--unnamed-character-spacing-0);
    color: var(--unnamed-color-333333);
    text-decoration: underline;
}
.menu-list-right-top .slide-banner{
    width: 240rem;
    height: 120rem;
    background-color: #cccccc;
}
.menu-list-right-bottom{
    display: flex;
}
.menu-list-right-bottom > img{
    width: 150rem;
    height: 175rem;
    margin-top: 35rem;
}
.menu-list-right-bottom > ul{
    margin-top: 45rem;
    margin-left: 60rem;
}
.menu-list-right-bottom > ul li img{
    width: 30rem;
    height: auto;
}
.menu-list-right-bottom > ul li {
    font: var(--unnamed-font-style-normal) normal var(--unnamed-font-weight-normal) var(--unnamed-font-size-14)/20rem var(--unnamed-font-family-yu-gothic-pr6n);
    letter-spacing: var(--unnamed-character-spacing-0);
    color: var(--unnamed-color-333333);
}
.menu-list-right-bottom .tel{
    font: var(--unnamed-font-style-normal) normal var(--unnamed-font-weight-bold) var(--unnamed-font-size-20)/26rem Roboto;
    letter-spacing: var(--unnamed-character-spacing-2);
}
.menu-list-right-bottom .fax{
    font: var(--unnamed-font-style-normal) normal var(--unnamed-font-weight-bold) var(--unnamed-font-size-16)/21rem Roboto;
    color: var(--unnamed-color-333333);
    margin-bottom: 10rem;
}
.menu-list-right-bottom .add{
    margin-top: 25rem;
}

/* top-header */
#top .top-logo{
    display: block;
    width: 180rem;
    height: auto;
}
#top .sub-logo{
    display: none;
}
#top header{
    height: 280rem;
}

/* sub-header */

/* link-btn */
.link-text{
    font: var(--unnamed-font-style-normal) normal var(--unnamed-font-weight-normal) var(--unnamed-font-size-18)/26rem var(--unnamed-font-family-ten-mincho-text);
    letter-spacing: var(--unnamed-character-spacing-0-9);
    display: block;
    width: 100%;
    text-align: left;
    position: relative;
}
.link-text::after{
    content: '';
    display: block;
    height: 17rem;
    width: 10rem;
    background-image: url('/assets/img/slide-arrow.svg');
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
}

/* btn */
.btn{
    display: block;
    width: 300rem;
    height: 80rem;
    text-align: center;
    font-size: var(--unnamed-font-size-16);
    font-family: var(--unnamed-font-family-ten-mincho-text);
    background: #FFFFFF 0% 0% no-repeat padding-box;
    border: 1rem solid #333333;
    line-height: 80rem;
    margin: 0 auto;
}
.btn:hover{
    background: #E4E4E4 0% 0% no-repeat padding-box;
    border: 1rem solid #333333;
    opacity: 1;
}
.fv-container{
    width: 100%;
    height: auto;
}

/* スケジュール */
#calendar{
    width: 630rem;
    height: auto;
}
#calendar.fc .fc-toolbar.fc-header-toolbar{
    margin-bottom: 40rem;
}
#calendar.fc .fc-button .fc-icon{
    color: #AAAAAA;
}
#calendar.fc .fc-toolbar{
    width: 345rem;
    margin: 0 auto;
}
.fc .fc-button-primary{
    font: var(--unnamed-font-style-normal) normal var(--unnamed-font-weight-normal) 25rem/25rem var(--unnamed-font-family-yu-gothic-pr6n);
    background: none;
    border: none;

}
.fc .fc-button-primary:hover,
.fc .fc-button-primary:active{
    background: none;
    border: none;
}
#calendar.fc-theme-standard td{
    height: 93rem;
    width: 90rem;
    border: 1rem solid var(--unnamed-color-333333);
}
#calendar.fc .fc-col-header-cell-cushion,
#calendar.fc .fc-daygrid-day-number{
    font: var(--unnamed-font-style-normal) normal var(--unnamed-font-weight-normal) 25rem/25rem var(--unnamed-font-family-yu-gothic-pr6n);
    letter-spacing: var(--unnamed-character-spacing-0);
}
#calendar.fc-theme-standard .fc-scrollgrid{
    border: none;
}
#calendar.fc-theme-standard th{
    width: 90rem;
    border: none;
}
#calendar.fc .fc-scroller-liquid-absolute,
#calendar.fc .fc-scroller{
    overflow: visible !important;
}
#calendar.fc .fc-toolbar-title{
    font: var(--unnamed-font-style-normal) normal var(--unnamed-font-weight-normal) var(--unnamed-font-size-30)/40rem var(--unnamed-font-family-ten-mincho-text);
    letter-spacing: var(--unnamed-character-spacing-3);
}
#calendar.fc .fc-scrollgrid-section-body table, #calendar.fc .fc-scrollgrid-section-footer table{
    max-height: 570rem !important;
    height: auto !important;
    min-height: 475rem !important;
}
.fc .fc-daygrid-more-link{
    font-size: 12rem;
}
.modal-body *{
    font-size: 16rem;
    font-family: var(--unnamed-font-family-yu-gothic-pr6n);
}
.modal-body ul li,
.modal-header{
    padding: 10rem 10rem;
    font-family: var(--unnamed-font-family-yu-gothic-pr6n);
}

#calendar.fc .fc-button-primary:disabled{
    display: none;
}
#calendar.fc .fc-view-harness{
    height: 590rem !important;
}
#calendar.fc .fc-scroller-harness{
    overflow: visible;
}

#calendar .fc-daygrid-block-event .fc-event-time,#calendar .fc-daygrid-block-event .fc-event-title{
    font: var(--unnamed-font-style-normal) normal var(--unnamed-font-weight-normal) 12rem/20rem var(--unnamed-font-family-noto-sans-cjk-jp);
    color: var(--unnamed-color-333333);
}
#calendar.fc-direction-ltr .fc-toolbar > * > :not(:first-child){
    display: none;
}

/* footer */
.contact-footer-box{
    background: var(--unnamed-color-e4e4e4) 0% 0% no-repeat padding-box;
    padding: 160rem 0;
}
.contact-footer-box div{
    width: 700rem;
    margin: 0 auto;
}
.contact-footer-box p.f-17{
    text-align: center;
}
.contact-footer-box .flex{
    margin-bottom: 50rem;
    margin-top: 50rem;
    width: 620rem;
}
.contact-link-box{
    background: #FFFFFF 0% 0% no-repeat padding-box;
    padding: 50rem 78rem;
}
.contact-link-box p{
    font-size: var(--unnamed-font-size-16);
    margin-bottom: 20rem;
    font-family: var(--unnamed-font-family-ten-mincho-text);
}
.contact-link-box ul li img{
    width: 50rem;
    height: auto;
    margin-right: 10rem;
}
.contact-link-box ul li{
    font: var(--unnamed-font-style-normal) normal var(--unnamed-font-weight-normal) var(--unnamed-font-size-14)/var(--unnamed-line-spacing-24) var(--unnamed-font-family-yu-gothic-pr6n);
    letter-spacing: var(--unnamed-character-spacing-0);
    color: var(--unnamed-color-333333);
    text-align: center;
}
.contact-link-box ul li.tel{
    font: var(--unnamed-font-style-normal) normal var(--unnamed-font-weight-bold) 40rem/var(--unnamed-line-spacing-40) Roboto;
    margin-bottom: 5rem;
}

.contact-link-box ul li.fax{
    font: var(--unnamed-font-style-normal) normal var(--unnamed-font-weight-bold) var(--unnamed-font-size-20)/var(--unnamed-line-spacing-40) Roboto;
    letter-spacing: var(--unnamed-character-spacing-2);
}
.contact-link-box .or{
    width: 225rem;
    margin: 40rem auto 20rem;
    text-align: center;
    font-size: 12rem;
    background-color: #fff;
    position:relative;
    z-index: 3;
}
.contact-link-box .or::before{
    content: "";
    display: block;
    width: 100%;
    height: 1rem;
    background-color: #333;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: -1;
}
.contact-link-box .or::after{
    content: "";
    display: block;
    width: 55rem;
    height: 12rem;
    background-color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50% , -50%);
    z-index: -1;
}
footer{
    margin-top: 160rem;
}
.copy{
    writing-mode: vertical-rl;
    position: fixed;
    top: 380rem;
    right: 20rem;
}
footer .company-list-has-child li{
    width: 28rem;
    height: 20rem;
}
footer .company-list-has-child li:last-of-type{
    width: 20rem;
    height: 20rem;
    margin-left: 20rem;
}
.page-top{
    width: 55rem;
    height: 43rem;
}
.page-top:hover{
    cursor: pointer;
}
.footer-company-block{
    justify-content: space-between;
    align-items: end;
    padding: 60rem calc( 160vw/ ( 1366/ 100));
}
.company-name{
    font-size: var(--unnamed-font-size-20);
    line-height: 30rem;
}
.footer-company-block ul li p{
    font-size: var(--unnamed-font-size-16);
    line-height: 26rem;
    font-family: var(--unnamed-font-family-ten-mincho-text);
}
.footer-company-block ul li{
    margin-bottom: 15rem;
}
.footer-company-block .company-list-has-child{
    margin-bottom: 0;
}


/* その他コンテンツ */
.content-bg-img{
    width: 100%;
    height: 0;
    padding-top: 38.9%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    margin-bottom: 90rem;
}
.content-title{
    text-align: center;
    margin-bottom: 40rem;
}
.content-title span{
    display: block;
    font: var(--unnamed-font-style-normal) normal var(--unnamed-font-weight-normal) var(--unnamed-font-size-18)/24rem Roboto;
    letter-spacing: var(--unnamed-character-spacing-1-8);
    margin-top: 10rem;
}
.content-text-box{
    width: 990rem;
    justify-content: space-between;
    align-items: center;
}
.content-text-box p{
    width: 640rem;
}

/* サブページ */
.sub-title-content .content-title{
    margin-bottom: 70rem;
}
.sub-top-content .content-text-box{
    margin:0 auto 130rem;
}
.banner-content-link{
    width: 665rem;
    height: 230rem;
    margin: 0 auto;
}
.banner-content-link p{
    font-size: 22rem;
    font-family: var(--unnamed-font-family-ten-mincho-text);
}
.banner-content-link img{
    width: 370rem;
}
.banner-content-link div{
    border: 1rem solid #AAAAAA;
    text-align: center;
    width: calc(665rem - 370rem);
    padding: 75rem 0 35rem;
}
.banner-content-link .btn{
    width: 160rem;
    height: 40rem;
    font-size: 14rem;
    line-height: 40rem;
    margin-top: 50rem;
}
.content-title a{
    font-size: 18rem;
    letter-spacing: var(--unnamed-character-spacing-1-8);
    color: var(--unnamed-color-333333);
    margin-top: 10rem;
    font-family: var(--unnamed-font-family-yu-gothic-pr6n);
    text-decoration: underline;
}
.content-title.product span{
    font-family: var(--unnamed-font-family-ten-mincho-text);
    margin-top: 0;
    font-size: 17rem;
}


/* TOP page */
.top-text-container{
    text-align: center;
}
.top-text-container h2{
    margin-bottom: 70rem;
}
.top-text-container .text-container-img{
    display: block;
    width: 80rem;
    height: auto;
    margin: 60rem auto 160rem;
}
.img-icon-link{
    width: 900rem;
    margin: 0 auto;
    justify-content: space-between;
}
.img-icon-link a{
    display: block;
    width: 420rem;
}
.img-icon-link .link-text{
    margin-top: 20rem;
}
.top-calendar-content{
    padding-top: 300rem;
}
.top-calendar-content #calendar{
    margin: 0 auto 75rem;
}
.top-products-content .content-text-box{
    margin: 0 auto 130rem;
}
.top-products{
    width: 1245rem;
    margin: 0 auto;
    margin-bottom: 50rem;
}
.top-products-link{
    display: block;
    width: 1005rem;
    margin: 0 auto 75rem;
}
.top-products-content .img-icon-link{
    width: 770rem;
    margin-bottom: 75rem;
}
.top-products-content .img-icon-link a{
    width: 350rem;
}
.link-banner{
    width: 770rem;
    height: 320rem;
    margin: 115rem auto 0;
}
.m-none .link-banner{
    margin-top: 0;
}
.instagram{
    margin-top: 160rem;
    width: 100%;
    padding: 60rem 0;
    background: var(--unnamed-color-e4e4e4) 0% 0% no-repeat padding-box;
    text-align: center;
}
.top-about-content h4{
    text-align: center;
}
.top-about-content .flex{
    width: 620rem;
    margin: 75rem auto 160rem;
}
.slide-img-list{
    width: 100%;
    margin-bottom: 160rem;
}
.slide-img-list li{
    width: 840rem;
}

body main .m-160{
    margin-top: 160rem;
}