﻿/*===========================================================*/
/* 個別 */
/*===========================================================*/
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500&family=Noto+Sans+JP:wght@500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Caveat&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho&display=swap');

.font1{font-family: 'Shippori Mincho', serif;}
.font2{font-family: 'Caveat', cursive;}
.linkStyle{color: #333;border-bottom: 1px solid;}
.svg_box{display: none;}
.top_nav{display: none;}
.menu .nav ul li{width: auto;border-left: none;}

.img-container{
    border-radius: 20px;
    overflow: hidden;
}
.main_img_wrap .navi{display: none;}
.main_img_wrap{top: 0;}
.main_wrap{margin-top: 50vw;}
.main_img .catch{
    max-width: 600px;
    width: 30%;
    top: 40%;
}
.t_cms_img2 .img-container:before {
    background: #fe6c6c;
}
#fix_bnr {
    bottom: 10px;
    right: 80px;
    z-index: 10;
    width: 640px;
    transition: 0.5s;
    display: flex;
}
#fix_bnr a{transition: 0.5s;padding: 0 10px;}
#fix_bnr a:hover{opacity: 0.7;transition: 0.5s;}
#fix_bnr.close {
    right: -650px;
}
#header{padding-top: 0;}
#loading_line .line{    background-color: #edfbff;}
#contents{background: url(dup/img/bg01.jpg);}
#contents h3 span{
    font-size: 24px;
    letter-spacing: 4px;
    font-family: 'Shippori Mincho', serif;
    font-weight: normal;
    color: #1c3370;
}
/*#contents .box .txt_wrap{
    background-color: #fff;
    padding: 50px;
}*/
#contents .box .txt_wrap p.opacity05,#top_cms .cms_title p.font_2up{font-family: 'Caveat', cursive;}
#contents .box h3{
        display: block;
    text-align: center;
    margin-bottom: 50px;
}
#contents .box h3:before{
    left: 50%;
    transform: translateX(-50%);
}
#contents .box figure:after{content: none;}
#top_cms .cms_title p{    font-family: 'Shippori Mincho', serif;font-weight: normal;}
#top_cms .top_menu_link .menu_link_item{
    margin: -30px auto 0;
    background-image: linear-gradient(to bottom, var(--color1), var(--color1)), linear-gradient(to bottom right, #fff, #f7f7f7);
    background-size: 100px 2px, auto;
    background-repeat: no-repeat;
    background-position: top center;
    box-shadow: 0 5px 20px rgba(0,0,0,0.1);
}
#top_cms .top_menu_link .menu_link_img img{
    transition: transform 0.5s;
}
#top_cms .top_menu_link a:hover .menu_link_img img{
    transform: translate(-50%, -50%) scale(1.05);
}
.top_cms_box:before{content: none;}
#top_cms .line{display: none;}
.top_cms_box .more_box .more{border-radius: 50px;}
.other .box figure{opacity: 1;}
.other .box{border: none;background-color: #fff;}
.other .box:hover{background-color: transparent;}
.other .box_item{background-color: rgb(255 255 255 / 50%);}
footer{background: url(dup/img/bg01.jpg);}
#footer .txt_white{color: #121212;}
#cms_6-d .cate_box:after, .cms_6-d .cate_box:after{opacity: 0.5;color: #1c3370;}
/*===========================================================*/
/* コード集 */
/*===========================================================*/
.topcms_news_type2 .cate_box {
	width: 46.33333%!important;
	margin-right: 1.5%;
	margin-left: 1.5%;
	cursor: pointer;
	border-bottom: 1px solid #ddd;
	margin-bottom: 30px;
	box-shadow: 0 6px 12px rgb(0 0 0 / 0);
	/* padding: 20px; */
	/* border-radius: 20px; */
	/* background-color: #f5f5f5; */
}
.topcms_news_type2 .cate_box:hover {
	transform: translateY(-5px);
}
.topcms_news_type2 .cate_box .box_item {
	cursor: pointer;
}
.topcms_news_type2 .txt_height {
	height: 5em
}
.topcms_news_type2 .box_img1 {
	border-radius: 10px;
}

/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
.topcms_news_type2 .cate_box {width: 100%!important;}
.topcms_news_type2 .txt_height {height: 3em}
}



/*===========================================================*/
/* 下層 */
/*===========================================================*/
.cate_list li a{
        overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
#cms_6-d .cate_title{color: #121212;}
#page_title p:first-of-type{font-family: 'Shippori Mincho', serif;font-weight: normal;color: #1c3370;}
#page_title p:last-of-type{font-family: 'Caveat', cursive;    color: #fe6c6c;}
/*===========================================================*/
/* 1280px */
/*===========================================================*/
@media screen and (max-width: 1280px){
.menu,.top_nav{
	display: none;
}
	header .logo,header #nav_menu{
		display: block;
	}
/* -- ヘッダー -- */
header{
	top: 0;	
	position: absolute!important;
}
#header {
	padding-left: 2.5%;
	padding-right: 2.5%;
	transition: 0.5s;
	padding-top: 30px;

}
.is-fixed2 {
	background-color:rgba(255,255,255,0.8);
	padding-top: 10px;
    padding-bottom: 10px;
}
header{
	z-index: 9999;	
}
header .logo{
    width: 10%;
    position: relative;
	margin-right: auto;
}
header .logo img {
    width: 100%!important;
}
#nav_menu {
    border-bottom: none;
    height: 70px;
    width: 70px;
    position: fixed;
    margin-left: auto;
    right: 25px;
}
.button_container {
    bottom: 0px;
}
}

/*===========================================================*/
/* タブレット */
/*===========================================================*/
@media screen and (max-width: 768px){
header .logo{width: 20%;}
#contents .box .txt_wrap {
    width: 100%;
}
#contents .box figure{
    width: 90%;
    margin-top: 30px;
}

}



/*===========================================================*/
/* スマホ */
/*===========================================================*/
@media screen and (max-width: 667px){
    #header{padding-top: 20px;}
#contents .box .txt_wrap{padding: 20px;}
#top_cms .top_cms_box {
    padding-bottom: 0px;
    margin-bottom: 0px;
}
#nav_menu{right: 0;}
.overlay ul{width: 80%;}
#fix_bnr {
    bottom: 10px;
    right: 65px;
    width: 80%;
}
#fix_bnr a{margin: 0 5px;padding: 10px;width: 50%;font-size: 12px;}
#page_title p:first-of-type{letter-spacing: 2px;}
.page10 .more_box .more:before,.page10 .more span{opacity: 0;}



}


/*===========================================================*/
/* IE */
/*===========================================================*/
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none){



}


/*===========================================================*/
/* Firefox */
/*===========================================================*/
@-moz-document url-prefix(){

}