﻿@import url('https://fonts.googleapis.com/css2?family=Kosugi&display=swap');

.fadein{
     opacity: 0;
     transform: translateY(-20px);
     transition: 1.5s;
     transition-property: opacity,transform
}
.fadein.fadetrans{
     opacity: 1;
     transform: none
}
/*.fadein2{
     opacity: 0;
     transform: translateY(-20px);
     transition: 1.5s;
     transition-property: opacity,transform
}
.fadein2.fadetrans{
     opacity: 1;
     transform: none
}*/
/*FONT FONTSIZE*/
body {
	font-size: 15px;
	line-height: 1.8;background:#f5fcff /*#edfaff*/;font-family: 'Kosugi', sans-serif;
}
.font_12 {
	font-size: 14px;
}
.font_14 {
	font-size: 15px;
}
#contents2 h2, .font_en, #contents3 h3, #main_menu li a {
font-family: 'Kosugi', sans-serif;
font-weight: 400;
font-style: normal;	
}
#main_img h2.font_en {
font-size: 28px;
	text-shadow: 0 2px 4px rgba(0, 0, 0,0.7);
}
#contents2 h2, #contents3 h3, .page_box h2 {
font-size: 21px;
color: #0491cc;

}
#top_cms5 {
	background-color: #fff;
}
#top_cms2 {

	    background: url(Dup/img/tori3.png), url(Dup/img/tori2.png);
    background-repeat: no-repeat, no-repeat;
    background-position: 95% 22px, 80% 40%;
    background-size: 200px auto, 113px;
}
	
#top_cms h2 {
	color: #0c9bd6;
}
.fat-nav li {
   font-size: 16px;
}
#main_menu ul li a {
	font-size: 17px;
}
@media(max-width: 667px) {
	#main_img h2.txt_shadow {
	font-size: 20px;
}
	.font_14 {
	font-size: 14px;
}
main h2.font_en {
font-size: 17px;width: 80%;
}
	
#contents2 h2, #contents3 h3, .page_box h2 {
font-size: 17px;
}

}




#main_menu ul li a:hover {
    color: #1b91c7;
}
#top_cms .cms_title p.font_en, .page_box p {
	text-shadow: none;
}
.cms_title::before {
    background-color: #68a5da
}
.page_box p, #cms_1-c .date {
	color: #3ab1e6;
}

/*TOP*/
#contents1 {
    background: url(Dup/img/kumo3.png), url(Dup/img/kumo1.png);
    background-repeat: no-repeat, no-repeat;
    background-position: 100% -46%, 0% 111%;
    background-size: 274px auto, 253px;
	
}
#contents2 {
background: url(Dup/img/tori2.png), url(Dup/img/tori3.png);
    background-repeat: no-repeat, no-repeat;
    background-position: 49% 10%, -2% 100%;
    background-size: 100px auto, 245px;
}

#contents3 {
    position: relative;
    background: url(Dup/img/mati.png);
    background-repeat: no-repeat;
    background-position: left 50% bottom -10px;
    padding-bottom: 100px;
    background-size: 100%;

}
#contents3::after {
position: absolute;
    content: "";
    width: 100%;
    top: 100px;
    left: 0;
    bottom: 0;
/*   background: -webkit-linear-gradient(
-45deg
, #fff 0%, #eefffe 50%, #fff 100%);
background: linear-gradient(
135deg
, #fff 0%, #eefffe 50%, #fff 100%);*/
    z-index: -1;
}
#top_cms1 {
	background-color: #fff;
}
/* ------------------------------------------------ */
.page_box h2 {
	text-shadow: none;
}

/*----------------------------------*/
header {
	background-color: #ffffff!important;
	    box-shadow: 0 0 20px rgb(0 0 0 / 6%);

}
#fakeloader {
	background-color: #68a5da
