@charset "utf-8";
*,*::before,*::after{box-sizing:border-box}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul[role="list"],ol[role="list"]{list-style:none}html:focus-within{scroll-behavior:smooth}body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.5;font-family: sans-serif}a{color:inherit}a:not([class]){text-decoration-skip-ink:auto}img,picture{max-width:100%;display:block}table{border-collapse:collapse;border-spacing:0;}input,button,textarea,select{font:inherit}@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto !important}}a,area,button,[role="button"],input:not([type=range]),label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation;}

html {
	box-sizing: border-box;
	overflow-y: scroll;
	font-size: 62.5%; /* 10px = 1rem */
	-webkit-text-size-adjust: 100%;
}

body {
	font-family: 'Noto Sans JP',sans-serif;
	font-weight: 400;
	font-size: 1.6rem;
	line-height: 1.6;
	background-color: #fff;
  color: #1a2d57;
	overflow-x: hidden;
}

p{
  line-height: 1.6;
}

.clfix::after{
	content: ".";
	display: block;
	height: 0; 
	font-size: 0;
	line-height: 0;
	clear: both;
	visibility: hidden;
}

.sp {
  display: none;
}
.pc,
.br-pc {
  display: block;
}

.palt {
	-webkit-font-feature-settings: 'palt' 1;
	font-feature-settings: 'palt' 1;
}
.halt {
	-webkit-font-feature-settings: 'halt' 1;
	font-feature-settings: 'halt' 1;
}

h1, h2, h3, h4, h5, h6,strong,em{
	font-weight: 700;
}

input, textarea, select, optgroup, option, button {
	font: inherit;
}
button, input[type="button"], input[type="submit"] {
	border: none;
	cursor: pointer;
}

a:link{
	color: #5e72e4;
}

a:visited{
	color: #935cbd;
}

a:hover{
	color: #233ed6;
}
a:active{
	color: #d1526d;
}

a,
a img{
	transition-duration: .3s;
	-webkit-transition-duration: .3s;
}

#nazotoki2025 a:hover img{
	opacity: 0.7;
}


.plan_btn a,
.plan_btn a img{
  display: inline-block;
}

#btn_top{
	position: fixed;
  display: none;
	z-index: 1000;
	bottom: 15px;
	right: 15px;
	width: 50px;
	height: 50px;
	overflow: hidden;
}

#btn_top img{
	width: 100%;
	height: auto;
  transition-duration: .3s;
	-webkit-transition-duration: .3s;
}

#btn_top img:hover{
  opacity: 0.7;
}
@media screen and (max-width: 1072px){
  #btn_top{
    bottom: 10px;
    right: 10px;
    width: 42px;
    height: 42px;
  }
}
@media screen and (max-width: 480px){
  #btn_top{
    bottom: 10px;
    right: 10px;
    width: 32px;
    height: 32px;
  }
}

/*********************
 hero
*********************/
#nazotoki2025 #hero{
  background: #8cc7de;
}

#nazotoki2025 #hero .wrp{
  position: relative;
  width: 1200px;
  margin: 0 auto;
}

#nazotoki2025 #hero .wrp .fuji-flag{
  position: absolute;
  width: 169px;
  height: 210px;
  top: 0;
  left: 100px;
}

#nazotoki2025 #hero .text{
  width: 1200px;
  margin: 0 auto;
  padding: 0 0 80px 0;
}

#nazotoki2025 #hero .text .btn{
  width: 512px;
  margin: 0 auto 30px auto;
  filter: drop-shadow(5px 5px 8px rgba(0,0,0,0.25));
}

#nazotoki2025 #hero .text p{
  text-align: center;
  color: #1a2d57;
}

#nazotoki2025 #hero .text p:first-of-type{
  margin: 0 0 10px 0;
  font-weight: 800;
}

/*********************
 read
*********************/
#nazotoki2025 #read{ 
  position: relative;
  padding: 40px 0 80px 0;
  background: url(../img/bg.webp) left top no-repeat;
  background-size: cover;
}

#nazotoki2025 #read .image{
  width: 696px;
  margin: 0 auto 60px auto;
  filter: drop-shadow(5px 5px 8px rgba(0,0,0,0.25));
}

#nazotoki2025 #read .wrp{
  width: 517px;
  margin: 0 auto;
}

#nazotoki2025 #read .wrp .btn{
  width: 517px;
  margin: 0 auto 60px auto;
  filter: drop-shadow(5px 5px 8px rgba(0,0,0,0.25));
}

#nazotoki2025 #read .wrp .btn img{
  width: 100%;
  height: auto;
}

#nazotoki2025 #read .wrp h2{
  width: 538px;
  margin: 0 auto 20px auto;
}

#nazotoki2025 #read .wrp h2 img{
  width: 100%;
  height: auto;
}

#nazotoki2025 #read .wrp p + h2{
  margin: 60px auto 20px auto;
}

#nazotoki2025 #read .wrp p{
  font-size: 1.8rem;
  font-weight: 800;
  color: #1a2d57;
  text-align: center;
  text-shadow:
  2px 2px 0 #FFF, -2px -2px 0 #FFF,
  -2px 2px 0 #FFF, 2px -2px 0 #FFF,
  0px 2px 0 #FFF,  0-2px 0 #FFF,
  -2px 0 0 #FFF, 2px 0 0 #FFF;
}

#nazotoki2025 #read .wrp p span{
  font-size: 3rem;
}

#nazotoki2025 #read .wrp p:last-of-type{
  font-size: 2rem;
}

#nazotoki2025 #read .wrp .ms{
  width: 500px;
  margin: 30px auto 0 auto;
  padding: 20px 20px;
  font-size: 3.4rem;
  font-weight: 800;
  color: #fff;
  text-align: center;
  background: #e83828;
  border-radius: 10px;
}

