﻿@import url('https://fonts.googleapis.com/css2?family=Sawarabi+Mincho&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Dancing+Script:wght@500&display=swap');
#fakeloader .fl{
	position: absolute!important;
	top: 50%!important;
	left: 50%!important;
	transform: translate(-50%,-50%)!important;
	width: 50%!important;
	max-width: 300px!important;
}

#fakeloader .fl{z-index: 9999;}
.loader_icon {
	width: 239px;
}
#fakeloader .fl img {
    animation-name: fadein;
    animation-duration: 1.0s;
    animation-timing-function: ease-out;
    animation-fill-mode: forwards;
    z-index: 1;
}
#fakeloader .fl img {
    width: 100%;
    height: 300px;
    top: 50%;
    left: 0;
}
@keyframes fadein {
	0% {opacity:0;transform: translateY(0px);}
	10% {opacity:0;transform: translateY(0px);}
	100% {opacity:1;transform: translateY(0px);}
}


.fadein, .fadein2, .fadein3{
     opacity: 0;
     transform: translateY(20px);
     transition: 1.5s;
     transition-property: opacity,transform
}
.fadein.fadetrans, .fadein2.fadetrans, .fadein3.fadetrans{
     opacity: 1;
     transform: none
}
/* --------------------------FONT・FONTSIZE------------------------------ */
#contents1 h2 .anim, #contents2 h2 .anim, #contents3 h3 .anim{
	position: relative;
	right: 20px;
	opacity: 0;
	filter: blur(10px);
}
.anim.start{animation: blur 2.3s ease-in-out forwards;}
@keyframes blur {
  0% {
	filter: blur(10px);
  }
  100% { 
	filter: blur(0);
  }
}


body {
	font-size: 15px;
	line-height: 2;
font-family: a-otf-gothic-bbb-pr6n, sans-serif;
font-weight: 400;
font-style: normal;
}
.font_12 {
	font-size: 14px;
}
.font_14 {
	font-size: 15px;
}
#contents1 h2, #contents2 h2, #contents3 h3, .font_en {
font-family: 'Sawarabi Mincho', sans-serif;
}

#main_img h2.font_en {
font-size: 28px;
text-shadow: 0 2px 4px rgba(0, 0, 0,0.7);
}
#contents2 h2 {
font-size: 23px;
letter-spacing: 0.1rem;
margin-top: 36px;
}
#contents3 h3 {
font-size: 23px;
letter-spacing: 0.1rem;
}
#contents2 h2:first-letter, #contents3 h3:first-letter {
font-size: 34px;
margin-right: 1px;
}
.button, #main_menu ul li span, #page10 ul li a {
font-family: 'Noto Sans JP', sans-serif;
}
@media(max-width: 667px) {
	#main_img h2.txt_shadow {
	font-size: 20px;
}
	.font_14 {
	font-size: 14px;
}

	#contents1 h2 {
		font-size: 20px;
	}
#contents3 h3, .page_box h2 {
font-size: 18px;
}
	#contents2 h2 {
		margin-top: 68px;
		font-size: 17px;
	}
	#fakeloader .fl img {
    width: 100%;
    height: auto;
    top: 50%;
    left: 0;
}
}
	
/* ---------------------------共通----------------------------- */ 
#fakeloader {
background-color:#14a5c0;
background-image: url("Dup/img/gplay.png");
}
/* --------------------------header------------------------------ */
header {
box-shadow: 2px 0 10px rgba(0, 0, 0,0.06);
background-image: url("Dup/img/gplay.png");

}
#main_menu ul li a::before {
    top: 31%;
}
#main_menu ul li a::before {
    background-color: #faee00;
}
#main_menu ul li a:hover::before {
    background-color: #d6d6d6;
	width: 63px;
}
#main_menu ul li:hover a span {
	color: #d6d6d6;
}

