

/* header */
header {
    display: flex;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    letter-spacing: 0;
    z-index: 10;
    transition: 0.5s;
}
.scroll {
    background: rgba(0,0,0,0.8);
}

.header_nav {
    z-index: 10;
    position: absolute;
    right: 0;
    top: 2rem;
    display: flex;
    align-items: center;
    margin-left: auto;
    padding-right: 3em;
}
.header_nav li { margin-left: 4em;}

.header_nav a {
    font-size: 1.25rem;
    color: #fff;
    transition: color 0.4s ease-out;
}

.header_nav::after {
    position: absolute;
    content:"";
    background-color:#fff;
    transition: color 0.4s ease-out;
    height:1px;
    width: 100%;
    bottom: -50%;
}

/* ハンバーガーボタン */
#header_sp {
    position: fixed;
}

.hamburger {
    display : block;
    position: absolute;
    z-index : 3;
    right : 13px;

    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    
    width : 42px;
    height: 42px;
    cursor: pointer;
    text-align: center;
}
.hamburger span {
    display : block;
    position: absolute;
    width   : 30px;
    height  : 2px ;
    left    : 6px;
    background : #fff;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition   : 0.3s ease-in-out;
    transition        : 0.3s ease-in-out;
}
.hamburger span:nth-child(1) { top: 10px;}
.hamburger span:nth-child(2) { top: 20px;}
.hamburger span:nth-child(3) { top: 30px;}
  
  /* ナビ開いてる時のボタン */
  .hamburger.active span:nth-child(1) { transform: translateY(10px) rotate(-45deg);}
  .hamburger.active span:nth-child(2) { opacity: 0;}
  .hamburger.active span:nth-child(3) { transform: translateY(-10px) rotate(45deg);}

/* メニュー */
nav.globalMenuSp {
    position: fixed;
    z-index : 2;
    top  : 0;
    left : 0;
    color: #fff;
    background: rgba(0,0,0,0.7);
    text-align: center;
    width: 100%;
    opacity: 0;
    transition: opacity .6s ease, visibility .6s ease;
    visibility: hidden;
}
  
nav.globalMenuSp ul {
    margin: 0 auto;
    padding-top: 13vw;
    width: 100%;
}
  