@keyframes CloudAnim{
	0% {transform: translate3d(0, 0, 0);}
	40% {transform: translate3d(80px, 0, 0);}
	80% {transform: translate3d(0, 0, 0);}
	100% {transform: translate3d(0, 0, 0);}
}

.bg_cloud1{
	position: absolute;
	width: 344px;
	height: 147px;
	background: url(../img/img_cl01.svg) left top no-repeat;
	top: 174px;
	left: -40px;
	z-index: 4;
	animation:CloudAnim 17s ease-in-out 1s infinite alternate backwards;
}

.bg_cloud2{
	position: absolute;
	width: 414px;
	height: 118px;
	background: url(../img/img_cl02.svg) left top no-repeat;
	top: 500px;
	right: -70px;
	z-index: 4;
	animation:CloudAnim 15s ease-in-out 1s infinite alternate backwards;
}

.bg_cloud3{
	position: absolute;
	width: 356px;
	height: 146px;
	background: url(../img/img_cl03.svg) left top no-repeat;
	top: 800px;
	left: -30px;
	z-index: 4;
	animation:CloudAnim 19s ease-in-out 3s infinite alternate backwards;
}

/*********************
 maps
*********************/
#maps{
  padding: 140px 0 80px 0;
  background: #8CC7DE url(../img/bg_map.webp) center 400px no-repeat;
  background-size: cover;
}

#maps .wrp_map{
  position: relative;
  width: 900px;
  margin: 0 auto;
  background: #fff;
  border-radius: 15px;
}

#maps .wrp_map h2{
  position: relative;
  width: 263px;
  top: -100px;
  left: 42px;
}

#maps .wrp_map h2 img{
  width: 100%;
  height: auto;
}

#maps .wrp_map .map{
  margin: -124px 0 0 0;
  padding: 0 39px 39px 39px;
}

#maps .bg_line{
  position: relative;
  margin: 80px 0 60px 0;
}

#maps .bg_line img{
  width: 100%;
  height: auto;
}

#maps .bg_line::before{
  content: "";
  position: absolute;
  background: url(../img/img_map_horse.webp) left top no-repeat;
  top: -240px;
  right: 40px;
  width: 278px;
  height: 255px;
  filter: drop-shadow(0px 0px 8px rgba(255,255,255,0.8));
}

#maps .wrp_route{
  width: 900px;
  margin: 0 auto 80px auto;
  padding: 40px;
  background: #f5f0eb;
  background-image: linear-gradient(-45deg, #f3a366 100px, transparent 0),
                    linear-gradient(135deg, #c2dd99 100px, transparent 0);
  border-radius: 15px;
}

#maps .wrp_route h2{
  width: 294px;
  margin: 0 auto 20px auto;
}

#maps .wrp_route .wrp_acc{
	width: 770px;
	margin: 0 auto;
}

#maps .wrp_route .wrp_acc .toggle {
	display: none;
}

#maps .wrp_route .wrp_acc .option {
	position: relative;
	margin-bottom: 1em;
}

#maps .wrp_route .wrp_acc .title,
#maps .wrp_route .wrp_acc .content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}

#maps .wrp_route .wrp_acc .title {
	display: block;
	width: 280px;
	margin: 0 auto 20px auto;
	padding: 3px 0;
	text-align: center;
	color: #1a2d57;
	font-weight: 800;
	border: 1px solid #1a2d57;
	border-radius: 50px;
	cursor: pointer;
	transition: all 0.3s;
}
#maps .wrp_route .wrp_acc .title::after,
#maps .wrp_route .wrp_acc .title::before {
	content: "";
	position: absolute;
	right: 20px;
	top: 10px;
	width: 2px;
	height: 0.75em;
	background-color: #1a2d57;
	transition: all 0.3s;
}
#maps .wrp_route .wrp_acc .title::after {
	transform: rotate(90deg);
}

#maps .wrp_route .wrp_acc .title:hover{
	opacity: 0.7;
}

#maps .wrp_route .wrp_acc .content {
	max-height: 0;
	overflow: hidden;
}

#maps .wrp_route .wrp_acc .toggle:checked + .title + .content {
	max-height: 388px;
	transition: all 0.5s;
}
#maps .wrp_route .wrp_acc .toggle:checked + .title::before {
	transform: rotate(90deg) !important;
}

#maps .btn{
  width: 505px;
  margin: 0 auto 10px auto;
  filter: drop-shadow(5px 5px 8px rgba(0,0,0,0.25));
}

#maps .btn + p{
  font-size: 1.4rem;
  color: #1a2d57;
  font-weight: 800;
  text-align: center;
}

/*********************
 presents
*********************/
#presents{
  padding: 140px 0 80px 0;
  background: #f4a466 url(../img/bg_map.webp) center 400px no-repeat;
  background-size: cover;
}

#presents .wrp{
  position: relative;
  width: 900px;
  margin: 0 auto;
  z-index: 1;
}

#presents .wrp::before{
  content: "";
  position: absolute;
  width: 844px;
  height: 220px;
  top: -160px;
  left:50%;
  -webkit-transform:translate(-50%, 0);
  transform:translate(-50%, 0);
  background: url(../img/bg_present.webp) center top no-repeat;
  z-index: -1;
}

#presents .wrp .wrp_present{
  position: relative;
  margin: 90px 0 0 0;
  padding: 0 0 40px 0;
  background: #fff;
  border-radius: 15px;
  box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.45) ;
  -webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.45) ;
  -moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.45) ;
  -o-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.45) ;
  -ms-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.45) ;
  z-index: 3;
}

#presents .wrp .wrp_present h2{
  position: relative;
  width: 398px;
  height: 175px;
  margin: 0 auto;
  top: -175px;
}

#presents .wrp .wrp_present .ribbon{
  width: 822px;
  margin: -175px auto 0 auto;
}

#presents .wrp .wrp_present .col2{
  display: flex;
  display: -webkit-flex;
  justify-content: space-between;
  width: 822px;
  margin: 0 auto;
}