/*background: -webkit-linear-gradient(
-45deg
, #fff 0%, #dbf4ff 50%, #fff 100%);
background: linear-gradient(
135deg
, #fff 0%, #dbf4ff 50%, #fff 100%);*/
}
.txt1 span::before {
    position: absolute;
    content: "";
    width: 40px;
    height: 1px;
    left: 0;
    right: 0;
    top: 0;
    margin: auto;
    background-color: #fff;
}



/* -------------- ロゴ -------------- */
h1.width_300-max {
		max-width: 260px;
	}
@media(max-width: 768px) {
h1.width_200-max_tb {
    max-width: 189px;
    padding: 5px 0;
}
	h1 img {
		width: 100%!important;/*ないと50%になってしまう*/
	}
	.main_box {
    padding-top: 88px;
}
	.hamburger {
    top: 24px;
    right: 17px;
}

}
@media(max-width: 667px) {
	h1.width_150-max_sp {
		max-width: 115px;padding: 3px 0;
	}
	.main_box {
    padding-top: 62px;
}
	.hamburger {
    top: 12px;
    right: 3px;
}
	#contents1 {
        background-position: 196% -84%, 59% 138%;
    background-size: 0 auto, 663px;
}
	#contents2 {
    background-position: 100% 3%, 0 57%;
    background-size: 95px auto, 200px;
}
	#top_cms2 {
    background-position: 107% 22px, 82% 51%;
    background-size: 167px auto, 57px;
}
}

/*-----------------------hamburger-------------------------*/
.hamburger__icon.bg_color1, .hamburger__icon:after, .hamburger__icon:before {
    background-color: #0b55a0!important
}
.hamburger.active .hamburger__icon {
    background-color: transparent!important;
}
.hamburger.active .hamburger__icon:before, .hamburger.active .hamburger__icon:after {
		background-color: #fff!important;
	}
.fat-nav {
   background-color: inherit!important;
}
.fat-nav .bg_white {
       background-color: #68a5da!important
}
.fat-nav ul.bg_white li a{
	color: #fff;
}
.fat-nav li.letter_2 a {
	background: #757575;
    border: none;
    border-radius: 24px;
}



/*-------------ヘッダー左横線　ページタイトルの左横線--------------*/
#page_title .page_box::before {
    background-color: #5acfe4
}
#page_title .title_img {
    background-position: left 50% top calc( 50% + 66px);
}
.cms_title::before {
    width: 42px;
    height: 4px;
}
#main_menu ul li a::before {
    top: 42%;
    left: 0;
    width: 20px;
    height: 3px; background-color: #c4eaf1;
}
@media(max-width: 677px) {
#page_title .title_img {
    background-position: left 50% top calc( 50% + 21px);
}
}



.button:hover {
	transform: translateY(-5px);color: #68a5da
}
.button:hover:after {
	display: none;
}
main a.button {
	border-radius: 30px;
    padding: 5px 0;
    border: 2px solid #525252;
    width: 135px;
}

a.button, footer .button {
	color: #2b2b2b;
	background-color: inherit;
	border-radius: 30px;
	border: 7px solid #eee;
    padding: 10px 0;font-weight: bold;
}
/*cateLinkとsitemap*/
.button2 {
    border: none;
    background-color: #fff;
    border-radius: 30px;
    color: #212121;
}
.button2:hover {
	color: #0686bb;
    box-shadow: none;
	transform: translateY(-5px);
}




/*------メールアイコン-------*/
.head_box .contact_bt i{
	display: none;
}
.tel_bt a, .foot_tel_bt a {
	display: flex;align-items: center;justify-content: center;
}
.tel_bt a i, .foot_tel_bt a i {
	padding-right: 5px;
}
/*----------SNSリンク中央寄せ------------*/
.link_box ul {
	justify-content: center;
}
.link_box ul li {
    width: 30px!important;
    margin-left: 10px;
    margin-right: 10px;
}
/* ---------------CMS----------------------------- */

