<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "utf-8";


html {
	font: normal normal normal 62.5%/1 "Lato","游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif
}
/*
.ie body {
  font-family: 'メイリオ', 'Meiryo', sans-serif;
}
*/
body {
	margin: 0;
	padding: 0;
	background-color: #f6f6f6;
	position: relative;
	color: #000;
	color: rgba(0, 0, 0,1);
	text-rendering: optimizeLegibility;
	font-feature-settings : "palt" 1;
	-webkit-text-size-adjust: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-kerning: normal;
			font-kerning: normal;
	-webkit-backface-visibility: hidden;
			backface-visibility: hidden;
    letter-spacing: 0.1em;
    
}





a {
    color:#222;
	color:var(--base-link-color);
	text-decoration: none;
	-webkit-transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    -moz-transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    -o-transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    
}

a:hover {
	-webkit-transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    -moz-transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    -o-transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
}
input,
select,
textarea,
button,
*:before,
*:after {
	-webkit-transition:  opacity 0.4s all var(--easeInOutCubic);
	        transition:  opacity 0.4s var(--easeInOutCubic);
	-webkit-transform: translate3d(0, 0, 0);
			transform: translate3d(0, 0, 0);
}

a:focus,
input:focus,
select:focus,
textarea:focus,
button:focus {
  outline: none;
}

img {
	width: 100%;
	vertical-align: bottom;
	-ms-interpolation-mode: bicubic;
		interpolation-mode: bicubic;
	-webkit-backface-visibility: hidden !Important;
}

.pc_off{
	display:none;
	}
.tab_on{
	display:none;
	}
.sp_off{
	display:block;
	}
.onon{
	display:block !important;
}

.cl{
	clear:both;
	}
img.preload{
	display:none;
}
::-moz-selection
{
    background: #ff7a59;
}
::selection
{
    background: #ff7a59;
}

/* Safari */
::-moz-selection{
    background: #ff7a59;
}

.mincho{
    font-family: 'Shippori Mincho', serif;
    font-weight: 500;
}
.mincho.sb{
    font-weight: 600;
}

.mincho.bold{
    font-weight: 700;
}

.en {
    font-family: 'Lato', sans-serif;
    font-weight: 300;
}
.enb {
    font-family: 'Lato', sans-serif;
    font-weight: 400; 
}


.all_wrap{
    position: relative;
    overflow:hidden;
    box-sizing:border-box;
}

:root {
    --base-text-color: #222;
    --base-gray-color: #f0f0f0;
    --base-bg-color: #f6f6f6;
    
    --easeInSine:cubic-bezier(0.12, 0, 0.39, 0);
    --easeOutSine:cubic-bezier(0.61, 1, 0.88, 1);
    --easeInOutSine:cubic-bezier(.445, .05, .55, .95);
    
    --easeInQuad:cubic-bezier(.55, .085, .68, .53);
    --easeOutQuad:cubic-bezier(.25, .46, .45, .94);
    --easeInOutQuad:cubic-bezier(.455, .03, .515, .955);
    
    --easeInCubic:cubic-bezier(0.32, 0, 0.67, 0);
    --easeOutCubic:cubic-bezier(0.33, 1, 0.68, 1);    
    --easeInOutCubic:cubic-bezier(0.65, 0, 0.35, 1);
    
    --easeInExpo:cubic-bezier(.95, .05, .795, .035);
    --easeOutExpo:cubic-bezier(.19, 1, .22, 1);
    --easeInOutExpo:cubic-bezier(1, 0, 0, 1);

    --easeInCirc:cubic-bezier(.6, .04, .98, .335);
    --easeOutCirc:cubic-bezier(.075, .82, .165, 1);
    --easeInOutCirc:cubic-bezier(.785, .135, .15, .86); 

    --easeInBack:cubic-bezier(.6, -0.28, .735, .045); 
    --easeOutBack:cubic-bezier(.175, .885, .32, 1.275); 
    --easeInOutBack:cubic-bezier(.68, -0.55, .265, 1.55); 
    
    --base-size50:3.472vw;
    --base-size60:4.16vw;
    --base-size80:5.55vw;
    
    --rt-tit-width:11.1111vw;
    --rt-pd:11.1111vw;
}


@media screen and (min-width :1920px ){
    
    :root {
        --rt-tit-width:215px;
        --rt-pd:11.1111vw;
    }
    
}
@media screen and (max-width :1050px ){
    
    :root {
        --rt-tit-width:90px;
        --rt-pd:3vw;
    }
}
@media screen and (max-width :800px ){
    :root {
        --rt-tit-width:12vw;
        /*
        --rt-tit-width:53px;
        --rt-pd:6.5vw;
        */
        --rt-pd:6vw;
        --con-pd:11.75vw;
        --con-H-pd:5.775vw;
        --base-size80:6vw;
    }
    .tit_enb{
        letter-spacing: 0.06em;
    }
}

/* ==========================================================================
	メニュー
========================================================================== */