#presents .wrp .wrp_present .col2 .lside{
  width: 46%;
}

#presents .wrp .wrp_present .col2 .rside{
  width: 48%;
}

#presents .wrp .wrp_present .col2 .lside img,
#presents .wrp .wrp_present .col2 .rside img{
  width: 100%;
  height: auto;
}

#presents .wrp .wrp_present .col2 .lside p{
  margin: 8px 0 0 0;
  font-size: 1.4rem;
  text-align: center;
}

#presents .wrp .wrp_present .caution{
  display: flex;
  display: -webkit-flex;
  justify-content: right;
  width: 822px;
  gap: 0 .5em;
	margin: 1em auto 0 auto;
  font-size: 1.4rem;
	list-style: none;
}

#presents .wrp .wrp_present .caution li{
	position: relative;
	padding: 0 0 0 1em;
}

#presents .wrp .wrp_present .caution li::before{
	position: absolute;
	display: block;
	content: "※";
	top: 0;
	left: 0;
}

#presents .wrp .wrp_present h3{
  width: 822px;
  margin: 40px auto 35px auto;
  padding: 10px 0;
  font-size: 1.8rem;
  font-weight: 800;
  text-align: center;
  color: #fff;
  background: #e45e57;
  border-radius: 50px;
}

#presents .wrp .wrp_present h4{
  width: 822px;
  margin: 0 auto 20px auto;
  padding: 0 0 4px 0;
  font-size: 2rem;
  color: #e45e57;
  border-bottom: 1px solid #e45e57;
}

#presents .wrp .wrp_present table{
  width: 822px;
  margin: 0 auto;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 15px;
  overflow: hidden;
}

#presents .wrp .wrp_present table th{
  width: 25%;
  height: 90px;
  padding: 15px;
  background: #c2dd99;
  font-weight: 800;
}

#presents .wrp .wrp_present table td{
  width: 75%;
  padding: 15px 25px;
  background: #fff;
  font-weight: 800;
}

#presents .wrp .wrp_present table tr:first-child th{
  width: 25%;
  border-top: 3px solid #c2dd99;
  border-right: 3px solid #c2dd99;
  border-bottom: 3px solid #fff;
  border-left: 3px solid #c2dd99;
  border-radius: 15px 0 0 0;
}

#presents .wrp .wrp_present table tr:first-child td{
  width: 75%;
  border-top: 3px solid #c2dd99;
  border-right: 3px solid #c2dd99;
  border-bottom: 3px solid #c2dd99;
  border-left: 3px solid #fff;
  border-radius: 0 15px 0 0;
}

#presents .wrp .wrp_present table tr:last-child th{
  width: 25%;
  border-top: 3px solid #c2dd99;
  border-right: 3px solid #c2dd99;
  border-bottom: 3px solid #c2dd99;
  border-left: 3px solid #c2dd99;
  border-radius: 0 0 0 15px;
}

#presents .wrp .wrp_present table tr:last-child td{
  width: 75%;
  border-top: 3px solid #fff;
  border-right: 3px solid #c2dd99;
  border-bottom: 3px solid #c2dd99;
  border-left: 3px solid #fff;
  border-radius: 0 0 15px 0;
}

#presents .wrp .wrp_present table tr:last-child td span{
  font-size: 1.3rem;
}

#presents .wrp .wrp_present .col2_map{
  display: flex;
  display: -webkit-flex;
  justify-content: space-between;
  width: 822px;
  margin: 30px auto 40px auto;
}

#presents .wrp .wrp_present .col2_map .lside{
  width: 48%;
}
#presents .wrp .wrp_present .col2_map .rside{
  width: 48%;
}

#presents .wrp .wrp_present .col2_map .lside img,
#presents .wrp .wrp_present .col2_map .rside img{
  width: 100%;
  height: auto;
}

#presents .wrp .wrp_present .col2_map h5{
  margin: 0 0 10px 0;
  font-size: 1.8rem;
  text-align: center;
}

#presents .wrp .wrp_present h4 + p{
  width: 822px;
  margin: 0 auto;
}

#presents .wrp .wrp_present p + .caution{
  width: 822px;
  margin: 0 auto 40px auto;
  padding: 0;
  font-size: 1.4rem;
  text-align: left;
}

#presents .wrp .wrp_present p + .caution li{
  width: 100%;
  text-align: left;
}

#presents .wrp .wrp_present .col2_flow{
  display: flex;
  display: -webkit-flex;
  justify-content: space-between;
  width: 822px;
  margin: 0 auto;
}

#presents .wrp .wrp_present .col2_flow .lside{
  width: 60%;
  padding: 20px 30px;
  background: #f5f0eb;
  border-radius: 8px;
}

#presents .wrp .wrp_present .col2_flow .lside .col2_ttl{
  display: flex;
  display: -webkit-flex;
  justify-content: space-between;
  margin: 0 0 20px 0;
}

#presents .wrp .wrp_present .col2_flow .lside .col2_ttl p{
  width: 76%;
  font-size: 2.2rem;
  font-weight: 800;
  color: #333;
}

#presents .wrp .wrp_present .col2_flow .lside .col2_ttl p span{
  color: #e45e57;
}

#presents .wrp .wrp_present .col2_flow .lside .col2_ttl .btn{
  width: 74px;
  margin: 5px 0 0 0;
}

#presents .wrp .wrp_present .col2_flow .lside .image{
  width: 100%;
}
#presents .wrp .wrp_present .col2_flow .lside .image img{
  width: 100%;
  height: auto;
}

#presents .wrp .wrp_present .col2_flow .rside{
  width: 37%;
}

#presents .wrp .wrp_present .col2_flow .rside ul{
  margin: 0;
  padding: 0;
  list-style: none;
}

#presents .wrp .wrp_present .col2_flow .rside ul li{
  position: relative;
  padding: 0 0 0 1.2em;
}
#presents .wrp .wrp_present .col2_flow .rside ul li::before{
  content: "●";
  position: absolute;
  top: 0;
  left: 0;
  color: #e45e57;
}

