﻿/** font **/

@import url('https://fonts.googleapis.com/css2?family=Cormorant:wght@500&family=Shippori+Mincho+B1:wght@400;700&family=Whisper&display=swap');

:root{
    --font-jp: 'Shippori Mincho B1', "游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";
    --font-en: 'Cormorant', 'Shippori Mincho B1', "游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";
    --font-en2: 'Whisper', 'Shippori Mincho B1', "游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";
}
body, .font_sans-serif{
    font-family: var(--font-jp);
}
.font_en{
    font-family: var(--font-en);
}

/** color **/

:root{
    --color1: #1a1a1a;
    --color2: #f0f0f0;
    --color3: #aaaaaa;
    --color4: #e4e4e4;
    --base: #f8f8f8;
    --black: #1a1a1a;
}

/** other **/

a[href="tel:"]{
    display: none;
}

#footer .footer_right, .main_filter, .pager li a, #page07 p, #page09 .privacy_top{
    background-color: var(--color2);
}
.filter.bg_color1{
    background-color: var(--color3);
}

.shadow, .shadow-l, .shadow-b, #cms_3-g .cate_item, .cms_3-g .box_wrap, .cms_2-f .box_wrap, #con_nav ul{
    box-shadow: 0 0 50px rgba(0,0,0,0.05);
}

#wrap{
    background-image: url('./Dup/img/bg_img1.jpg');
    overflow: hidden;
}

#header{
    padding: 0;
}
#web_yoyaku{
    width: 80px;
    right: 80px;
    top: 0;
    z-index: 1;
}

header{
    position: relative;
}
header .trans_logo{
    background-color: #fff;
    padding: 20px 40px;
}
header .trans_logo img{
    max-width: 130px;
}
header::before{
    position: absolute;
    content: "";
    width: 100%;
    height: calc(100% + 450px);
    background-image: url(./Dup/img/bg_img3.png), url(./Dup/img/bg_img4.png);
    background-repeat: no-repeat;
    background-position: right 0 bottom 0, left 0 top -50px;
    background-size: 600px;
    z-index: 2;
    pointer-events: none;
}

#logo{
    background-color: transparent;
    padding: 0;
    width: 80%;
    max-width: 200px;
    margin: 0 auto 100px;
}
#logo span{
    display: none;
}
#logo img{
    max-width: inherit;
}

#pc_nav{
    padding: 0;
    text-align: center;
}

#main_img .catch{
    right: 20px;
    bottom: 20px;
    z-index: 1;
}

#contents1{
    position: relative;
}
#contents1::before{
    position: absolute;
    content: "";
    width: 100%;
    height: 100px;
    left: 0;
    bottom: 150px;
    background-image: url('./Dup/img/bg_img5.png');
    background-repeat: repeat-x;
    background-position-y: 0;
    background-position-x: 0;
    background-size: 1200px;
    animation: anime1 30s linear infinite;
    z-index: 1;
}
@keyframes anime1 {
    0% {
        background-position-x: 0;
    }
    100% {
        background-position-x: -1200px;
    }
}
#contents1 .con1_right{
    position: relative;
    z-index: 1;
}
#contents1 .con1_title p{
    display: inline-block;
    padding-bottom: 5px;
    margin-bottom: 50px;
    border-bottom: solid 1px;
}

#con_nav{
    margin-top: -100px;
}
#con_nav .nav_border{
	width: 1px;
	height: 100px;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto
}

#contents2{
    margin-top: 50px;
}
#contents2 .con2_title p, #contents3 .con3_title p{
    font-family: var(--font-en2);
    font-size: 60px;
    letter-spacing: 0;
    margin-bottom: 20px;
    line-height: 1;
    margin-left: -30px;
}

#contents2 figure img, #contents3 figure img{
    box-shadow: 10px 10px 30px rgb(0,0,0,0.1);
}

#contents2{
    position: relative;
}
#contents2::before{
    position: absolute;
    content: "";
    width: 600px;
    height: 600px;
    bottom: -400px;
    left: 0;
    background-image: url(./Dup/img/bg_img4.png);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 1;
    pointer-events: none;
}

#contents3{
    position: relative;
}
#contents3::before{
    position: absolute;
    content: "";
    width: 300px;
    height: 300px;
    background-image: url(./Dup/img/bg_img6.png);
    background-size: contain;
    background-repeat: no-repeat;
    top: -100px;
    right: -50px;
    animation: anime2 30s linear infinite;
    pointer-events: none;
}
@keyframes anime2 {
    0% {
        transform: rotate(0);
    }
    100% {
        transform: rotate(-360deg);
    }
}
#contents3 .con3_wrap{
    position: relative;
}
#contents3 .con3_title span{
    background-color: #fff;
}