.menu_wrap{
    position: absolute;
    z-index: 510;
    left: 0;
    top: 0;
    width: 100%;
}
#header{
    position: absolute;
    width: 100%;
    height:auto;
    left: 0;
    right: 0;
    margin:auto;
    top:0;
    height: 160px;
-webkit-transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
-moz-transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
-o-transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
}
#header h1{
    position:absolute;
    width: 123px;
    left: 0;
    right: 0;
    top: 40px;
    margin:auto;
}
#header h1 a{
    display: block;
}
#header h1 a:hover{
    opacity: .5;
}

.online_link {
    position:absolute;
    width: 60px;
    height: 310px;
    border-radius:2px;
    border:1px solid #222;
    text-align: center;
    right: 3.472vw;
    bottom: 3.72vw;
    z-index:500;
    text-align: center;
    box-sizing:border-box;
    opacity:0;
    
  animation: fade .6s ease forwards;
}
.fixed .online_link {
    opacity:0;
    position:fixed;
  animation: fade02 .6s ease forwards;
}
@keyframes fade {
  0% {
    opacity:0;
  }
    100%{opacity:100;
    }
}
@keyframes fade02 {
  0% {
    opacity:0;
  }
    100%{opacity:100;
    }
}

.online_link .v_txt{
    position: relative;
    width: 20px;
    padding-top: 30px;
    z-index:10;
    
}
.online_link .enb{
    font-size: 14px;
    display: inline-block;
    margin-bottom: 20px;
}
.online_link .mincho{
    font-size: 18px;
    letter-spacing: -0.05em;
}


.online_link:before {
  content: '';
  position: absolute;
  top:0;
  left: 0;
  z-index: 1;
  background:  #fff;
  width: 100%;
  height: 0;
-webkit-transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
-moz-transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
-o-transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
}

.online_link:hover:before{
   height: 100%;  
   background-color: #fff;
	-webkit-transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    -moz-transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    -o-transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
}



#header .menu_list{
    position: absolute;
	-js-display: flex;
	display:-webkit-box;
	display: -webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
    justify-content: space-between;
    flex-direction: row-reverse;
	-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
    align-items: flex-start;    
    width:278px;
    top:70px;
    left: 4.16vw;
    z-index:15;
}


#header .menu_list a{
    display: block;
    position:relative;
    font-size: 18px;
    letter-spacing: 0.06em;
    padding:0 10px;
    border-left:1px solid #222;
    color:#222;
    ]
    
}



#header .cart{
    position: absolute;
    width: 54px;
    height: 54px;
    right: 4.44vw;
    top: 57px;
    padding:10px;
    box-sizing:border-box;    
}
/*
#header .cart:after{
  content: '';
  position: absolute;
  top:0;
  left: 0;
  z-index: -1;
  background:  #fff;
  width: 1px;
  height: 0;
-webkit-transition: all 0.2s cubic-bezier(0.61, 1, 0.88, 1);
-moz-transition: all 0.2s cubic-bezier(0.61, 1, 0.88, 1);
-o-transition: all 0.2s cubic-bezier(0.61, 1, 0.88, 1);
transition: all 0.2s cubic-bezier(0.61, 1, 0.88, 1);
    transition-delay: .2s;
}


#header .cart:hover:after{
   height: 100%;  
   background-color: #222;
	-webkit-transition: all 0.2s cubic-bezier(0.61, 1, 0.88, 1);
    -moz-transition: all 0.2s cubic-bezier(0.61, 1, 0.88, 1);
    -o-transition: all 0.2s cubic-bezier(0.61, 1, 0.88, 1);
    transition: all 0.2s cubic-bezier(0.61, 1, 0.88, 1);
}
*/
#header .cart:before{
    content:"";
    display: block;
    width: 100%;
    height: 0;
    top:0;
	-webkit-transition: all 0.3s cubic-bezier(0.61, 1, 0.88, 1);
    -moz-transition: all 0.3s cubic-bezier(0.61, 1, 0.88, 1);
    -o-transition: all 0.3s cubic-bezier(0.61, 1, 0.88, 1);
    transition: all 0.3s cubic-bezier(0.61, 1, 0.88, 1);
    border-radius:2px;
}
#header .cart:hover:before{
    height: 100%;
	-webkit-transition: all 0.3s cubic-bezier(0.61, 1, 0.88, 1);
    -moz-transition: all 0.3s cubic-bezier(0.61, 1, 0.88, 1);
    -o-transition: all 0.3s cubic-bezier(0.61, 1, 0.88, 1);
    transition: all 0.3s cubic-bezier(0.61, 1, 0.88, 1);
}


#header .cart img{
    width: 34px;
}
/*
.global-nav,
.hamburger{display:none;}
*/



#header.fixed{
    position:fixed;
    left:0;
    top: 0;
-webkit-transition: all 0.3s cubic-bezier(0.61, 1, 0.88, 1);
-moz-transition: all 0.3s cubic-bezier(0.61, 1, 0.88, 1);
-o-transition: all 0.3s cubic-bezier(0.61, 1, 0.88, 1);
transition: all 0.3s cubic-bezier(0.61, 1, 0.88, 1);
}