#presents .wrp .wrp_present .col2_flow .rside ul li ul{
  margin: 8px 0 0 0;
}

#presents .wrp .wrp_present .col2_flow .rside ul li ul li{
  padding: 0 0 0 1.1em;
  font-size: 1.2rem;
}

#presents .wrp .wrp_present .col2_flow .rside ul li ul li::before{
  content: "※";
  color: #1a2d57;
}

#presents .wrp .wrp_present .col2_flow .rside ul li ul li span{
  color: #e45e57;
}

#presents .wrp .wrp_present .col2_flow .rside ul li + li{
  margin: 30px 0 0 0;
}

#presents .wrp .wrp_present .col2_flow .rside ul li ul li + li{
  margin: 0 0 0 0;
}

/*********************
 sanka
*********************/
#sanka{
  padding: 80px 0 80px 0;
  background: linear-gradient(0deg,rgba(255, 255, 255, 1) 0%, rgba(158, 190, 25, 1) 100%);
;
  background-image: url(../img/bg_map.webp) center 400px no-repeat;
  background-size: cover;
}

#sanka .wrp{
  position: relative;
  width: 900px;
  margin: 0 auto;
}

#sanka .wrp h2{
  width: 638px;
  margin: 0 auto 40px auto;
}

#sanka .wrp .box{
  display: flex;
  display: -webkit-flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
  padding: 30px 40px;
  background: #fff;
  border-radius: 15px;
  box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.45) ;
  -webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.45) ;
  -moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.45) ;
  -o-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.45) ;
  -ms-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.45) ;
}

#sanka .wrp .box:not(:first-child){
  margin: 30px 0 0 0;
}

#sanka .wrp .box .icn{
  width: 94px;
}

#sanka .wrp .box .icn img{
  width: 100%;
  height: auto;
}

#sanka .wrp .box .text{
  width: calc(100% - 124px);
}

#sanka .wrp .box .text h3{
	position: relative;
	margin: 0 0 20px 0;
	padding: 0 0 0 40px;
	font-size: 2.2rem;
}

#sanka .wrp .step1 .text h3::after{
	position: absolute;
	content: "";
	display: block;
	width: 21px;
	height: 30px;
	background: url(../img/icn_step_phone.svg) left top no-repeat;
	top: .2em;
	left: 0;
}

#sanka .wrp .step2 .text h3::after{
	position: absolute;
	content: "";
	display: block;
	width: 40px;
	height: 40px;
	background: url(../img/icn_step_pin.svg) left top no-repeat;
	top: 0;
	left: 0;
}

#sanka .wrp .step3 .text h3::after{
	position: absolute;
	content: "";
	display: block;
	width: 30px;
	height: 30px;
	background: url(../img/icn_step_q.svg) left top no-repeat;
	top: .2em;
	left: 0;
}

#sanka .wrp .step4 .text h3::after{
	position: absolute;
	content: "";
	display: block;
	width: 21px;
	height: 30px;
	background: url(../img/icn_step_phone.svg) left top no-repeat;
	top: .2em;
	left: 0;
}

#sanka .wrp .box + h2{
  width: 638px;
  margin: 80px  auto 40px auto;
}

#sanka .wrp .box_att{
  margin: 0 auto 15px auto;
  padding: 30px 30px;
  background: #fff;
  border-radius: 15px;
  box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.45) ;
  -webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.45) ;
  -moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.45) ;
  -o-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.45) ;
  -ms-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.45) ;
}

#sanka .wrp .box_att ul{
  margin: 0;
  padding: 0;
  list-style: none;
}

#sanka .wrp .box_att ul li{
  position: relative;
  padding: 0 0 0 1.2em;
  font-size: 1.4rem;
}

#sanka .wrp .box_att ul li:not(:first-child){
  margin: 6px 0 0 0;
}

#sanka .wrp .box_att ul li::before{
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}

#sanka .wrp .box_att + p{
  font-size: 1.2rem;
  text-align: right;
}

/*********************
 footer
*********************/
footer .wrp{
	max-width: 1000px;
	margin: 0 auto;
}

.footer {
	padding: 80px 0;
	background: #3c5fa4;
	color: #fff;
	letter-spacing: 0.03em;
}
@media all and (max-width: 896px) {
	.footer {
		padding: 50px 0;
	}
}

.width {
	max-width: 1200px;
	width: calc(100% - 80px);
	margin: 0 auto;
}


.footer .area_footer {
	max-width: 1440px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 40px 30px;
}

@media all and (max-width: 600px) {
	.footer .area_footer {
		flex-direction: column; 
	}
}

.footer .logo_footer img {
	width: 334px;
  margin: 0 auto;
}

@media all and (max-width: 896px) {
  .footer .logo_footer a{
    display: block;
    width: 240px;
    margin: 0 auto;
  }
	.footer .logo_footer img {
		width: 240px;
    height: auto;
	}
}

.footer .area_footer .block_left .btn{
  margin: 10px 0 0 0;
}

@media all and (max-width: 896px) {
  .footer .area_footer .block_left .btn{
    margin: 20px 0 0 0;
  }
}


.footer .area_footer .block_left .btn a{
  position: relative;
  display: block;
  width: 100%;
  padding: 10px;
  font-size: 1.6rem;
  font-weight: 800;
  text-align: center;
  text-decoration: none;
  color: #fff;
  background: #06a0e9;
  border-radius: 50px;
}

