﻿@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;700&family=Noto+Sans+JP:wght@400;700&family=Zen+Antique&display=swap');

body, .font_sans-serif{
    font-family: "Noto Sans JP","游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.en_font, a[href^="tel:"], .pager, .date{
    font-family: 'Manrope', "Noto Sans JP","游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: normal;
}

#main .main_box h2, #catch .catch_txt h2, #contents .box .box_item h2, .cate_title{
    font-family: 'Zen Antique', "游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";
    font-weight: normal;
}

/*** ohter ***/

body{
    opacity: 0;
    transition: 1s;
    transition-property: opacity;
}

.header_menu li{
    padding: 0;
}
.header_menu li a{
    padding: 0 20px;
}
.header_menu li a:hover .en{
    opacity: 0;
}
.header_menu li a:hover .jp{
    opacity: 1;
}

#main::before{
    position: absolute;
    content: "";
    width: 300px;
    height: 300px;
    left: -150px;
    top: -150px;
    transform: rotate(45deg);
    background-color: #fff;
    opacity: 0.8;
    z-index: 1;
}
#main .logo{
    top: 30px;
    left: 30px;
    width: 250px;
    z-index: 1;
}
#main .main_box {
    top: auto;
    left: auto;
    transform: none;
    bottom: 50px;
    right: 50px;
    text-align: right;
}
#main .main_box::before {
    position: absolute;
    content: "";
    width: 700px;
    height: 700px;
    right: -400px;
    bottom: -400px;
    transform: rotate(45deg);
    background-color: #1a1a1a;
    opacity: 0.8;
}
#main .main_box .more a{
    display: inline-block;
}

#catch .catch_box{
    padding: 50px 0;
}
#catch .catch_txt{
    background-color: transparent;
    border: solid 1px #fff;
    width: calc(50% + 60px)!important;
    padding: 100px;
    box-sizing: border-box;
    min-width: inherit;
}
#catch .catch_txt h2{
    position: relative;
    text-align: center;
    padding-bottom: 20px;
}
#catch .catch_txt h2::before{
    position: absolute;
    content: "";
    width: 50px;
    height: 2px;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    background-color: #424db8;
}

.back_color {
    background-image: url(./Dup/img/bg_img.png), linear-gradient(rgba(26,26,26,0.5) 0%, rgba(26,26,26,0.975) 20%, rgba(26,26,26,0.975) 80%,rgba(26,26,26,0.5) 100%);
    background-size: 100px, auto;
}

#contents .no{
    background-color: #424db8;
}
#contents .box .box_item:after {
    display: none;
}
#contents .box .box_item h2, #contents .box .box_item p{
    z-index: 1;
}
#contents .box .box_item h2::before{
    position: absolute;
    content: "";
    width: 3px;
    height: 80px;
    left: 10px;
    top: -20px;
    transform: rotate(45deg);
    background-color: #424db8;
    z-index: -1;
}

.top_cms_box {
    background-color: rgba(255, 255, 255, 0.9);
}
.top_cms_box .cms_title p{
    font-weight: normal;
}
.cms_title::before{
    color: #424db8;
}

.more a:after{
    width: 10%;
}

#page_title{
    background-attachment: scroll;
    background-position: center;
}
#page_title:before{
    display: none;
}
#page_title:after{
    background-image: url('./Dup/img/bg_img2.png');
    background-size: 100px;
}
#page_title p.font_30up span{
    display: block;
}
#page_title p.font_30up span::first-letter{
    color: #424db8;
    font-size: 56px;
}

.content_wrap .entry a{
    display: inline-block;
}

.pager li a span{
    display: block;;
    position: static;
}

.cate_list li a{
    background-color: #e6e6e6;
}

.content_wrap{
    background-color: #fff;
}

footer{
    background-color: #222!important;
}
footer .entry.more a{
    background-color: #424db8;
    color: #fff;
}
footer .entry.more a:after{
    background-color: #fff;
}


/** tablet 780 **/
@media screen and (max-width: 768px){
#catch .catch_txt {
    width: calc(100% - 40px)!important;
    padding: 50px;
    margin-top: 20px;
    margin-bottom: 20px;
}
#page_title {
    height: 300px;
}
#page_title p.font_30up span::first-letter{
    font-size: 48px;
}
}

/** mobile 750 **/
@media screen and (max-width: 667px){
#main::before{
    width: 200px;
    height: 200px;
    left: -100px;
    top: -100px;
}
#main .logo{
    width: 200px;
}
#main .main_box {
    bottom: 20px;
    right: 20px;
}
#main .main_box::before {
    width: 380px;
    height: 380px;
    right: -210px;
    bottom: -210px;
}
#catch .catch_txt {
    padding: 50px 20px;
}
#contents .box .box_item{
    padding: 50px 30px;
}
#page_title {
    height: 250px;
}
#page_title p.font_30up span::first-letter{
    font-size: 40px;
}
.pager{
    margin-bottom: 20px;
}
.cate_list li a{
    padding: 10px 15px!important;
}
#footer .logo {
    text-align: center;
}
}

/** IE **/
@media all and (-ms-high-contrast:none) {

}


/* 2025.02.12 修正 */
#main .logo {
    width: 198px;
}
#header .logo img{
    width: 25%!important;
}
@media screen and (max-width: 667px) {
#main .logo {
    width: 119px;
    top: 15px;
    left: 17px;
}
}