.global-nav {
    display: block;
    position: fixed;    
    top: 0;
    left: 0;
    width: 100%;
    /*
    height: 850px;
    top:-850px;
    */
    height: 100vh;
    top:-100vh;

    padding-top: 20px;
    background:#f6f6f6;;
    box-sizing: border-box;
    transition: all .6s;
    z-index: 9998;
    /*
    opacity: 0;
    visibility: hidden;
    */
    overflow-y: auto;
}

.hamburger {
    display: block;
    position: fixed;
    left:55px;
    top: 68px;
    width: 50px;
    height: 23px;
    cursor: pointer;
    z-index: 99999;
    opacity:0;
-webkit-transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
-moz-transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
-o-transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    /*
    transition: all .4s;
    */
}
body.fixed .hamburger{
    opacity: 100;
}

.hamburger_line {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    margin: auto;
    width: 100%;
    height: 1px;
    background-color: #222;
    transition: all .3s cubic-bezier(.25, .46, .45, .94);
}
.hamburger_line-2 {
    top: 11px;
}
.hamburger_line-3 {
    top:auto;
    bottom:0;
}

/* 表示された時用のCSS */
.nav-open .global-nav {
    /*
    visibility: inherit;
    opacity:100;
    */
    top:0;
}

.global-nav .nav_inr {
    position: relative;
    /*
    padding:230px 0 0; 
    */
    box-sizing:border-box;
    width: 90%;
    height: 467px;
    max-width: 1120px;
    box-sizing: border-box;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}
.global-nav h2{
    position:absolute;
    width: 123px;
    left: 0;
    right: 0;
    top: 40px;
    margin:auto;
}
.global-nav h2 a{
    display: block;
}
.global-nav h2 a:hover{
    opacity: .6;
}

.global-nav .insta_link{
    display: block;
    position: absolute;
    right: 152px;
    top: 70px;
    width: 29px;
}
.global-nav .fb_link{
    display: block;
    position: absolute;
    right: 102px;
    top: 69px;
    width: 30px;
}
.global-nav .note_link{
    display: block;
    position: absolute;
    right: 52px;
    top: 69px;
    width: 30px;
}
.global-nav .insta_link:hover,
.global-nav .fb_link:hover{
    opacity: .5;
}

.global-nav .nav_list{

	-js-display: flex;
	display:-webkit-box;
	display: -webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
    justify-content: space-between;
    flex-direction: row-reverse;
	-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
    align-items: flex-start;   
    width: 80%;
    max-width:710px;
    margin:0 auto;
}
.nav_list a{
    display: block;
    position:relative;
    font-size: 32px;
    letter-spacing: 0.06em;
    padding:0 20px;
    border-left:1px solid #222;
    
}


.nav-foot {
    position: relative;
    width: 100%;
    max-width: 1200px;
    margin:140px auto 0;
	-js-display: flex;
	display:-webkit-box;
	display: -webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
    justify-content: space-between;
	-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
    align-items:flex-start;
}

.nav-foot a.mincho {
    position: relative;
    
    display: flex;
    align-items: center;
    justify-content: center; 
    width: 500px;
    height: 90px;
    border:1px solid #222;
    border-radius:2px;
    font-size: 22px;
}
.nav-foot a.mincho span.en {
    position: relative;
    display:inline-block;
    font-size: 18px;
    padding-left: 14px;
}
.nav-foot .txt {
    display:inline-block;
    padding-top: 10px;
}
.nav-foot h3.mincho {
    font-size: 28px;
}
.nav-foot .txt p {
    display: block;
    font-size: 18px;
    margin-top: 18px;
}
.nav-foot .txt p .en {
    font-size: 18px;
}
.nav-foot a:last-child{
    display:inline-block;
    padding:38px 0 10px 0;
    font-size: 30px;   
    border-bottom:1px solid #222;
    
}
.nav-foot a:last-child span {
    font-size: 18px;
}



/* 表示された時用のCSS */

.nav-open .hamburger { opacity: 100;position:fixed;}

.nav-open .hamburger_line-1 {transform: rotate(-45deg);top:10px;}
.nav-open .hamburger_line-2 {display:none;}
.nav-open .hamburger_line-3 {transform: rotate(45deg);top:10px;bottom:auto;}

.nav-open .global-nav {top: 0;left: 0;padding-top:0;border-radius:0;}
.global-nav {left: 0;width: 100%;padding-top: 0px;transition: all .4s cubic-bezier(0.61, 1, 0.88, 1);}
.global-nav:before{width: 10px;height: 10px;right: 75px;}
.global-nav_inr{width: 90%;}
    