.cms_2-a .box_item, .cms_5-a .box_wrap {
	box-shadow: 0 6px 16px #e4e4e4;
	background: #fff;
    border-radius: 15px;
}
.cms_5-a .box_wrap {
	border: none;
}
.cms_2-a .cate_box {
	padding-bottom: 13px;
}
.cate_title {
	text-align: center;display: block;border-top: none;
}
.cate_title{
    font-size: 22px;
    font-weight: bold;
    padding-top: .5em;
    padding-bottom: .5em;
    margin-bottom: 2em;
    position: relative;
    border-bottom: solid 3px #86d8ff;
    color: #484848;
}
.cate_title:after {
position: absolute;
content: " ";
display: block;
width: 17%;
bottom: -3px;
border-bottom: solid 3px #0b55a0;
	left: 0;right: 0; margin: auto;
}
.cate figure {
	margin: 30px auto 40px;
}
#cms_2-a .cate_box, #cms_4-a .cate_box {
padding: 20px 0;
border-bottom: 1px solid #e4e0d6;
}
#cms_2-a .cate_box + .cate_box {
	margin-top: 35px;
}
#page8 h3 {
	color: #3ab1e6;
}
#cms_3-e .sub_cate_title {
	border-top: none;
}

#cms_3-e .box_txt1 {
		padding-left: 20px;
	}
#cms_5-a .cate_title {
	border-bottom: 0;color: #fff;margin-bottom: 0;
	text-align: left;display: flex;
}
#cms_5-a .cate_title:after {display: none;
}
#cms_3-c figure {
	box-shadow: none;
}
#cms_5-a .cate:first-of-type .box_wrap {
	display: block;
}
#cms_5-a .cate:first-of-type .cate_title i {
    transform: rotate(180deg);
}
#cms_5-a .cate:first-of-type .cate_title.on_click i {
    transform: inherit;
}
@media(max-width: 677px) {
	#cms_2-a .cate_box {
		margin-top: 0;
	}
	.cate figure {
	margin: 0px auto 20px;
}
#cms_2-a .cate_box + .cate_box {
	margin-top: 0px;
}
.cms_2-a .cate_box {
	padding: 0 20px;
}
.cms_2-a .swiper-button-prev {
    left: 0px;
}
.cms_2-a .swiper-button-next {
    right: 0px;
}	
.cate_title{
    font-size: 17px;
}
	.box_title1, .box_title2 {
		font-size: 16px;
	}
	.box_txt1 {
		font-size: 15px;
	}
#cms_3-e .box_item {
		margin-bottom: 18px;
	}
	#cms_3-e .box_txt1 {
		padding-left: 0px;
	}
	#cms_1-f {
		padding-right: 0;padding-left: 0;
	}
}
/*----------------------------------------------------------------------------*/

@media all and (-ms-high-contrast: none) {
	body, #contents2 h2, .font_en, #contents3 h3, #main_menu li a {
font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif		
	}
	
	.cate_list li a {
		padding: 10px 0;
	}
	/*.cate_wrap h3 {
		padding: 0 5px 20px;
	}*/
	#page10 ul li a {/*sitemap 要らん時もある*/
		padding: 12px 0;
	}
	#main_menu ul li a::before {/*左メニューの横線がずれてるとの指摘　要らん時もある*/
		top: 42%;
	}
	.pc_box .contact_bt a {/*ヘッダーのお問い合わせ・電話番号のところが下にズレているとの指摘　要らん時もある*/
		padding:  18px 0 14px;
	}
	.head_box {/*ロゴ部分がスクロールする問題*/
		-ms-overflow-style :none;
	}
	/*.pager li a {
		padding: 3px 0 3px;
	}*/
	/*#page8 #contact_tel a {
		padding: 30px 10px 21px;
	}*/
	.tel_bt a, .foot_tel_bt a {
		padding: 17px 0 13px;
	}
	.tel_bt a i, .foot_tel_bt a i {
		padding-bottom: 3px;
	}
	#page9 .box p a {
		padding: 3px 5px;
	}
}

@-moz-document url-prefix() {
	body, #contents2 h2, .font_en, #contents3 h3, #main_menu li a {
font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif		
	}
}