.footer .area_footer .block_left .btn a::before{
  position: absolute;
  display: block;
  content: "";
  top: 17px;
  right: 20px;
  width: 12px;
  height: 12px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.footer .area_footer .block_left .btn a:hover{
  opacity: 0.75;
}

.footer .area_footer .block_left .btn + p{
  margin: 12px 0 0 0;
  font-size: 1.3rem;
  text-align: center;
}

.footer .txt_copyright {
	font-family: 'Montserrat', sans-serif;
	font-size: 1.3rem;
	margin-top: 2px;
}
@media all and (max-width: 896px) {
	.footer .txt_copyright {
		font-size: 1rem;
	}
}
@media all and (max-width: 600px) {
	.footer .txt_copyright {
		display: none;
	}
}

.footer .txt_copyright_sp {
	display: none;
}
@media all and (max-width: 600px) {
	.footer .txt_copyright_sp {
		text-align: center;
		display: block;
		font-size: 1rem;
		margin-top: 60px;
	}
}

.footer .list_nav_footer {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 14px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer .list_nav_footer a {
	display: flex;
	align-items: center;
	gap: 5px;
	text-decoration: none;
	color: #fff;
}
@media all and (max-width: 896px) {
	.footer .icon_nav {
		width: 30px;
	}
}

.footer .txt_nav {
	display: flex;
	align-items: center;
	gap: 5px 10px;
}

.footer .txt_nav .txt_jp {
	font-weight: 700;
}

.footer .txt_nav .txt_en {
	font-family: 'Montserrat', sans-serif;
	font-size: 1rem;
}

/*********************
 modal
*********************/
#modal_story{
  padding:10px 10px 10px 10px !important;
  background: url(../img/bg_pop.webp) left top no-repeat !important;
  background-size: cover;
}

#modal_story .image img{
  width: 100%;
  height: auto;
}

#modal_story .wrp{
  position: relative;
  padding: 0 0 30px 0;
}

#modal_story .wrp .close_btn{
  position: absolute;
  content: "";
  top: -5px;
  right: -5px;
  width: 32px;
  height: 32px;
  cursor: pointer;
}

#modal_story .wrp .close_btn img{
  width: 100%;
  height: auto;
}

#modal_story .wrp .close_btn:hover{
  opacity: 0.7;
}

.mod_pop{
  padding:40px !important;
  border: 3px solid #5572a0;
  border-radius: 12px;
}

.mod_pop .image{
  width: 424px;
  margin: 0 auto 30px auto;
}

.mod_pop .image img{
  width: 100%;
  height: auto;
}

#modal_r01 h2{
  width: 272px;
  margin: 0 auto 20px auto;
}

#modal_r02 h2{
  width: 268px;
  margin: 0 auto 20px auto;
}

#modal_r03 h2{
  width: 392px;
  margin: 0 auto 20px auto;
}

#modal_r04 h2{
  width: 308px;
  margin: 0 auto 20px auto;
}

.mod_pop h2 img{
  width: 100%;
  height: auto;
}

.mod_pop .time{
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center;
  width: 280px;
  margin: 0 auto 10px auto;
}

.mod_pop .time .lside{
  width: 48%;
}

.mod_pop .time .lside img{
  width: 100%;
  height: auto;
}

.mod_pop .time .rside{
  width: 48%;
  font-size: 1.5rem;
}

.mod_pop h3{
  margin: 30px 0 15px 0;
  padding: 0 0 5px 0;
  font-size: 1.8rem;
  font-weight: 600;
  color: #5572a0;
  text-align: left;
  border-bottom: 2px solid #5572a0;
}

.mod_pop p{
  font-size: 1.5rem;
  text-align: left;
}

.mod_pop h4{
  margin: 40px 0 5px 0;
  font-size: 1.8rem;
  font-weight: 600;
  text-align: left;
  color: #5572a0;
}

.mod_pop .btn_web{
  width: 320px;
  margin: 40px auto 0 auto;
}

.mod_pop .btn_web a{
  position: relative;
  display: block;
  padding: 10px;
  font-size: 1.6rem;
  font-weight: 600;
  color: #fff;
  text-align: center;
  border-radius: 50px;
  text-decoration: none;
  background: #e45e57;
  box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.45) ;
  -webkit-box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.45) ;
  -moz-box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.45) ;
  -o-box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.45) ;
  -ms-box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.45) ;
}

.mod_pop .btn_web a::before{
  content: "";
  position: absolute;
  top: 18px;
  right: 18px;
  width: 10px;
  height: 10px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.mod_pop .btn_web a:hover{
  opacity: 0.7;
}

.mod_pop .btn_pr{
  width: 320px;
  margin: 30px auto 30px auto;
}

.mod_pop .btn_pr a{
  position: relative;
  display: block;
  padding: 10px;
  font-size: 1.6rem;
  font-weight: 600;
  color: #fff;
  text-align: center;
  border-radius: 50px;
  text-decoration: none;
  line-height: 1.4;
  background: #5572a0;
  box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.45) ;
  -webkit-box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.45) ;
  -moz-box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.45) ;
  -o-box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.45) ;
  -ms-box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.45) ;
}

.mod_pop .btn_pr a::before{
  content: "";
  position: absolute;
  top: 27px;
  right: 18px;
  width: 10px;
  height: 10px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.mod_pop .btn_pr a:hover{
  opacity: 0.7;
}

.mod_pop .wrp .close_btn{
  position: absolute;
  content: "";
  top: 15px;
  right: 15px;
  width: 32px;
  height: 32px;
  cursor: pointer;
}

.mod_pop .wrp .close_btn img{
  width: 100%;
  height: auto;
}

.mod_pop .wrp .close_btn:hover{
  opacity: 0.7;
}

#modal_ex{
  padding:40px 40px 20px 40px !important;
  border: 3px solid #5572a0;
  border-radius: 12px;
}

#modal_ex .image img{
  width: 100%;
  height: auto;
}

#modal_ex .wrp{
  position: relative;
  padding: 0 0 20px 0;
}

#modal_ex .wrp .close_btn{
  position: absolute;
  content: "";
  top: -25px;
  right: -25px;
  width: 32px;
  height: 32px;
  cursor: pointer;
}

#modal_ex .wrp .close_btn img{
  width: 100%;
  height: auto;
}