@media screen and (max-width : 800px ){
    
    #header{
        height: 117px;
    }
    #header h1{
        width: 80px;
        top: 32px;
    }

    .online_link {
        position:absolute;
        width: 38px;
        height: 150px;
        border-radius:2px;
        border:1px solid #222;
        text-align: center;
        right: 2.5vw;
        bottom: 5vw;

    }
    .fixed .online_link{
        position:fixed;
        background:#f6f6f6;
    }

    .online_link .v_txt{
        width: 10px;
        padding-top: 22px;

    }
    .online_link .enb{
        display:none;
    }
    .online_link .mincho{
        font-size: 12px;
    }





    #header .menu_list{
        display:none;

    }



    #header .cart{
        position: absolute;
        width: 23px;
        height: 23px;
        right: 5.8vw;
        top: 47px;
        padding:0;
        box-sizing:border-box;    
    }

    #header .cart:before,
    #header .cart:after{
        display:none;
    }

    #header .cart img{
        width: 23px;
    }


    #header.fixed{
        position:fixed;
        left:0;
        top: 42px;
    }

    .global-nav {
        display: block;
        position: fixed;    
        top: 0;
        left: 0;
        width: 100%;
        /*
        height: 850px;
        top:-850px;
        */
        height: 100vh;
        top:-100vh;

        padding-top: 20px;
        background-color:#f6f6f6;
        box-sizing: border-box;
        transition: all .6s;
        z-index: 9998;
        /*
        opacity: 0;
        visibility: hidden;
        */
        overflow-y: auto;
    }

    .hamburger {
        left:5.8vw;
        top: 50px;
        width: 27px;
        height: 17px;
        opacity:100;
    }

    .hamburger_line-2 {
        top: 8px;
    }

    .global-nav .nav_inr {
        width: 72.5%;
        min-width:260px;
        height: 495px;/*
        position: relative;
        margin: 0 auto;*/
    }
    .global-nav h2{
        width: 80px;
        top: 32px;
    }
    .global-nav .insta_link{
        right:84px;
        top: 49px;
        width: 20px;
    }
    .global-nav .fb_link{
        right: 54px;
        top: 49px;
        width: 20px;
    }

    .global-nav .note_link{
        right: 24px;
        top: 49px;
        width: 20px;
    }
    .global-nav .nav_list{ 
        display: block;
        width: 100%;
    }
    
    .nav_list a{
        display: table;
        position:relative;
        font-size: 17px;
        letter-spacing: 0.06em;
        padding:0 0 5px;
        border-bottom:1px solid #222;
        border-left:none;
        -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
        writing-mode: horizontal-tb;
        margin-bottom: 35px;
    }
    .nav-foot {
        margin:5px auto 0;
        display: block;
    }

    .nav-foot a.mincho {
        width: 100%;
        height: 48px;
        font-size: 12px;
    }
    .nav-foot a.mincho span.en {
        font-size: 10px;
        padding-left: 5px;
    }
    .nav-foot .txt {
        display:block;
        padding-top: 40px;
    }
    .nav-foot h3.mincho {
        font-size: 15px;
    }
    .nav-foot .txt p {
        display: block;
        font-size: 10px;
        margin-top: 10px;
    }
    .nav-foot .txt p .en {
        font-size: 10px;
    }
    .nav-foot a:last-child{
        display:inline-block;
        padding:30px 0 5px 0;
        font-size: 16px;  
    }
    .nav-foot a:last-child span {
        font-size: 10px;
    }



    /* 表示された時用のCSS */

    .nav-open .hamburger { opacity: 100;position:fixed;}

    .nav-open .hamburger_line-1 {transform: rotate(-45deg);top:10px;}
    .nav-open .hamburger_line-2 {display:none;}
    .nav-open .hamburger_line-3 {transform: rotate(45deg);top:10px;bottom:auto;}

    .nav-open .global-nav {top: 0;left: 0;padding-top:0;border-radius:0;}
    .global-nav {left: 0;width: 100%;padding-top: 0px;transition: all .4s cubic-bezier(0.61, 1, 0.88, 1);}
    .global-nav:before{width: 10px;height: 10px;right: 75px;}
    .global-nav_inr{width: 90%;}
    
}

/* ==========================================================================
	hasei_main
========================================================================== */
#hasei_main {
    position: relative;
    z-index:300;
    padding-top: 271px;
}
#hasei_main .hasei_tit {
    position: relative;
    padding-left: calc(5.55vw + 140px);
    box-sizing:border-box;
    font-size: 55px;
    /*
    font-size: clamp(55px,38.19vw,60px);
    */
    font-weight: 700;
    margin-bottom: 20px;
    letter-spacing: 0.15em;
}
#hasei_main .hasei_tit:before{
    content:"";
    display: block;
    width: 100px;
    height: 1px;
    position: absolute;
    left: 5.5vw;
    top: 33px;
    background:#313131;
}
#hasei_main .hasei_s_tit {
    position: relative;
    padding-left: calc(5.55vw + 140px);
    box-sizing:border-box;
    font-size: 16px;
    /*
    font-size: clamp(16px,11.11vw,18px);
    */
    letter-spacing: 0.1em;
    font-weight: 500;
}
#hasei_main .img_area {
    position: relative;
    width: calc(100% - 5.5vw);
    margin-left: 5.5vw;
    height:410px;
    height:clamp(410px,28.47vw,450px);
    overflow: hidden;
    margin-top: 113px;
    border-radius:3px 0 0 3px;
}