#main_menu ul {
	margin-bottom: 28px;
}
#main_menu li {
     height: 1.5em;
    text-align: center;
     letter-spacing: 2px;
	padding: 9px 0;
}     
#main_menu li span{
      transition: 0.3s;
	color: #fff;font-family: 'Cabin Sketch', cursive;
}
#main_menu li span:nth-child(1) {
	display: block;
	font-size: 17px;
	letter-spacing: 0.2rem;
}
#main_menu li span:nth-child(2) {
     opacity:0;
     position: relative;
     top: -2.1em;
}
#main_menu li:hover span:nth-child(1) {opacity: 0;}
#main_menu li:hover span:nth-child(2) {opacity: 1;}
.fat-nav .bg_white {
	background-color: #8fe1f1;
}
@media(max-width: 768px) {

}
@media(max-width: 667px) {
	section.pd_l-r5per_sp {
		padding-left: 0;padding-right: 0;
	}
}
.button, .button2 {
    background: #353535;
    border: none;
    font-size: 14px;
    color: #edf3f4;
    padding: 14px;
}
.button2 {
    color: #353535;
    position: relative;
    background-color: #f5f5f5;
    border: none;
	border-bottom: 1px solid #b7b7b7;
}
.button:hover{
	background: #757575;
box-shadow: 0px 0px 16px 6px rgba(255,255,255,0.6);color: #fff;
}
.button2:hover {
	color: #fff;
	box-shadow: none;
    background-color: #14a5c0
}
.button2:hover:before, .button2:hover:after {
	opacity: 1;
}
.pager li a {
	padding: 0;
}
.pager li a.button2:before, .pager li a.button2:after {
	display: none;
}
@media(max-width: 768px) {
	.button2:after, .button2:before {
		display: none;
	}
}
#top_cms .button {
    position: relative;
    color: #ffffff;
    font-size: 21px;
    padding: 4px;
    width: 230px;
    border-color: #ffffff;
	transition: all 0.2s;
	background-color: transparent;
	z-index: 10;
}
#top_cms .button:after {
content: '';
    display: block;
    width: 12px;
    height: 12px;
    border-top: 1px solid #FFF;
    border-right: 1px solid #FFF;
    transform: rotate( 
45deg
 );


    position: absolute;
    right: 38px;
    top: 19px;
    z-index: 10;
    border-radius: 0;
    left: auto;
}


#top_cms .fade::before {
  width: 100%;
}
#top_cms .button:hover::after {
   box-shadow: none;/*temp27*/
}
#top_cms .button::before {
    position: relative;
    top: inherit;
    left: inherit;
    margin-right: 10px;
    vertical-align: middle;
    display: inline-block;
}
#top_cms .button:hover::before {
    left: 63px;
}
.more {
  position: relative;
}
.more p{
  position: relative;
	background-color: #14a5c0;/*もとのボタン色*/
width: 230px;
	margin: 0 auto;
}
.more p::before{
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background: #353535;/*hoverした色*/
  transition: 0.3s;z-index: 1;
}
.more p:hover:before {
  width: 100%;
}
.more a {
font-family: 'Shippori Mincho', serif;
	position: inherit;
	z-index: 5;
	background-color: rgba(0,0,0,0);
}
.more a:hover {
	opacity: inherit;
}
@media(max-width: 768px) {
	.banner p {
		margin: 0 auto;
	}
}

/* --------------------logo------------------- */
#logo {
	max-width: 163px;
}
#logo img {
width: 100%!important;
}

main {
	overflow: hidden;
}
#video h2 {
	font-size: 27px;
	text-shadow: 0 2px 4px rgba(0,0,0, 0.85);
	width: 100%;
}
@media(max-width: 768px) {
	.main_box {
    padding-top: 100px;
}
	#logo {
			max-width: 100px;
	}
	.hamburger {
    top: 29px;
    right: 18px;
}

}
@media(max-width: 667px) {
	header {
		padding: 5px!important;
	}
	    #logo {
			max-width: 81px;
	}
		.main_box {
    padding-top: 71px;
}
	.hamburger {
    top: 15px;
    right: 6px;
}
	#video h2 {
	font-size: 19px;
}
}
/* -------------------------- TOP ----------------------------- */
#contents1 .dec_txt1 {
    font-family: 'Dancing Script', cursive;
    width: 100%;
    text-align: center;
    font-size: 11vw;
    color: #f7f7f7;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    bottom: -85px;
    z-index: -4;
}
#contents2 .dec_txt1 {
	text-align: center;
    font-family: 'Dancing Script', cursive;
    font-size: 6vw;
    color: transparent;
    letter-spacing: 0.15rem;
    position: absolute;
    bottom: 9px;
}
#contents3 .dec_txt1 {
    text-align: left;
    font-family: 'Dancing Script', cursive;
    font-size: 34px;
    color: #FFBB00;
    letter-spacing: 0.15rem;
    line-height: 1.2;
}
#contents3 .dec_txt2 {
    text-align: left;
   font-family: 'Dancing Script', cursive;
    font-size: 41px;
    color: #353535;
    letter-spacing: 0.15rem;
    z-index: 17;
    position: absolute;
    top: 27px;
    left: 50px;