#modal_ex .wrp .close_btn:hover{
  opacity: 0.7;
}

/** スマホ *********************************************/
@media screen and (max-width: 1072px){
  .sp{
    display: none !important;
  }

  img{
    width: 100%;
    height: auto;
  }

  .content_wrap{
		padding-top:70px;
	}

  p{
    font-size: 1.6rem;
  }

  .bg_cloud1,
  .bg_cloud2,
  .bg_cloud3{
    display: none;
  }

  #nazotoki2025 #hero .wrp{
    width: 100%;
  }

  #nazotoki2025 #hero .text{
    width: calc(100% - 40px);
    padding: 20px 0 40px 0;
  }

  #maps{
    padding: 140px 0 40px 0;
  }

  #maps .wrp_map{
    width: calc(100% - 40px);
    border-radius: 10px;
  }

  #maps .wrp_map .map{
    margin: -140px 0 0 0;
    padding: 0 20px 20px 20px;
  }

  #maps .bg_line{
    margin: 40px 0 40px 0;
  }

  #maps .bg_line::before{
    top: -149px;
    right: -10px;
    width: 180px;
    height: 165px;
    background-size: cover;
  }

  #maps .wrp_route{
    width: calc(100% - 40px);
    margin: 0 auto 40px auto;
    padding: 20px 10px;
  }

  #maps .wrp_route .wrp_acc{
    width: calc(100% - 20px);
    margin: 0 auto;
  }

  #presents{
    padding: 120px 0 40px 0;
  }
  
  #presents .wrp{
    position: relative;
    width: calc(100% - 40px);
  }

  #presents .wrp .wrp_present h2{
    top: -174px;
  }

  #presents .wrp .wrp_present .ribbon{
    width: calc(100% - 40px);
    margin: -166px auto 0 auto;
  }

  #presents .wrp .wrp_present .col2{
    width: calc(100% - 40px);
  }

  #presents .wrp .wrp_present .caution{
    justify-content: right;
    width: calc(100% - 40px);
    margin: 2em auto 0 auto;
    padding: 0;
    font-size: 1.2rem;
    list-style: none;
  }

  #presents .wrp .wrp_present h3{
    width: calc(100% - 40px);
  }

  #presents .wrp .wrp_present h4{
    width: calc(100% - 40px);
  }

  #presents .wrp .wrp_present table{
    width: calc(100% - 40px);
  }

  #presents .wrp .wrp_present .col2_map{
    width: calc(100% - 40px);
  }
  
  #presents .wrp .wrp_present h4 + p{
    width: calc(100% - 40px);
  }

  #presents .wrp .wrp_present p + .caution{
    width: calc(100% - 40px);
  }

  #presents .wrp .wrp_present .col2_flow{
    width: calc(100% - 40px);
  }

  #sanka{
    padding: 40px 0;
  }

  #sanka .wrp{
    width: calc(100% - 40px);
  }

}