#hasei_main .scroll{
    display: inline-block;
    position: absolute;
    right: 65px;
    bottom: 330px;
    bottom: clamp(330px,24vw,380px);
    z-index: 30;
    padding: 10px 10px 130px;
    overflow: hidden;
    color: #222;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .1em;
    text-transform: uppercase;
    text-decoration: none;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -o-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}
#hasei_main .scroll:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 47%;
  width: 1px;
  height: 100px;
  background: #222;
  animation: sdl 2.5s cubic-bezier(1, 0, 0, 1) infinite;
}
@keyframes sdl {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  35% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  35.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  70%, 100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}


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

    #hasei_main .scroll{right: 3vw;}
}

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

    #hasei_main {
        padding-top: 41.8vw;
        padding-top: clamp(100px,41.8vw,165px);
    }
    #hasei_main .hasei_tit {
        padding-left:calc(5.875vw + 60px);
        font-size: 29px;
        font-size: clamp(28px,7.25vw,31px);
        margin-bottom: 8px;
    }
    #hasei_main .hasei_tit:before{
        width: 38px;
        height: 1px;
        left: 5.87vw;
        top: 14px;
    }
    #hasei_main .hasei_s_tit {
        padding-left:calc(5.875vw + 60px);
        font-size: 10px;
        font-size: clamp(10px,2.5vw,12px);
    }
    #hasei_main .img_area {
        position: relative;
        width: calc(100% - 5.875vw);
        margin-left: 5.875vw;
        height:54.75vw;
        height:clamp(200px,54.75vw,300px);
        margin-top: 13.75vw;
        border-radius:3px 0 0 3px;
    }



    #hasei_main .scroll{
        display:none;
    }

}




/* ==========================================================================
	contact
========================================================================== */
#contact {
    position: relative;
    margin:0 auto;
}
#contact .intro {
    position: relative;
    height: 680px;
    background:url(../image/contact_bg.jpg) center center;
    background-size:cover;
}
#contact .tit_area {
    position: relative;
    width: 25%;
    display: flex;
    justify-content: center;
    
    align-items: flex-start;
    padding-top: 100px;
}
#contact h2.v_txt {
    font-size: 36px;
    padding-left: 18px;
    border-left:1px solid #fff;
    margin-right: 10px;
    color:#fff;
}
#contact .tit_area span {
    display:inline-block;
     padding:2px;
    background:#fff;
    border-radius:2px;
    font-size: 12px;
    margin-left: 10px;
}
#contact .access_area{
    position: relative;
	-js-display: flex;
	display:-webkit-box;
	display: -webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	justify-content: flex-end;
    transform: translateY(-150px);
    margin-bottom: -150px;
    z-index:50;
}

.access_inr{
    width: 75%;
    max-width:1200px;
    min-width:800px;
	-js-display: flex;
	display:-webkit-box;
	display: -webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
    justify-content: space-between;
	-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
    
}
#contact .ac_info {
    position: relative;
    width: calc(50% + 10px);
    height: 370px;

    display: flex;
    align-items: center;
    padding-left: 4.16vw;
    box-sizing:border-box;
    background:url(../image/ac_info_bg.jpg) center center;
    background-size:cover;
    border-radius:3px 0 0 3px;
}
#contact .ac_info h3{
    font-size: 24px;
    color:#fff;
    letter-spacing: 0.1em;
}
#contact .ac_info .tell{
    display:inline-block;
    color:#fff;
    font-size: 32px;
    margin:40px 0 20px;
    border-bottom:1px solid #fff;
    padding-bottom: 5px;
    letter-spacing: 0.1em;
}
#contact .ac_info .tell span{
    font-size: 18px;
    letter-spacing: 0.1em;
}
#contact .ac_info p,
#contact .ac_info p span{
    font-size: 14px;
    line-height: 24px;
    color:#fff;
    letter-spacing: 0.1em;
}

#contact .ac_info p{
    margin-bottom: 33px;
}

#contact .ac_info .fl{
    position: relative;
    font-size: 14px;
    color: #fff;
    display: inline-block;
    padding-bottom: 5px;
    border-bottom: 1px solid #fff;
    transform: translateY(-11px);
    letter-spacing: 0.1em;
}
#contact .insta,
#contact .fb,
#contact .note{
    display:inline-block;
    width: 30px;    
}
#contact .insta{
    margin:0 20px 0 40px;
}
#contact .note {
    margin-left: 20px;
}
#contact .ac_map {
    position: relative;
    width: calc(50% - 10px);
    height: 370px;
}
#contact a:hover{
    opacity:.5;
}

#contact .ac_map iframe, 
#contact .ac_mapobject,
#contact .ac_map embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