line-height: 1.2;
}
#contents1 {
	margin-top: -10px;background: #fff;
	position: relative;
	padding-bottom: 131px;
	padding: 35px 55px 85px;
	z-index: 1;
}
#contents1:after {
	content: "";
    display: block;
    position: absolute;
    bottom: -138px;
    left: 0;
    top: inherit;
    background: url(Dup/img/nami_b.png) no-repeat left 0 top 0;
    background-size: 100% auto;
    width: 100%;
    height: 140px;
    z-index: 2;
}
#contents1 h2 {
    position: relative;
    padding: 1rem 1rem;
    margin: 0 auto;
    max-width: 380px;
    text-align: center;
}
#contents1 h2:after {
    position: absolute;
    z-index: -1;
    bottom: 15px;
    left: 0;
    width: 100%;
    height: 18px;
    content: '';
    background-image: -webkit-repeating-linear-gradient( 
135deg
 , #b8f4ff, #b8f4ff 1px, transparent 2px, transparent 5px);
    background-image: repeating-linear-gradient(
-45deg
, #b8f4ff, #b8f4ff 1px, transparent 2px, transparent 5px);
    background-size: 7px 7px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}
#contents2 {
	position: relative;
}
#contents2:after {
	content: "";
    display: block;
    position: absolute;
    top: -138px;
    left: 0;
    background: url(Dup/img/nami_t.png) no-repeat left 0 bottom 0;
    background-size: 100% auto;
    width: 100%;
    height: 140px;
    z-index: 2;
}
.page_box h2 {
color: #505050;
}

#contents2 figure, #contents2 figure, #contents3 figure {
	box-shadow: 3.863px 3.596px 19px 0 rgba(205, 205, 205, 0.38);
	position: relative;
	overflow: inherit;
}
#contents2 figure:after {
    content: "";
    display: block;
    position: absolute;
    left: -35px;
    bottom: -35px;
    background-color: #cde8ec;
    background-position: 0 100%;
    z-index: -1;
    width: 100%;
    height: 100%;
background-image: url(Dup/img/bg_border.png);
    background-size: 10px;
}
#contents3 {
	position: relative;
	padding-bottom: 100px;
    background: url(Dup/img/bg_nami.png) no-repeat;
    background-size: 100%;
    background-position: 0 60%;
}
	#contents3::after {
    position: absolute;
    content: "";
    width: 100%;
    top: 86px;
    left: 0;
    bottom: 0;
    background-color: #ffffff;
    background-image: url(https://www.transparenttextures.com/patterns/notebook.png);
    z-index: -3;
}
@media(max-width: 1538px) {
	#contents2 .grid_6 {
		margin-top: -114px;
	}
}
@media(max-width: 768px) {
	#contents1 .dec_txt1 {
		bottom: -3px;
}
	#contents2 {
		padding-top: 100px;
		margin-top: 0;
		padding-bottom: 0;
	}
	#contents3 .dec_txt1 {
	margin-top: 25px;
    text-align: center;
	}
	#contents3 .dec_txt2 {
    font-size: 5vw;
    left: 22px;
	}
