﻿/** font **/

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@430&family=Zen+Old+Mincho:wght@700&display=swap');

:root{
    --font-jp: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;
    --font-jp2: 'Zen Old Mincho', "游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";
    --font-en: 'Montserrat', "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;
}
body, .font_sans-serif{
    font-family: var(--font-jp);
}
.hannari{
    font-family: var(--font-jp2);
}
.font_en, .pop300, .pop400, a[href^="tel:"]{
    font-family: var(--font-en);
}

.font_bold{
    font-weight: inherit;
}

/** color **/

:root{
    --color1: #593116;
    --color2: #F7F4F2;
    --color3: #F4770F;
    --color4: #E5DEDA;
    --black: #222222;
}

/** other **/

.normal_img img, .square_img, .rectangle_img, .portrait_img, .pager li a, .cate_list li a, #info_contact .con_box a{
    border-radius: 10px;
}
.cate_list li a:hover{
    background-color: var(--color2)!important;
}

#wrap{
    letter-spacing: 1px;
}

h2, h3, h4, h5, h6{
    line-height: 1.5;
}

.flex_top-left{
    align-content: flex-start;
}

#fakeloader{
    background-color: #fff;
}

#main_img{
    overflow: hidden;
    height: 100vh;
    min-height: 800px;
}
#main_img:before{
    background-image: url('./Dup/img/bg_img.png'), url('./Dup/img/bg_img.png'), url('./Dup/img/bg_img2.png');
    background-repeat: no-repeat;
    background-size: 300px, 300px, 100%;
    background-position: top -150px left -150px, top -150px right -150px, top;
    background-color: rgba(0,0,0,0.4);
}
#main_img #left, #main_img #right{
    height: 100%!important;
}
#top_pc_nav{
    display: none;
}

header.scr_header {
    background-color: rgba(242,119,15,0.9)!important;
}
header #logo, header.scr_header #logo {
    max-width: 80px;
}
#wrap.top header #logo{
    opacity: 0;
}
#wrap.top header.scr_header #logo{
    opacity: 1;
}

#pc_nav li, #footer_nav li, #overlay .left li{
    max-width: inherit;
}
#pc_nav li a::after, #footer_nav li a::after{
    background-color: currentColor!important;
    height: 1px;
}

.overlay{
    background-image: none!important;
    background-color: rgba(89,49,22,0.9)!important;
}
.overlay .bg_color1{
    background-color: var(--color3);
}

.back1:before, .back2:before{
    display: none;
}

.num{
    display: none;
}

.line:before{
    display: none;
}
.line > span{
    background-image: linear-gradient(to bottom, currentColor, currentColor);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: left bottom;
    transition: background-size 1s 0.5s;
}
.line.scrollin > span{
    background-size: 100% 1px;
}

.con_img{
    margin-bottom: 0!important;
    box-shadow: 5px 5px 0 var(--color3);
}

.intro_wrap{
    background-image: url('./Dup/img/bg_img3.jpg');
}
#intro{
    top: -50px;
    z-index: 1;
}
#intro #intro_wrap{
    background-image: url('./Dup/img/bg_img4.jpg');
    background-repeat: repeat-x;
    background-size: 1440px;
    background-position-x: 0;
    background-position-y: calc(100% - 20px);
    animation: anime1 30s linear infinite;
    box-shadow: 0 5px 10px rgba(0,0,0,0.1);
    padding-bottom: 420px;
}
@keyframes anime1 {
    0% {
        background-position-x: 0;
    }
    100% {
        background-position-x: -1440px;
    }
}
@keyframes anime2 {
    0% {
        background-position-x: 0;
    }
    100% {
        background-position-x: -960px;
    }
}
#intro #intro_wrap .intro_txt {
    line-height: 2;
    letter-spacing: 2px;
    font-size: 18px;
    font-family: var(--font-jp2);
}

#contents1{
    background-image: url('./Dup/img/bg_img6.png');
    background-size: 30%;
    background-repeat: no-repeat;
    background-position: top right;
    margin-top: -100px;
    z-index: 1;
}
#contents1 #contents1_wrap{
    position: relative;
}
#contents1 #contents1_wrap::before{
    position: absolute;
    content: "";
    width: 160px;
    height: 160px;
    background-image: url(./Dup/img/img1.png);
    background-size: contain;
    background-repeat: no-repeat;
    left: 6%;
    bottom: -80px;
    pointer-events: none;
    transform: rotate(-10deg);
    z-index: 1;
}
#contents1 .con_box {
    margin-top: 200px;
}

#contents2 .con_box {
    margin-top: 150px;
}

.back2{
    padding-top: 50px;
    background-image: linear-gradient(to bottom, #fff, #fff), url('./Dup/img/bg_img3.jpg');
    background-repeat: no-repeat, repeat;
    background-size: 100% 100px, auto;
}

#contents3{
    background-image: url('./Dup/img/bg_img3.jpg');
}
#contents3_wrap:after{
    display: none;
}
#contents3_wrap:before{
    background-attachment: fixed;
}
#contents3 .con_box{
    background-color: #FFF;
    border-radius: 10px;
    box-shadow: 0 5px 10px rgba(0,0,0,0.1);
    background-image: url('./Dup/img/bg_img5.png'), url('./Dup/img/bg_img5.png');
    background-repeat: no-repeat;
    background-size: 300px;
    background-position: top -150px left -150px, top -150px right -150px;
    padding: 60px;
}
#contents3 .check li p{
    background-image: url(./Dup/img/check.png);
    background-repeat: no-repeat;
    background-position: top 14px left 15px;
    background-size: 30px;
    padding-left: 60px;
}