nav.globalMenuSp ul li {
    list-style-type: none;
    padding: 0;
    width: 100%;
    transition: .4s all;
}
nav.globalMenuSp ul li:last-child { padding-bottom: 0;}
nav.globalMenuSp ul li:hover{ background :#ddd;}
  
nav.globalMenuSp ul li a {
    display: block;
    color: #fff;
    padding: 0.85em 0;
    text-decoration :none;
    font-size: 5vw;
}
  
  /* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active { opacity: 100; visibility: visible;}

/* ハンバーガーボタン END */
/* header END */

/* footer */

/* footer END */

/* common */
html {
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    font-family: 'Noto Serif JP', serif;
    font-feature-settings: "palt";
}
img {max-width: 100%; height: auto; vertical-align: bottom;}
.inner { max-width: 1200px; margin: 0 auto;}
.text { font-size: 1rem; text-align: center;}
.title { font-size: 2.5rem; font-weight: 100; ; margin-bottom: 40px; text-align: center;}
.wrap { padding: 5rem 0;}
body {
    font-size: 16px;
    line-height: 1.7;
    letter-spacing: 0.3em;
    background-color: #271726;
    color: #fff;
}
/* common END */


/* mv_wrap */
.mv_wrap  { position: relative;}
.mv_img img { width: 100%; height: 60vw; max-height: 100vh;}
.mv_text {
    position: absolute;
    bottom: 4.5vw;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    white-space: nowrap;
    text-align: center;
    color: #fff;
    ;
}
.mv_text h1 { font-size: 2.5rem; font-weight: 100; margin-bottom: 0.4em;}
.mv_text p { font-size: 1.25rem;}
/* mv_wrap END */


/* about_wrap */
.about_title {
    background-color: #fff;
    color: #271726;
    text-align: left;
    font-size: 1.875rem;
    font-weight: 100;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
    padding-left: 10vw;
}
.about_title_right {
    background-color: #fff;
    color: #271726;
    text-align: right;
    font-size: 1.875rem;
    font-weight: 100;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
    padding-right: 10vw;
}
.about_box {
    display: flex;
    padding-bottom: 120px;
    padding-right: 2em;
    padding-left: 2em;
}

.about_text {
    width: 35%;
    margin-top: auto;
    margin-bottom: auto;
    margin-right: auto;
}
.about_text_right {
    width: 35%;
    margin-top: auto;
    margin-bottom: auto;
    margin-left: auto;
}

.about_img {
    margin-top: -40px;
    width : 50vw;
    text-align: right;
}
.about_img_left {
    margin-top: -40px;
    width : 50vw;
    text-align: left;
}
.about_text p, .about_text_right p { text-align: justify;}
.kome { text-align: right; font-size: 0.9rem; letter-spacing: 0.1em;}
.line { text-decoration: underline  #fff;  font-size: 1.3rem;}
/* about_wrap END */


/* outyou_wrap */
.outyou_box { position: relative;}
.outyou_title {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 1.8rem;
    font-weight: 100;
    text-align: justify;
    width: 80%;
    line-height: 1.5;
}
/* outyou_wrap END */


/* syokunin_wrap */
.syokunin_box { display: flex;}
.syokunin_img { width: 50%;}
/* syokunin_wrap END */


/* buy_wrap */
.buy_box { display: flex; margin-bottom: 80px;}
.buy_text { width: 50%; text-align: justify; margin: auto 0;}
.buy_text p { font-size: 1rem;}
.map_haku { text-align: center;}
.haku_box h1 { margin-bottom: 1em; text-align: left;}
.haku_box p { margin-bottom: 1.3em; margin-left: 1.5em; text-align: left;}
/* buy_wrap END */

/* form_wrap */
.button {
    position: relative;
    padding: 0;
    background-color: #ed542a;
    width: 70%;
    max-width: 700px;
    min-width: 250px;
    margin: 0 auto;
    text-align: center;
    /* box-sizing: border-box; */
    border-radius: 50px;
}
.button a {
    display: block;
    font-size: 1.25rem;
    padding: 1rem 0;
    color: #fff;
    font-family: 'Noto Serif JP', serif;
    font-weight: bold;
    /* border: 2px solid #fff; */
    border-radius: 50px;

}
.button a::after {
    position: absolute;
    top: 40%;
    right: 2rem;
    content: '';
    width: 10px;
    height: 10px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: rotate(45deg);
}
.button:hover {
    background-color: #fff;
    transition: 0.4s;
}
.button a:hover {
    color: #ed542a;
    transition: 0.4s;
    
}
.button a:hover::after {
    border-top: 3px solid #ed542a;
    border-right: 3px solid #ed542a;
    transition: 0.4s;
}

/* kaisya_wrap */
.kaisha { margin: 0 auto; width: 70%;}

.kaisha th, .kaisha td {
    padding: 0.6rem;
    font-size: 1rem;
    border: 2px solid #fff;
    letter-spacing: 0.1em;
    line-height: 1.5;
}
.kaisha th {
    font-weight: bold;
    white-space: nowrap;
    vertical-align: middle;
    text-align: left;
}
.kaisha td { padding-left: 1rem;}
/* form_wrap END */







/*---------- スマホレスポンシブ ----------*/
@media (max-width: 699px) {
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 { font-size: 70%;}

/* common */
.wrap { padding: 10vw 0;}
.title { margin-bottom: 3vw;}
.text { font-size: 3.5vw;}

/* mv_wrap */

#logo { max-width: 30%;}
.mv_img img { height: 80vw;}
.mv_text h1 { font-size: 4.5vw; margin-bottom: 0.5em;}
.mv_text p { font-size: 3vw;}
.mv_text { bottom: 6%;}

/* concept_wrap */

/* about_wrap */
.about_img, .about_img_left { margin: 0 auto 20px auto; width: 100%;}
.about_title, .about_title_right { text-align: center; padding-left: 0; padding-right: 0;}
.about_text, .about_text_right { margin: 0 auto; width: 100%;}
.about_box { flex-direction: column; margin-top: 20px; padding-bottom: 10vw;}
.item_01 { order: 1;}
.item_02 { order: 2;}
.about_wrap .inner .mb80 { margin-bottom: 6vw;}
.mb40 { margin-bottom: 20px;}
.line { font-size: 4.3vw;}
/* outyou_wrap */
.outyou_title {
    font-size: 3.5vw;
    line-height: 1.3;
}
.outyou_box img {
    height: 52vw;
}

/* syokunin_wrap */

/* buy_wrap */
.buy_box { flex-direction: column; margin-bottom: 10vw;}
.buy_text { width: 100%;}
.buy_text p { font-size: 3.5vw;}
.buy_img { text-align: center; margin-bottom: 10px;}

/* faq_wrap */
.button a::after{
    width: 8px;
    height: 8px;
    border-top-width:2px ;
    border-right-width: 2px;
}
.kaisha { width: 100%;}


}
/*---------- スマホレスポンシブ END ----------*/






/*---------- タブレットレスポンシブ ----------*/
@media (min-width: 700px) and (max-width: 959px) {
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 { font-size: 80%;}

.title { margin-bottom: 30px;}

/* mv_wrap */
.header_nav a { margin-right: 0.6em;}
.logo img { width: 60%; height: auto;}
.mv_text { bottom: 9%;}
.header_nav { padding-right: 4em;}
.header_nav li { margin-left: 7em;}

/* buy_wrap */
.buy_text { width: 80%;}

/* outyou_wrap */
.outyou_title {
    font-size: 1.4rem;
    line-height: 1.5;
}
.kaisha { width: 80%;}


}
/*---------- タブレットレスポンシブ END ----------*/





@media (max-width: 1200px) {
    .inner { width: 90%;}
}