﻿@import url('https://fonts.googleapis.com/css2?family=Montserrat&family=Shippori+Mincho:wght@500&display=swap');

#page_title .page_title_box h2, .con1_title h2, .con2_title h2, .con3_title h2, #top_cms .cms_title h2, #top_info .info_title h2, #page_title .page_title_box h2, .cate_title, .box_title1, .con3_banner, #top_link_wrap h3{
    font-family: 'Shippori Mincho', "游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";
}
.con1_title p, .con2_title p, .con3_title p, #top_cms .cms_title p, .more, #top_info .info_title p, a[href^="tel:"], a[href^="mailto:"], .date, #page_title .page_title_box p, .linkStyle, .online_shop, #top_link_wrap p{
    font-family: 'Montserrat', "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;
}

body, html{
    font-size: 16px;
}

#header{
    padding: 0;
}
#logo{
    background-color: transparent;
    text-align: center;
    padding: 0 30px;
}
#logo img{
    max-width: 300px;
}
#logo span{
    display: none;
}
.under_page #logo{
    padding: 50px 20px;
}
.under_page #logo img{
    width: 250px;
    max-width: 250px;
}
#pc_nav{
    padding: 0;
    text-align: center;
}
header .trans_logo{
    padding: 15px 30px;
}
header .trans_logo img{
    max-width: 150px;
}

#logo2 img{
    max-width: 300px;
}

.con1_title p, .con2_title p, .con3_title p{
    opacity: 0.4;
}
#contents1 .con1_right{
    background-image: url('./Dup/img/bg_img2.png');
    background-position-x: 0;
    background-position-y: calc(100% - 150px);
    background-size: 1500px;
    background-repeat: repeat-x;
    animation: con1 30s linear infinite;
}

#contents1 .con1_title{
    padding-bottom: 20px;
    border-bottom: solid 1px #e5e5e5;
    position: relative;
}
#contents1 .con1_title::before{
    position: absolute;
    content: "";
    width: 100px;
    height: 1px;
    left: 0;
    right: 0;
    bottom: -1px;
    background-color: #183870;
    margin: auto;
}
#contents2 .con2_wrap{
    box-shadow: none;
    background-image: url('./Dup/img/bg_img.jpg');
    background-size: cover;
    background-position: center;
    position: relative;
}
#contents2 .con2_wrap::before{
    position: absolute;
    content: "";
    top: 10px;
    left: 10px;
    right: 10px;
    bottom: 10px;
    border: solid 2px #fff;
    pointer-events: none;
}

#top_cms .top_cms_bg{
    display: none;
}

.more a{
    padding: 10px;
    background-color: #fff;
    color: #fff;
}
.more a:hover{
    color: #327051;
}
.more span.d_block{
    width: 140%;
    left: auto;
    right: -40px;
}
.more:hover span.d_block{
    width: 0;
}

.cms_2-a .swiper-button-prev{
    left: 0;
}
.cms_2-a .swiper-button-next{
    right: 0;
}

main{
    overflow: hidden;
}
#page_title > span.page_title_bg{
    background-color: #fff;
    opacity: 0.6;
}
#page_title .page_title_box{
    color: #183870;
}
.cate_title{
	background-color: transparent;
	padding: 0;
	margin: 0;
	display: block;
	border: none;
	width: 100%!important;
	font-size: 24px;
	text-align: center;
	padding-bottom: 10px!important;
	margin-bottom: 50px;
	color: #183870;
	font-weight: normal;
	position: relative;
}
.cate_title::before, .cate_title::after{
    position: absolute;
    content: "";
    height: 1px;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
}
.cate_title::before{
    width: 200px;
    background-color: #E5E5E5;
}
.cate_title::after{
    width: 100px;
    background-color: #183870;
}
#top_info{
    background-color: #f7f7f7;
}
#page07 .info_map{
    display: none;
}

#page10 .more span.d_block{
    left: auto;
    right: -50px;
}



/** tablet 780 **/
@media screen and (max-width: 768px){
#main_img{
    padding-top: 70px;
}
header .trans_logo{
    padding: 15px 20px;
}
header .trans_logo img{
    max-width: 125px;
}
header .trans_header{
    height: 70px;
}
header .menu_stick{
    width: 70px;
    height: 70px;
}
#logo img{
    max-width: 150px;
}
#page_title .page_title_box{
    letter-spacing: 3px;
}
#page_title h2{
    font-size: 26px;
}
.contents_wrap .contents_bg{
    width: 100%;
}
}

/** mobile 750 **/
@media screen and (max-width: 667px){
body, html{
    font-size: 14px;
}
#contents1 .con1_right {
    background-size: 800px;
    animation-name: con1sp;
}
.con1_title h2{
    font-size: 20px;
}
.con2_title h2, .con3_title h2{
    font-size: 16px;
    letter-spacing: 1px;
}
.cate_title{
    font-size: 20px;
}
#cms_1-e .box_item .box_item figure{
    width: 100%!important;
    margin-right: 0!important;
    margin-bottom: 10px!important;
}
}

/** IE **/
@media all and (-ms-high-contrast:none) {
.more a{
    padding-top: 10px!important;
}
#top_info .more a, #page10 .more a{
    padding-top: 15px!important;
}
}
@keyframes con1 {
    0%{
        background-position-x: 0;
    }
    100%{
        background-position-x: -1500px;
    }
}
@keyframes con1sp {
    0%{
        background-position-x: 0;
    }
    100%{
        background-position-x: -800px;
    }
}