@media screen and ( max-width: 800px ) {
    
    #contact .intro {
        height:auto;
        background:none;
    }
    
    #contact .intro:after {
        content:"";
        display: block;
        display: block;
        width: 100%;
        height: 90.75vw;
    background:url(../image/contact_bg.jpg) center center;
    background-size:cover;
    }
    
    
    #contact .tit_area {
        width: 53px;
        margin:0 auto 30px;
        z-index: 50;
        padding-top: 0;
    }
    #contact h2.v_txt {
        font-size: 23px;
        padding-left: 11px;
    margin-right: 5px;
        color:#222;
        border-color:#222;
}
    #contact .tit_area span {
    font-size: 10px;
    margin-left: 5px;
        color:#222;
}
    
    #contact .access_area{
        position: relative;
        display: block;
        transform: translateY(0);
        margin-bottom: 0;
        z-index:50;
    }

    .access_inr{
        width: 100%;
        min-width:10px;
    }
    #contact .ac_info {
        position: relative;
        width:100%;

        display: flex;
        align-items: center;
        justify-content: center; 
        padding-left: 0;
        border-radius:0;
        text-align: center;
        height: 210px;
    }
    #contact .ac_info h3{
        font-size: 15px;
    }
    #contact .ac_info .tell{
        font-size: 16px;
        margin:16px 0;
        border-bottom:1px solid #fff;
        padding-bottom: 3px;
    }
    #contact .ac_info .tell span{
        font-size: 10px;
    }
    #contact .ac_info p,
    #contact .ac_info p span{
        font-size: 12px;
        line-height: 17px;
    }

    #contact .ac_info p{
        margin-bottom: 22px;
    }

    #contact .ac_info .fl{
        font-size: 10px;
        padding-bottom: 3px;
        transform: translateY(-6px);
    }
    #contact .insta,
    #contact .fb,
    #contact .note{
        width: 22px;    
    }
    #contact .insta{
        margin:0 15px 0 22px;
    }
    #contact .note {
        margin-left: 15px;
    }
    #contact .ac_map {
        width: 100%;
        height: 210px;
    }
}

/* ==========================================================================
	form
========================================================================== */
#form {
    position: relative;
    padding:122px 0 5.55vw;
    max-width: 1920px;
    margin: 0 auto;
}
#form .form_inr {
    position: relative;
    -js-display: flex;
    display:-webkit-box;
    display: -webkit-flex;
    display:-moz-box;
    display:-ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    background:#f0f0f0;
    padding:92px 4.28vw 58px 0;
    box-sizing:border-box;
    border-radius:3px;
}
#form .tit_area {
    position: relative;
    width: 21.8%;
    padding-left: 4.16vw;
    box-sizing:border-box;
    transform: translateY(-150px);
    
    
}
#form .tit_inr{    
    display: flex;
    justify-content: center;    
    align-items: flex-start;
    width: 90px;
}
#form h2.v_txt {
    font-size: 36px;
    padding-left: 18px;
    border-left:1px solid #222;
    margin-right: 10px;
    color:#222;
}
#form .tit_area span {
    display:inline-block;
     padding:2px;
    background:#fff;
    border-radius:2px;
    font-size: 12px;
    margin-left: 10px;
}
#form_con{
    width: 77%;
}
#form ul {
	-js-display: flex;
	display:-webkit-box;
	display: -webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
    justify-content: space-between;
	-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
}
#form ul li{
    width: calc(50% - 15px);
    margin-bottom: 40px;
}
#form ul li.b_item{
     width: 100%;   
}

#form .text_area {
    position: relative;
    margin-bottom: 15px;
    font-size: 15px;
    letter-spacing: 0.1em;
    opacity:.8;
}

textarea.form-item{    
    min-height:200px;
    padding:25px;
}

#form .form_area {
    width:100%;
}

.form-item {
	width: 100%;
	height: 60px;
	padding: 0 25px;
	background:#fff;
    border-radius:3px;
	font-size: 15px;
	box-sizing: border-box;
    border:none;
    transition:background ease .3s;
}


.form-item:focus {
    background-color: #e5e5e5;
    transition:background ease .3s;
}

#form .txt{
    font-size: 14px;
    line-height: 26px;
    letter-spacing: 0.1em;
    margin:8px 0 40px;
    opacity:.8;
}

.link_btn_wrap{
    position: relative;
    width: 440px;
    background:#222;
    box-sizing:border-box;
    border:1px solid #222;
    margin:0 auto;
}
#form .form-submit{
    position: relative;
    width: 440px;
    height: 70px;
    text-align: center;
    padding-right: 115px;
    font-size: 15px;
    box-sizing: border-box;
    color:#fff;
    z-index:5;
    background:none;
    border:none;
	-webkit-transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    -moz-transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    -o-transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
}

.link_btn_wrap:after{
    content: "";
    display: block;
    width: 80px;
    height: 7px;
    position: absolute;
    right: 130px;
    top:0;
    bottom:0;
    margin:auto;
    background: url(../image/rt_ar_w.png);
    background-size: cover;
    z-index:10;
	-webkit-transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    -moz-transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    -o-transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
}
.link_btn_wrap:hover:after{
    background-image: url(../image/rt_ar.png);
	-webkit-transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    -moz-transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    -o-transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
}