#top_cms{
    position: relative;
    z-index: 1;
}
#top_cms .cms_title{
    text-align: center;
}
#top_cms .cms_title p{
    color: var(--color3);
    font-size: 20px;
    letter-spacing: 4px;
    margin-bottom: 10px;
}

.more_btn{
    overflow: hidden;
    border-radius: 10px;
    background-color: rgba(242,119,15,0.1);
    z-index: 1;
    color: var(--black);
    transition-delay: 0s!important;
}
.more_btn:hover{
    color: #fff;
}
.more_btn .en{
    transition: 0.5s;
}
.more_btn:hover .en{
    color: #fff;
}
.more_btn:before{
    border: none;
    background-color: var(--color3);
    border-radius: 10px;
    z-index: -1;
}
.more_btn:after{
    display: none;
}

#info_contact .con_box a{
    overflow: hidden;
}
#info_contact .con_img:before{
    background-color: var(--color1);
    opacity: 0.6
}

main.back1:before{
    display: none;
}
main.back1 .con_box{
    padding: 0;
    background-color: transparent;
}

#page_title:before{
    background-color: var(--black);
    opacity: 0.4;
}
#page_title .page_title_box{
    background-color: var(--color3);
}
#page_left{
    width: 100%!important;
}
#page_right{
    display: none;
}

.pager li{
    margin: 0 10px!important;
    font-family: var(--font-en);
}
.pager li a{
    background-color: var(--color1)!important;
}
.pager li a:hover{
    background-color: var(--color3)!important;
}

.cate_title, .box_title, .box_title1, .box_title2, .date_box {
    font-family: var(--font-jp2);
}

.cms_2-g .box_wrap{
    box-shadow: none;
}
.cms_2-g .box_wrap .swiper-wrapper{
    box-shadow: 0 5px 10px rgba(0,0,0,0.1);
}

.cms_5-c .box_txt1::before, #cms_5-c .box_txt1::before{
    font-family: var(--font-jp2);
    line-height: 1.7;
}

#logo2 a{
    max-width: 150px;
}
#footer{
    background-image: url('./Dup/img/bg_img3.jpg');
}
#footer .con_box h2{
    display: none;
}

.foot_banner{
    z-index: 1;
    right: 70px;
    bottom: 20px;
}

#copyright{
    padding-bottom: 110px;
}


/** tablet 1000 **/
@media screen and (max-width: 1000px){
}

/** tablet 780 **/
@media screen and (max-width: 768px){
#main_img{
    height: 800px;
    min-height: inherit;
}
#main_img:before{
    background-size: 160px, 160px, 800px;
    background-position: top -80px left -80px, top -80px right -80px, top center;
}
#intro #intro_wrap{
    background-size: 960px;
    animation: anime2 40s linear infinite;
    padding-bottom: 270px;
}
#intro #intro_wrap .intro_txt {
    letter-spacing: 1px;
    font-size: 16px;
}
#contents1 {
    margin-top: -50px;
}
#contents1 .con_box {
    margin-top: 100px;
}
#contents1 #contents1_wrap::before {
    width: 200px;
    height: 200px;
    top: 40%;
    left: -10px;
    opacity: 0.1;
    z-index: auto;
}
.back2 {
    padding-top: 0;
}
#contents2 .con_box {
    margin-top: 100px;
}
#contents3 .con_box{
    background-size: 160px;
    background-position: top -80px left -80px, top -80px right -80px;
}
#contents3_wrap:before{
    background-attachment: scroll;
}
#top_cms .cms_title h3{
    font-size: 30px;
}
}

/** mobile 750 **/
@media screen and (max-width: 667px){
#main_img{
    height: 600px;
}
#main_img:before{
    background-size: 160px, 160px, 700px;
}
#main_img #left, #main_img #right{
    width: 50%!important;
}
header #logo, header.scr_header #logo {
    max-width: 60px;
}
#contents1 {
    background-image: none;
}
#contents1 #contents1_wrap::before {
    width: 160px;
    height: 160px;
    transform: rotate(-20deg);
    top: auto;
    bottom: -50px;
    left: auto;
    right: -10px;
}
#contents1 .con_box {
    margin-top: 30px;
}
#contents2 .con_box {
    margin-top: 30px;
}
#contents3 .con_box {
    padding: 50px 5%;
}
#contents3 .check li p {
    background-position: top 12px left 15px;
}
#top_cms .cms_title h3{
    font-size: 26px;
}
#page_title .page_title_box{
    padding-left: 0;
    padding-right: 0;
    width: 80%;
}
.foot_banner {
    z-index: 1;
    right: 0;
    bottom: 0;
}
#copyright{
    padding-bottom: 60px;
}
#return_top{
    transform: translateY(-10px);
}
}