.contents_wrap .contents_bg{
    background-image: url('./Dup/img/bg_img2.jpg');
}

#top_cms{
    padding-bottom: 0;
}
#top_cms .top_cms_bg{
    display: none;
}
#top_cms .cms_title p{
    font-family: var(--font-en);
    font-size: 40px;
    letter-spacing: 5px;
}
#top_cms .cms_title h2{
    font-size: 16px;
}

.cms_4-a .swiper-wrapper{
    transition-timing-function: linear;
}
.cms_4-a .swiper-slide{
    opacity: 1!important;
}

.more a{
    font-size: 18px;
    color: var(--black);
    border: solid 1px var(--black);
    padding: 10px 0;
    background-image: linear-gradient(to bottom, var(--black), var(--black));
    background-size: 100% 0;
    background-position: bottom;
    background-repeat: no-repeat;
}
.more a:hover{
    background-size: 100% 100%;
}
.more span.d_block{
    display: none;
}

.date_box, .date, .pager, .more{
    font-family: var(--font-en);
}

.cate_list{
    border-color: var(--color4);
}

header > .page_title_bg{
    background-color: var(--color4);
}

.under_page #logo{
    padding: 50px 100px;
    margin: 0;
}
.under_page #pc_nav{
    padding-right: 100px;
}

#page_title p{
    font-family: var(--font-en);
    font-size: 60px;
    letter-spacing: 8px;
}
#page_title h2{
    font-size: 16px;
}

.pager{
    font-size: 20px;
}
.pager li:not(.prev):not(.next) a{
    font-size: 26px;
}

#cms_2-f .cate_box:last-of-type{
    border-bottom: none;
}

#top_info{
    background-color: #fff;
}

#logo2{
    background-color: #fff;
}

#footer .footer_bottom{
    background-color: transparent;
}

#foot_nav{
    left: 0;
    bottom: 0;
    z-index: 9;
    transition: transform 0.5s;
}
#foot_nav.active{
    transform: translateY(100%);
}
#foot_nav .foot_nav_close{
    width: 30px;
    height: 30px;
    top: -30px;
    left: 0;
}
#foot_nav .foot_nav_close::before, #foot_nav .foot_nav_close::after{
    position: absolute;
    content: "";
    display: block;
    width: 10px;
    height: 1px;
    background-color: #fff;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    transition: 0.3s;
}
#foot_nav .foot_nav_close::before{
    transform: rotate(45deg);
}
#foot_nav .foot_nav_close::after{
    transform: rotate(-45deg);
}
#foot_nav.active .foot_nav_close::before{
    left: 5px;
    width: 7px;
}
#foot_nav.active .foot_nav_close::after{
    right: 5px;
    width: 7px;
}


/** tablet 780 **/
@media screen and (max-width: 768px){
header::before {
    height: calc(100% + 300px);
    background-image: url(./Dup/img/bg_img3.png);
    background-position: right 0 bottom 0;
    background-size: 400px;
}
#main_img .catch {
    bottom: -30px;
}
.contents_wrap .contents_bg{
    width: 100%!important;
}
.more a{
    background-size: 100% 100%;
}
#contents1 .con1_right{
    padding-top: 100px;
}
#con_nav{
    margin-top: -50px;
}
#contents2::before {
    width: 400px;
    height: 400px;
    bottom: -200px;
}
#contents2 .con2_left, #contents2 .con2_right, #contents3 .con3_left, #contents3 .con3_right{
    width: 100%!important;
    padding: 0;
}
#contents2 .con2_left, #contents3 .con3_left{
    margin-bottom: 50px;
}
#page_title p {
    font-size: 50px;
    letter-spacing: 6px;
}
}

/** mobile 750 **/
@media screen and (max-width: 667px){
header::before {
    height: calc(100% + 250px);
    background-position: right -50px bottom 0;
    background-size: 300px;
}
#main_img .catch {
    right: 0;
    bottom: -80px;
}
#contents1::before {
    bottom: calc(70vw + 50px);
}
#contents1 .con1_right{
    padding-top: 140px;
}
#contents2::before {
    width: 300px;
    height: 300px;
    bottom: -150px;
}
#contents2 .con2_title p, #contents3 .con3_title p {
    font-size: 40px;
    margin-left: 0;
}
#contents3::before {
    width: 200px;
    height: 200px;
    top: -50px;
    right: -60px;
}
.more a{
    font-size: 14px;
}
#page_title p, #top_cms .cms_title p{
    font-size: 34px;
    letter-spacing: 4px;
}
#page-top {
    transform: translateY(-68px);
}
#footer .footer_bottom{
    padding-bottom: 120px;
}
}