#form .link_btn_wrap:hover .form-submit{
    color:#222;
	-webkit-transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    -moz-transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    -o-transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    
}
.link_btn_wrap:before{
    z-index:1 !Important;
}




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

    #form {
        padding:80px 0 50px;
        margin:0 auto;
    }
    #form .form_inr {
        display: block;
        padding:85px 6.25vw 50px;
    }
    #form .tit_area {
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        width: 53px;
        padding-left: 0;
        margin:auto;
        transform: translateY(-32px);
    }
    #form .tit_inr{    
        width: 53px;
    }
    #form h2.v_txt {
        font-size: 23px;
        padding-left: 11px;
        margin-right: 5px;
    }
    #form .tit_area span {
        font-size: 10px;
        margin-left: 5px;
    }
    
    #form_con{
        width: 100%;
    }
    #form ul li{
        width: 100%;
        margin-bottom: 20px;
    }
    #form ul li.b_item{
         width: 100%;   
    }

    #form .text_area {
        margin-bottom: 5px;
        font-size: 12px;
    }

    textarea.form-item{    
        min-height:110px;
        padding:15px;
    }
    .form-item {
        height: 32px;
        padding: 0 15px;
        font-size: 16px;
    }
    #form .txt{
        font-size: 10px;
        line-height: 18px;
        margin:0 0 25px;
    }

    .link_btn_wrap{
        width: 100%;
    }
    #form .form-submit{
        width: 100%;
        height: 38px;
        padding-right: 60px;
        font-size: 12px;
    }

    .link_btn_wrap:after{
        width: 44px;
        height: 4px;
        left: calc(50% + 7px);
        right: auto;
        top:0;
        bottom:0;
        margin:auto;
        background-image: url(../image/rt_ar_w_sp.png);
    }


    .link_btn_wrap:hover:after{
        background-image:url(../image/rt_ar_sp.png);
    }
    
}


/* ==========================================================================
    thanks
========================================================================== */
#thanks {
    padding:160px 0;
    text-align: center;
}
#thanks h2 {
    font-size: 36px;
    padding:0 5px 0 15px;
    background:#fff;
    border-radius:3px;
    margin-bottom: 60px;
    display:inline-block;
}
#thanks p {
    font-size: 16px;
    line-height: 32px;
    letter-spacing: 0.1em;
}
#thanks a{
    position: relative;
    width: 320px;
    height: 50px;

    display: flex;
    align-items: center;
    justify-content: center; 
    border:1px solid #222;
    margin:50px auto 0;
}
#thanks a span.mincho {
    position: relative;
    width: 208px;
    text-align:left;
    padding-right:55px;
    font-size: 15px;
    box-sizing:border-box;

}
#thanks a span.mincho:after{
    content:"";
    display: block;
    width: 80px;
    height: 7px;
    position: absolute;
    right: 0;
    top: 3px;
    background:url(../image/rt_ar.png);
    background-size:cover;
}


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

    #thanks {
        padding:80px 0;
        text-align: center;
    }
    #thanks h2 {
        font-size: 20px;
        padding:0 0 0 10px;
        margin-bottom: 40px;
    }
    #thanks p {
        font-size: 13px;
        line-height: 26px;
        letter-spacing: 0.1em;
        padding:0 5.5vw;
        box-sizing:border-box;
        text-align:left;
    }
    #thanks a{
        position: relative;
        width: 320px;
        height: 38px;
        display: flex;
        align-items: center;
        justify-content: center; 
        border:1px solid #222;
        margin:50px auto 0;
    }
    #thanks a span.mincho {
        font-size: 12px;
        padding: 0 43px 0 0;
        width: auto;

    }
    #thanks a span.mincho:after{
    width: 48px;
    height: 4px;
    right: -10px;
    top: 3px;
    background-image: url(../image/rt_ar_sp02.png);
    background-size: cover;
    }

}
/* ==========================================================================
	footer
========================================================================== */


#footer {
    position: relative;
    padding:20px 0 80px;
    max-width: 1920px;
    margin:0 auto;
}
#footer .con_inr {
	-js-display: flex;
	display:-webkit-box;
	display: -webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
    justify-content: space-between;
	-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
}


#footer .menu_list{
	-js-display: flex;
	display:-webkit-box;
	display: -webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
    justify-content: space-between;
    flex-direction: row-reverse;
	-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
    align-items: flex-start;    
    width:278px;
}



#footer  .menu_list a{
    display: block;
    position:relative;
    font-size: 18px;
    letter-spacing: 0.06em;
    padding:0 10px;
    border-left:1px solid #222;
    
}

#footer h2{
    position: absolute;
    width: 147px;
    left: 0;
    right: 0;
    top: 0;
    margin:auto;
    transform: translateY(-20px);
}
#footer h2 a {
    display: block;
}
#footer h2 a:hover{
    opacity:.5;
}