@media screen and (max-width: 480px){
  .sp {
    display: block !important;
  }
  .pc {
    display: none;
  }

  /*********************
  hero
  *********************/
  #nazotoki2025 #hero{
    padding: 0;
    background: none;
  }

  #nazotoki2025 #hero .wrp{
    width: 100%;
  }

  #nazotoki2025 #hero .wrp .fuji-flag{
    width: 50px;
    height: 62px;
    top: 0;
    left: 36px;
  }

  #nazotoki2025 #hero .text{
    width: calc(100% - 40px);
    padding: 20px 0 40px 0;
  }

  #nazotoki2025 #hero .text .btn{
    width: 100%;
    margin: 0 auto 20px auto;
  }

  /*********************
  read
  *********************/
  #nazotoki2025 #read{ 
    padding: 20px 0 40px 0;
    background: url(../img/bg_sp.webp) left top no-repeat;
    background-size: cover;
  }

  #nazotoki2025 #read .image{
    width: calc(100% - 40px);
    margin: 0 auto 30px auto;
  }

  #nazotoki2025 #read .wrp{
    width: calc(100% - 40px);
  }

  #nazotoki2025 #read .wrp .btn{
    width: 100%;
    margin: 0 auto 30px auto;
  }

  #nazotoki2025 #read .wrp h2{
    width: 100%;
    margin: 0 auto 10px auto;
  }

  #nazotoki2025 #read .wrp p + h2{
    margin: 30px auto 10px auto;
  }

  #nazotoki2025 #read .wrp p{
    font-size: 1.6rem;
    line-height: 1.3;
  }

  #nazotoki2025 #read .wrp p span{
    font-size: 2.8rem;
  }

  #nazotoki2025 #read .wrp p:last-of-type{
    font-size: 1.8rem;
    text-align: left;
  }

  #nazotoki2025 #read .wrp .ms{
    width: 100%;
    margin: 20px auto 0 auto;
    padding: 15px 10px;
    font-size: 2rem;
    border-radius: 10px;
  }

  /*********************
  maps
  *********************/
  #maps{
    padding: 80px 0 40px 0;
    background: #8CC7DE url(../img/bg_map.webp) center 50px no-repeat;
  }

  #maps .wrp_map h2{
    width: 140px;
    top: -56px;
    left: 12px;
  }

  #maps .wrp_map{
    width: calc(100% - 40px);
    border-radius: 10px;
  }

  #maps .wrp_map .map{
    margin: -75px 0 0 0;
    padding: 0 10px 10px 10px;
  }

  #maps .bg_line{
    margin: 20px 0 30px 0;
  }

  #maps .bg_line::before{
    top: -84px;
    right: -10px;
    width: 98px;
    height: 90px;
    background-size: cover;
  }

  #maps .wrp_route{
    width: calc(100% - 40px);
    margin: 0 auto 40px auto;
    padding: 20px 10px;
    background-image: linear-gradient(-45deg, #f3a366 30px, transparent 0),
                      linear-gradient(135deg, #c2dd99 30px, transparent 0);
    border-radius: 10px;
  }

  #maps .wrp_route h2{
    width: 170px;
    margin: 0 auto 15px auto;
  }

  #maps .wrp_route .wrp_acc{
    width: 100%;
    margin: 0 auto;
  }

  #maps .wrp_route .wrp_acc{
    width: 100%;
    margin: 0 auto;
  }

  #maps .wrp_route .wrp_acc .title {
    width: 250px;
    margin: 0 auto 10px auto;
    padding: 0 15px;
  }

  #maps .wrp_route .wrp_acc .title::after,
  #maps .wrp_route .wrp_acc .title::before {
    right: 15px;
    top: 8px;
  }

  #maps .wrp_route .wrp_acc .cnt_acc img{
    width: 100%;
    height: auto;
  }

  #maps .wrp_route .wrp_acc .content{
    width: calc(100% - 20px);
    margin: 0 auto;
    overflow-x: scroll;
  }

  #maps .wrp_route .wrp_acc .content img{
    width: 770px !important;
    max-width: initial !important;
    height: auto;
  }

  #maps .btn{
    width: calc(100% - 40px);
    margin: 0 auto 10px auto;
  }

  #maps .btn + p{
    font-size: 1.2rem;
  }

  /*********************
  presents
  *********************/
  #presents{
    padding: 80px 0 40px 0;
    background: #f4a466 url(../img/bg_map.webp) center 50px no-repeat;
  }

  #presents .wrp{
    position: relative;
    width: calc(100% - 40px);
  }

  #presents .wrp::before{
    width: 300px;
    height: 78px;
    top: -58px;
    background-size: cover;
  }

  #presents .wrp .wrp_present{
    margin: 10px 0 0 0;
    padding: 0 0 20px 0;
    border-radius: 10px;
  }

  #presents .wrp .wrp_present h2{
    width: 210px;
    height: 92px;
    top: -92px;
  }

  #presents .wrp .wrp_present .ribbon{
    width: calc(100% - 40px);
    margin: -85px auto 0 auto;
  }

  #presents .wrp .wrp_present .col2{
    flex-direction: column;
    width: calc(100% - 40px);
  }

  #presents .wrp .wrp_present .col2 .lside{
    width: 80%;
    margin: 20px auto 30px auto;
  }

  #presents .wrp .wrp_present .col2 .rside{
    width: 80%;
    margin: 0 auto;
  }

  #presents .wrp .wrp_present .col2 .lside p{
    margin: 8px 0 0 0;
    font-size: 1.2rem;
    text-align: center;
  }

  #presents .wrp .wrp_present .caution{
    flex-direction: column;
    justify-content: center;
    width: calc(100% - 60px);
    gap: 0 0;
    margin: 1em auto 0 auto;
    padding: 0;
    font-size: 1.2rem;
    list-style: none;
  }

  #presents .wrp .wrp_present h3{
    width: calc(100% - 40px);
    margin: 30px auto 15px auto;
    padding: 8px 0;
    font-size: 1.6rem;
  }

  #presents .wrp .wrp_present h4{
    width: calc(100% - 40px);
    margin: 0 auto 10px auto;
    padding: 0 0 3px 0;
    font-size: 1.8rem;
  }

  #presents .wrp .wrp_present table{
    width: calc(100% - 40px);
    margin: 0 auto;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 15px;
    overflow: hidden;
  }

  #presents .wrp .wrp_present table tr{
    display: block;
  }

  #presents .wrp .wrp_present table th{
    display: block;
    width: 100%;
    height: initial;
    padding: 10px 20px;
    background: #c2dd99;
    text-align: left;
    font-weight: 800;
  }

  #presents .wrp .wrp_present table td{
    display: block;
    width: 100%;
    padding: 10px 20px;
    background: #fff;
    font-weight: 800;
  }

  #presents .wrp .wrp_present table tr:first-child th{
    width: 100%;
    border: 0;
    border-right: 3px solid #c2dd99;
    border-left: 3px solid #c2dd99;
    border-radius: 7px 7px 0 0;
  }

  #presents .wrp .wrp_present table tr:first-child td{
    width: 100%;
    border: 0;
    border-right: 3px solid #c2dd99;
    border-left: 3px solid #c2dd99;
    border-radius: 0 0 0 0;
  }

  #presents .wrp .wrp_present table tr:last-child th{
    width: 100%;
    border: 0;
    border-right: 3px solid #c2dd99;
    border-left: 3px solid #c2dd99;
    border-radius: 0 0 0 0;
  }

  #presents .wrp .wrp_present table tr:last-child td{
    width: 100%;
    border: 0;
    border-right: 3px solid #c2dd99;
    border-left: 3px solid #c2dd99;
    border-bottom: 3px solid #c2dd99;
    border-radius: 0 0 15px 15px;
  }

  #presents .wrp .wrp_present table tr:last-child td span{
    display: block;
    font-size: 1.2rem;
  }

  #presents .wrp .wrp_present .col2_map{
    flex-direction: column;
    width: calc(100% - 40px);
    margin: 20px auto 30px auto;
  }

  #presents .wrp .wrp_present .col2_map .lside{
    width: 100%;
    margin: 0 0 20px 0;
  }
  #presents .wrp .wrp_present .col2_map .rside{
    width: 100%;
  }

  #presents .wrp .wrp_present .col2_map h5{
    margin: 0 0 6px 0;
    font-size: 1.6rem;
  }

  #presents .wrp .wrp_present h4 + p{
    width: calc(100% - 40px);
    font-size: 1.4rem;
  }

  #presents .wrp .wrp_present p + .caution{
    width: calc(100% - 40px);
    margin: 6px auto 20px auto;
    font-size: 1.2rem;
  }

  #presents .wrp .wrp_present .col2_flow{
    flex-direction: column;
    width: calc(100% - 40px);
  }
  
  #presents .wrp .wrp_present .col2_flow .lside{
    width: 100%;
    margin: 0 0 20px 0;
    padding: 15px 20px;
    border-radius: 8px;
  }

  #presents .wrp .wrp_present .col2_flow .lside .col2_ttl{
    flex-direction: column;
    margin: 0 0 20px 0;
  }

  #presents .wrp .wrp_present .col2_flow .lside .col2_ttl p{
    width: 100%;
    font-size: 1.8rem;
    -webkit-font-feature-settings: 'palt' 1;
    font-feature-settings: 'palt' 1;
    margin: 0 0 5px 0;
  }

  #presents .wrp .wrp_present .col2_flow .lside .col2_ttl .btn{
    width: 80px;
    margin: 5px auto 0 auto;
  }

  #presents .wrp .wrp_present .col2_flow .rside{
    width: 100%;
  }

  #presents .wrp .wrp_present .col2_flow .rside ul{
    font-size: 1.4rem;
  }

  #presents .wrp .wrp_present .col2_flow .rside ul li ul{
    margin: 4px 0 0 0;
    -webkit-font-feature-settings: 'palt' 1;
    font-feature-settings: 'palt' 1;
  }

  #presents .wrp .wrp_present .col2_flow .rside ul li + li{
    margin: 10px 0 0 0;
  }

  /*********************
  sanka
  *********************/

  #sanka{
    padding: 40px 0;
    background-image: url(../img/bg_map.webp) center 400px no-repeat;
    background-size: cover;
  }

  #sanka .wrp{
    width: calc(100% - 40px);
  }

  #sanka .wrp h2{
    width: 100%;
    margin: 0 auto 10px auto;
  }

  #sanka .wrp h2 img{
    width: 100%;
    height: auto;
  }

  #sanka .wrp .box{
    flex-direction: column;
    align-items: center;
    padding: 20px 20px;
    border-radius: 10px;
  }

  #sanka .wrp .box:not(:first-child){
    margin: 20px 0 0 0;
  }

  #sanka .wrp .box .icn{
    width: 59px;
    margin: 0 auto 20px auto;
  }

  #sanka .wrp .box .text{
    width: 100%
  }

  #sanka .wrp .box .text h3{
    margin: 0 0 5px 0;
    padding: 0 0 0 40px;
    font-size: 1.6rem;
    line-height: 1.4;
  }

  #sanka .wrp .step1 .text h3{
    margin: 0 0 10px 0;
  }

  #sanka .wrp .step1 .text h3::after{
    top: .5em;
  }

  #sanka .wrp .step2 .text h3{
    margin: 0 0 20px 0;
  }

  #sanka .wrp .step2 .text h3::after{
    top: -.5em;
  }

  #sanka .wrp .step3 .text h3{
    margin: 0 0 15px 0;
  }

  #sanka .wrp .step3 .text h3::after{
    top: -.2em;
  }

  #sanka .wrp .step4 .text h3{
    margin: 0 0 20px 0;
  }

  #sanka .wrp .step4 .text h3::after{
    top: -.1em;
  }

  #sanka .wrp .box .text p{
    font-size: 1.4rem;
  }

  #sanka .wrp .box + h2{
    width: 100%;
    margin: 40px  auto 20px auto;
  }

  #sanka .wrp .box_att{
    margin: 0 auto 10px auto;
    padding: 25px 20px;
    border-radius: 10px;
  }

  /*********************
  modal
  *********************/
  #modal_story .wrp{
    position: relative;
    padding: 0 0 0 0;
  }

  #modal_story .wrp .close_btn{
    top: 0;
    right: 0;
    width: 36px;
    height: 36px;
  }

  .mod_pop{
    padding:45px 15px 35px 15px !important;
    border: 2px solid #5572a0;
    border-radius: 10px;
  }

  .mod_pop .image{
    width: 100%;
    margin: 0 auto 20px auto;
  }

  #modal_r01 h2{
    width: 195px;
    margin: 0 auto 20px auto;
  }

  #modal_r02 h2{
    width: 192px;
    margin: 0 auto 20px auto;
  }

  #modal_r03 h2{
    width: 281px;
    margin: 0 auto 20px auto;
  }

  #modal_r04 h2{
    width: 221px;
    margin: 0 auto 20px auto;
  }

  .mod_pop .time .lside{
    width: 45%;
  }

  .mod_pop .time .rside{
    width: 45%;
    font-size: 1.5rem;
  }

  .mod_pop h3{
    margin: 20px 0 10px 0;
    padding: 0 0 3px 0;
    font-size: 1.6rem;
  }

  .mod_pop p{
    font-size: 1.4rem;
    text-align: left;
  }

  .mod_pop h4{
    margin: 20px 0 2px 0;
    font-size: 1.6rem;
  }

  .mod_pop .btn_web{
    width: calc(100% - 20px);
    margin: 40px auto 0 auto;
  }

  .mod_pop .btn_web a{
    font-size: 1.4rem;
  }

  .mod_pop .btn_web a::before{
    top: 17px;
  }

  .mod_pop .btn_pr{
    width: calc(100% - 20px);
    margin: 30px auto 30px auto;
  }

  .mod_pop .btn_pr a{
    font-size: 1.4rem;
  }
  
  .mod_pop .btn_pr a::before{
    top: 25px;
  }

  .mod_pop .wrp .close_btn{
    top: 6px;
    right: 6px;
  }

  #modal_ex{
    padding:20px 20px 20px 20px !important;
    border: 3px solid #5572a0;
    border-radius: 12px;
  }

  #modal_ex .image img{
    width: 100%;
    height: auto;
  }

  #modal_ex .wrp{
    position: relative;
    padding: 30px 0 20px 0;
  }

  #modal_ex .wrp .close_btn{
    position: absolute;
    content: "";
    top: -15px;
    right: -15px;
    width: 32px;
    height: 32px;
    cursor: pointer;
  }

}