#contents2 figure:after {
    left: -20px;
    bottom: -20px;
}
}
@media(max-width: 667px) {
	#contents1 {
		padding: 30px 20px 60px;
	}
	#contents1 .dec_txt1 {
    bottom: -13px;
}
	#contents2 .dec_txt1 {
	top: -127px;
    z-index: 84;
    left: 43px;
	color: #fff;
	font-size: 15vw
	}
	#contents2 figure img {
		margin-right: -13px;
	}
	#contents3 .dec_txt1 {
		text-align: center;
		font-size: 19px;
	}
	#contents3::after {
		top: 90px;
	}
	#contents3 .dec_txt2 {
    left: -5px;
    letter-spacing: inherit;
}
#contents1 h2 {
    max-width: 298px;
}
#contents2 figure:after {
    left: -5px;
    bottom: -10px;
}
}


/* --------------------PAGE------------------------ */
#page_title .title_img {
	background-position: center 39%;
}
.cms_title {
	padding-left: 0;
}
.cms_title::before {
	background-color: #c7c7c7;/*col.cssでは変わらない*/
	z-index: -1;
}
#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;
}
.fat-nav li {
   font-size: 16px;
}

#cms_2-a figure {
	margin: 30px auto 20px;
	box-shadow: none;
}
#cms_2-a .box_item {
	background: #fff;
	padding: 4px 30px 33px;
}
#cms_2-a .box_item p {
	padding-bottom: 0;
}
#cms_5-c .cate_box p {
	background: #f7f7f7;
    margin-top: 10px;
	padding-top: 16px;
	padding-bottom: 10px;
}
.cate_title{
	border-left: 0;
	border-top: 0;
	display: block;
	text-align: center;
	background-color: inherit;
    font-size: 22px;
    font-weight: bold;
    padding-top: .5em;
    padding-bottom: .5em;
    margin-bottom: 2em;
    position: relative;
    border-bottom: solid 3px #f5f5f5;
    color: #484848;
	font-family: 'Shippori Mincho', serif;
}
.cate_title:after {
	position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 10px;
    content: '';
   background-image: -webkit-repeating-linear-gradient( 
135deg
 , #14a5c0, #14a5c0 1px, transparent 2px, transparent 5px);
    background-image: repeating-linear-gradient( 
-45deg
 , #14a5c0, #14a5c0 1px, transparent 2px, transparent 5px);
    background-size: 7px 7px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.sub_cate_title {
	border-top: none;
	color: #4a4a4a;
	font-family: 'Shippori Mincho', serif;
}
@media(max-width: 667px) {

	.cate_title {
		font-size: 18px;

}
.cms_2-a .cate_box {
	padding: 0 10px;
}
.cms_2-a .swiper-button-prev {
    left: -5px;
}
.cms_2-a .swiper-button-next {
    right: -5px;
}
#cms_5-c .box_txt1::before {
    top: 11px;
    left: 6px;
    font-size: -webkit-calc(1rem + 2px);
    font-size: calc(1rem + 2px);
}
}

/*----------SNSリンク中央寄せ------------*/
.link_box ul {
	justify-content: center;
}
.link_box ul li {
    width: 30px!important;
    margin-left: 10px;
    margin-right: 10px;
}

/* --------------------------footer------------------------------ */
footer .logo img {
	max-width: 165px;
}

@media(max-width: 768px) {
footer .logo {
	text-align: center;
}
	.footer_cms {
		text-align: center;
	}
}
@media all and (-ms-high-contrast: none) {
	/*#contents1 h2 {
		padding: 14px 5px 6px;
	}*/
	/*.cms_title p {
		margin-top: -15px;
	}*/
	/*.cate_wrap h3 {
		padding: 0 5px 20px;
	}*/
	.cate_list li a {
		padding: 12px 0;
	}
	.head_box {/*ロゴ部分がスクロールする問題*/
		-ms-overflow-style :none;
	}
	/*#page8 #contact_tel a {
		padding: 27px 20px 20px;
	}*/
	.pc_box .contact_bt a {
		padding: 14px 0
	}
	#page9 .box p a {
		padding: 2px 7px 4px;
	}
 	#page10 ul li a {
		padding: 12px 0;
	}
	.pager li a {
		padding: 6px 0 3px;
	}
}