#footer .sns_list {
	-js-display: flex;
	display:-webkit-box;
	display: -webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
    justify-content: space-between;
	-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
    width: 132px;
}
#footer .sns_list a{
    display: block;
    width: 30px;
}
#footer .sns_list a:hover{
    opacity:.5;
}
#footer .copy{
    position: absolute;
    text-align: center;
    left: 0;
    right: 0;
    bottom:-7px;
    margin:auto;
    font-size: 14px;
    text-align: center;
}
#footer .online_bnr{
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 320px;
    height: 60px;
    border: 1px solid #222;
    border-radius: 2px;
    font-size: 18px;
    right: 0;
    bottom:-7px;
    letter-spacing:-0.04em;
}
#footer .online_bnr .enb{
    font-size: 14px;
    margin-left: 10px;
    letter-spacing: 0.1em;
}


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

    #footer {
        padding:0 0 50px;
    }
    #footer .con_inr {
        display: block;
    }


    #footer .menu_list{
        display: none;
    }




    #footer h2{
        position: relative;
        margin:0 auto;
        width: 80px;
        transform: translateY(0);
    }
    #footer h2 a {
        width: 80px;
    }

    #footer .sns_list {
        width: 107px;
        margin:25px auto 20px;
    }
    #footer .sns_list a{
        width: 24px;
    }
    #footer .copy{
        position: relative;
        font-size: 10px;
        display: block;
        text-align: center;
    }
    #footer .online_bnr{
        display:none;
    }
}
/* ==========================================================================
	parts
========================================================================== */


.con_inr{
    position: relative;
    width: calc(100% - 11.1vw);
    margin:0 auto;
}



.hvw{
    overflow: hidden;
}
.hvw:before {
  content: '';
  position: absolute;
  top:0;
  left: 0;
  z-index: -1;
  background:  #fff;
  width: 100%;
  height: 0;
-webkit-transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
-moz-transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
-o-transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
}

.hvw:hover:before{
   height: 100%;  
   background-color: #fff;
	-webkit-transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    -moz-transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    -o-transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
}
.hvw.lw:before {
  width: 0;
  height: 100%;
}

.hvw.lw:hover:before{
    width: 100%;
}




.sub_tit{
    position: relative;
    display:inline-block;
    padding-left: 80px;
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 45px;
}
.sub_tit:before{
    content:"";
    display: block;
    width: 50px;
    height: 1px;
    position: absolute;
    left: 0;
    top: 15px;
    background:#222;
}
.sub_tit .en{
    display:inline-block;
    font-size: 13px;
    margin-left: 22px;
    font-weight: 400;
    transform: translateY(-5px);
}
.s_tit{
    display: block;
    font-weight: 700;
    color:#ff7a59;
    font-size: 15px;
    margin-top: 25px;
    text-transform: uppercase;
}
.s_link{
    display: inline-block;
    padding-right: 50px;
}
.s_link p{
    display: inline-block;
    font-size: 14px;
    font-weight: 700;
    color:#000;
    
}
.s_link:hover{
    color:#ff7a59;
}

.s_link span{
    display: block;
    position: absolute;
    width: 30px;
    height: 30px;
    border-radius:50%;
    right: 0;
    top: -10px;
    background:#000;
    transition: background .3s ease, transform .3s ease;
}
.s_link:hover span{
     background:#ff7a59;
    transform: scale(1.1);
}
.s_link span:before{
    content:"";
    display: block;
    width: 10px;
    height: 2px;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin:auto;
    background:url(../image/common/s_link_icon.png);
    background-size:cover;
}
.fit_img{
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin:auto;
    width: 100%;
    height: 100%;
    object-fit: cover;
    background-position:center center;
    background-size:cover;
    z-index:1;
    transition: transform ease .3s;
    font-family: 'object-fit: cover;'; /*IE対策*/
}

.img_area{z-index:10;}

.v_txt{
    writing-mode: vertical-rl;
    font-feature-settings: normal;
    vertical-align: top;
    display: inline-block;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -o-writing-mode: vertical-rl;
    writing-mode: vertical-rl;

    
}






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

    .oc,.oc2{
            pointer-events: all;
        }

    .pc_off{
        display:block;
        }
    .sp_off{
        display:none !important;
        }

    .link_btn{
        width: calc(100% - 12.125vw);
        padding:20px 0 22px 20px;
        font-size: 12px;
    }
    .ab_link_btn{
        position: absolute;
        bottom:0;
    }

    .link_btn:before{
        right: 35px;
        width: 27px;
    }
    .link_btn:after{
        top: 24px;
        right: 35px;
        width: 6px;
    }


    .link_btn:hover:before{
        transform: translateX(0)!Important;
        width: 27px!Important;
    }
    .link_btn:hover:after{
        right: 35px !Important;
    }

    .sub_tit{
        padding-left: 40px;
        font-size: 17px;
        margin-bottom: 23px;
    }
    .sub_tit:before{
        width: 26px;
        top: 8px;
    }
    .sub_tit .en{
        font-size: 10px;
        margin-left: 15px;
        transform: translateY(-3px);
    }
    
    .tit{
        font-size: 24px;
        font-size:clamp(22px,6.4vw,26px);
    }
    .s_tit{
        font-size: 14px;
        font-size:clamp(12px,3.7vw,16px);
        margin-top: 15px;
    }
    .s_link{
        padding-right:0;
        top: 0;
    }
    .s_link p{
        display: none;

    }
    .s_link:hover{
        color:#ff7a59;
    }

    .s_link span{
        top: -5px;
    }
    .sp_lr_txt{    
        -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
        writing-mode: horizontal-tb;
    }
}


.slick-slide{outline:none;}








	</pre></body></html>