﻿/********** font **********/

@import url('https://fonts.googleapis.com/css2?family=Baskervville:ital@1&family=Shippori+Mincho+B1:wght@500&display=swap');

:root{
    --font-jp: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;
    --font-jp2: 'Shippori Mincho B1', "游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";
    --font-en: 'Baskervville', 'Shippori Mincho B1', "游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";
	/*font-family: "游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";*/
}
body, .font_sans-serif{
    font-family: var(--font-jp)!important;
}
.font_jp, .font_shippori{
    font-family: var(--font-jp2);
}
.font_en, a[href^="tel:"]{
    font-family: var(--font-en);
}

/********** color **********/

:root{
    --color1: #222222;
    --color2: #f2f2f2;
    --color3: #8d5b99;
    --color4: #e4e4e4;
    --black: #222222;
}

/********** all **********/

#loading .load_logo{
    width: 150px;
}

.overlay .menu_box{
    font-family: var(--font-jp2);
}

.tel_bt{
    display: none;
}
#logo img {
    max-width: 100px;
}
#header.active #logo img {
    max-width: 80px;
}

#footer{
    background-image: url('./Dup/img/bg_img.jpg');
}
#footer #logo2{
    width: 150px;
}

/********** top **********/

#main_img{
    width: 80%;
    margin-left: auto;
    margin-right: 0;
    min-height: 700px;
}
#catch{
    top: 55%;
    left: 20%;
    transform: translate(-50%, -50%);
}

#pc_nav{
    font-family: var(--font-jp2);
}

#intro{
    padding-left: 5%;
    padding-right: 5%;
}
#intro span.bg_box{
    height: 60%;
    background-image: url('./Dup/img/bg_img.jpg');
}
#intro .txt_wrap {
    padding: 0 10%;
}
#intro .intro_img {
    height: 500px!important;
}

#contents_links .box_wrap h3{
    font-family: var(--font-en);
}
#contents_links .box_wrap .box a h4{
    font-family: var(--font-jp2);
    background-color: #fff;
    font-weight: normal;
    background-image: linear-gradient(to bottom, var(--color3), var(--color3));
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 0 100%;
    transition: 0.3s;
}
#contents_links .box_wrap .box a:hover h4{
    background-size: 100% 100%;
    color: #fff;
}

#top_cms1 .top_cms_title h3, #top_cms2 .top_cms_title h3{
    font-family: var(--font-jp2)
}
#top_cms1 .top_cms_title p, #top_cms2 .top_cms_title p{
    font-family: var(--font-en)
}

#contents_wrap .bg_container{
    background-image: url('./Dup/img/bg_img.jpg');
}
#contents_wrap h2 {
    font-family: var(--font-en);
}
#tab_buttons .stepber ul li span.no {
    top: -3px;
    font-family: var(--font-en);
    font-size: 20px;
}

.more_bt{
    font-family: var(--font-en);
}

.cms_3-b .cate a .cate_title_top{
    margin-top: -20px;
    font-family: var(--font-jp2);
}
.cms_3-b .cate a .cate_title_top::before, .cms_3-b .cate a .cate_title_top::after{
    position: absolute;
    content: "";
    background-color: #fff;
    right: 10px;
    height: 1px;
    top: 0;
    bottom: 0;
    margin: auto;
}
.cms_3-b .cate a .cate_title_top::before{
    width: 30px;
    transition: width 0.3s;
}
.cms_3-b .cate a:hover .cate_title_top::before{
    width: 35px;
}
.cms_3-b .cate a .cate_title_top::after{
    width: 10px;
    transform: rotate(45deg);
    transform-origin: top right;
}
.cms_3-b .cate a:hover .cate_img img{
    opacity: 0.8;
    transform: translate(-50%, -50%) scale(1.1);
}

/********** under_page **********/

#page_title{
    font-family: var(--font-jp2)
}
#page_title h2 span.font_anim{
    font-family: var(--font-en);
    line-height: 0.8;
}

.date, .date_box{
    font-family: var(--font-en)
}
.pager{
    font-family: var(--font-jp2)
}

.cate_list::before{
    font-family: var(--font-en)
}

.cate_title, .box_title, .box_title1, .box_title2{
    font-family: var(--font-jp2)
}

.cate_title{
	background-color: transparent;
	padding: 0;
	margin: 0;
	display: block;
	border: none;
	width: 100%!important;
	font-size: 24px;
	text-align: left;
	padding-bottom: 20px;
	margin-bottom: 50px;
	color: var(--black);
	font-weight: normal;
	background-image: linear-gradient(to bottom, currentColor, currentColor);
	background-size: 50px 2px;
	background-position: left bottom;
	background-repeat: no-repeat;
}

#page10{
    font-family: var(--font-jp2);
}


/********** tablet 780 **********/
@media screen and (max-width: 768px){
#main_img{
    min-height: 500px;
    margin-top: 110px;
}
#catch {
    top: 60%;
}
#intro{
    padding-left: 0;
    padding-right: 0;
}
#intro .txt_wrap {
    padding: 0 10% 100px;
}
}

/********** mobile 750 **********/
@media screen and (max-width: 667px){
#header{
    background-image: linear-gradient(to bottom, rgba(255,255,255,1), rgba(255,255,255,0));
    background-color: transparent;
}
#logo{
    padding: 10px;
}
#logo img, #header.active #logo img{
    max-width: 54px;
}
#main_img {
    margin-top: 68px;
    width: 70%;
    min-height: inherit;
    height: 300px!important;
}
#intro span.bg_box{
    height: 50%;
}
#catch {
    top: 50%;
    left: 30%;
}
#intro .intro_img {
    height: 300px!important;
}
span.bg_box {
    width: 30%;
}
#page_title h2 span.font_anim {
    font-size: 40px;
    height: 42px;
}
.cate_title{
    font-size: 20px;
}
}