@charset "utf-8";
/* ----------------------------------
1.0 - Base
2.1 - Header
2.2 - Footer
3.0 - Main
	|-common
---------------------------------- */
/*
@media only screen and (min-width: 576px) {
}
@media only screen and (min-width: 768px) {
}
@media only screen and (min-width: 992px) {
}
@media only screen and (min-width: 1280px) {
}
*/
/* ================================

1.0 Base

=================================== */
/*　font --------------*/
/*
"Noto Sans JP" licensed under the SIL Open Font License
https://fonts.google.com/
*/
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:700,900&display=swap&subset=japanese');
/* ----------- */
html {
	font-size: 62.5%;
}
body {
	color: #444;
	font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', YuGothic, Meiryo, sans-serif;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.7;
	word-wrap: break-word;
	overflow-wrap: break-word;
	min-width: 320px;
}
@media print, screen and (min-width: 768px) {
	body {
		font-size: 1.8rem;
		letter-spacing: 0.1em;
	}
}
a {
	color: #188FF0;
}
a:hover {
	color: #2772C2;
}
h1, h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, dt {
	line-height: 1.3;
	font-weight: 700;
	font-feature-settings: "palt";
}
html {
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
}
body {
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
}
img {
	max-width: 100%;
	height: auto;
}

/* Chromeのみ */
@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm) {
	img[src*=".png"] {
		image-rendering: -webkit-optimize-contrast;
	}
}

ol, ul {
	list-style: none;
	padding-left: 0;
}
li {
	list-style: none;
}


@media print, screen and (min-width: 768px) {
	.sp_only {
		display: none;
	}
}
@media screen and (max-width: 767px) {
	.pc_only {
		display: none;
	}
}
/* ================================

2.1 - Header

===================================*/

/* ================================

2.2 - Footer

===================================*/
.pageTop {
	position: fixed;
	right: 30px;
	display: block;
	width: 100px;
	height: 100px;
	background: #afe32b;
	border-radius: 100%;
	box-shadow: 0 5px 0 #2abd42;
	transition: transform .3s,box-shadow .3s;
	z-index: 999;
}

.pageTop:hover {
	box-shadow: 0 3px 0 #2abd42;
	transform: translateY(2px);
}

.pageTop:active {
	box-shadow: 0 0px 0 #2abd42;
	transform: translateY(5px);
}

.pageTop:after {
	content: '';
	position: absolute;
	top: 50%;
	right: 0;
	left: 0;
	width: 20%;
	height: 20%;
	margin: 0 auto;
	border-top: 3px solid #fff;
	border-left: 3px solid #fff;
	transform: translateY(-25%)rotate(45deg);
}
.copyright {
	color: #fff;
	padding: .3em;
}

@media screen and (max-width: 767px) {
	.pageTop {
		display: none !important;
	}
}

/* ================================

3.0 - Main

===================================*/
/* ----------------------------------
  3.1 - [Main] Common
---------------------------------- */
.pt_50 {
	padding-top: 3rem;
}
.pb_50 {
	padding-bottom: 3rem;
}
.pt_30 {
	padding-top: 2rem;
}
.pb_30 {
	padding-bottom: 2rem;
}
@media screen and (max-width: 767px) {
	.sp_mlr_0 {
		margin-left: 0;
		margin-right: 0;
	}
}
@media print, screen and (min-width: 768px) {
	.pt_50 {
		padding-top: 5rem;
	}
	.pb_50 {
		padding-bottom: 5rem;
	}
	.pt_30 {
		padding-top: 3rem;
	}
	.pb_30 {
		padding-bottom: 3rem;
	}
}

/*親要素からはみ出して子要素の背景を画面いっぱいに表示*/
.fluidBox .container {
	padding-right: 30px;
	padding-left: 30px;
}
@media screen {
	.fluidBox {
		width: 100vw;
		position: relative;
		left: 50%;
		transform: translateX(-50%);
	}
}
/* 
		|-color
---------------------------------- */
.f_blue01 {
	color: #004ea2 !important;
}
.f_blue02 {
	color: #00a7f2 !important;
}
.f_pink {
	color: #f58787 !important;
}
.f_white {
	color: #fff !important;
}
.f_gray {
	color: #777 !important;
}
/* 
		|-bg
---------------------------------- */
.bg_stripe {
	background: url('../img/bg_stripe02.png') repeat !important;
}
.bg_plaid {
	background: #fff url('../img/bg_plaid01.png') repeat !important;
}
.bg_blue {
	background: #00a7f2;
}
.bg_yellow {
	background: #ffea5e;
}

.bg_note {
	padding: 3rem 1.5rem;
	background-image: url(../img/bg_note_top.png), url(../img/bg_plaid01.png);
	background-size: contain, auto;
	background-repeat: no-repeat, repeat;
	background-position: center -2px, center center;
	background-color: #fff;
	position: relative;
}

@media print, screen and (min-width: 768px) {
	.bg_note {
		padding: 3rem;
	}
}

@media print, screen and (min-width: 1200px) {
	.bg_note {
		padding: 5rem 7rem;
	}
}

/* 
		|-border
---------------------------------- */
.border01 {
	background: url('../img/line_stripe01.png') repeat-x left center;
	height: 1rem;
	border: none;
}

/* 
		|-title
---------------------------------- */
/* 
		|-text
---------------------------------- */
.f_bold {
	font-weight: 700;
}
.txt_l {
	color: #1A4C91;
	font-size: 2.3rem;
	font-weight: 700;
	line-height: 1.3;
	font-feature-settings: "palt";
}
.txt01 {
	margin-bottom: 1rem;
}
.txtIndent1 {
	padding-left: 1em;
	text-indent: -1em;
}
.txt_palt {
	font-feature-settings: "palt";
}

a.txt_decoration {
	text-decoration: underline;
}

a.txt_decoration:hover {
	text-decoration: none;
}

@media print, screen and (min-width: 768px) {
	.txt_l {
		color: #1A4C91;
		font-size: 3rem;
		font-weight: 700;
		line-height: 1.3;
	}
}
/* 
		|-Etc（class...)
---------------------------------- */
.clear {
	clear: both;
}
.hoverFade {
	opacity: 1;
	-webkit-transition: .2s ease-in-out;
	transition: .2s ease-in-out;
}
.hoverFade:hover {
	opacity: 0.7;
}

.a_disable {
	pointer-events: none;
}

/* ----------------------------------
  3.2 - [Main] Style
---------------------------------- */
/* 
		|-mv
---------------------------------- */
.mv {
	text-align: center;
	padding-top: 1.5vw;
	background-image: url(../img/bg_half_circle_b.png), url(../img/bg_stripe01.png) ;
	background-position: center bottom, center ;
	background-repeat: no-repeat, repeat;
	background-size: contain, auto;
}
@media screen and (max-width: 767px) {
	.mv img {
		width: 90%;
		max-width: 60rem;
		padding-top: 1vw;
	}
}
/* 
		|-about
---------------------------------- */

#about .container .row > .txtBox {
	position: relative;
}

#about .txt01 {
	margin-bottom: 1em;
}

#about .note02 a {
	color: #444;
	text-decoration: underline;
}

#about .note02 a:hover {
	text-decoration: none;
}

/* #about .spec {
	color: #fff;
	border-radius: 2rem;
	padding: 6rem 2rem 3rem;
	background: url(../img/bg_stripe02.png) ;
	position: relative;
}

#about .spec::before,
#about .spec::after {
	content: url(../img/icn_memo01.png);
	position: absolute;
	top: -2rem;
}

#about .spec::before {
	left: 4rem;
}
#about .spec::after {
	right: 4rem;
}
#about .spec a {
	color: #fff;
	text-decoration: underline;
}
#about .spec a:hover {
	text-decoration: none;
}
#about .spec .note p {
	padding: .8em 2em;
	margin-bottom: 0;
	border-radius: 3rem;
	background: #f58787;
	display: inline-block;
}

#about .spec .listBox dt {
	line-height: 1.7;
	padding-top: 1rem;
}
#about .spec .listBox dd {
	margin: 0;
	padding-bottom: 1rem;
	border-bottom: 2px dotted #fff;
}
 */
#about .townImg img {
	width: 100%;
	max-width: auto;
	padding-top: 5rem;
}

@media screen and (max-width: 991px) {
	#about .imgBox_l,
	#about .imgBox_r {
		display: none;
	}
}
@media print,
screen and (min-width: 992px) {
	#about .imgBox_l {
		position: absolute;
		left: 0;
		top: 0;
		transform: translateX(-103%);
	}

	#about .imgBox_r {
		position: absolute;
		right: 0;
		top: 0;
		transform: translateX(103%);
	}

	#about .imgBox_sp {
		display: none;
	}

	#about .note02 {
		padding-bottom: 6rem;
	}

	/* 	#about .spec {
		border-radius: 4rem;
		padding: 7rem 5rem 5rem;
	}
	#about .spec::before {
		left: 8rem;
	}
	#about .spec::after {
		right: 8rem;
	}
	#about .spec .listBox {
		width: 100%;
		margin-bottom: 2rem;
		display: flex;
		flex-wrap: wrap;
	}

	#about .spec .listBox dt {
		line-height: 1.7;
		padding: 1rem;
		flex-basis: 13rem;
		max-width: 13rem;
		border-bottom: 2px dotted #fff;
	}
	#about .spec .listBox dd {
		margin: 0;
		padding: 1rem;
		flex-basis: calc(100% - 13rem);
		max-width: calc(100% - 13rem);
	}
 */
}
/* 
		|-report
---------------------------------- */

#report {
	line-height: 1.6;
	background: url(../img/bg_stripe02.png) ;
	padding-top: 0;
}

#report > .bg_town {
	width: 100%;
	vertical-align: top;
	margin-top: -1px;
}

#report .bg_note {
	margin: 5rem auto 0;
	padding-top: 3rem;
}

#report .headBox {
	text-align: center;
	margin-bottom: 3vw;
}

#report .headBox .txt {
	color: #004ea2;
	font-weight: 900;
	text-align: left;
	line-height: 1.6;
	padding-top: 1em;
}

#report .inner_line {
	padding: 1rem 0;
	margin-bottom: 3rem;
	background: url(../img/line_dotted.png) center top repeat-y;
}

#report .item {
	margin-top: 5rem;
}

#report [class^="day"] .item:nth-of-type(1) {
	margin-top: 2rem;
}

#report [class^="day"] .item:last-child {
	margin-bottom: 5rem;
}

#report [class^="day"] .imgBox {
	text-align: center;
}

#report .item .commentBox {
	font-feature-settings: "palt";
	padding: 2.5rem 4vw;
	margin-top: -2rem;
	background: #00a7f2;
	border-radius: 3rem;
}

#report .day1 .item .commentBox {
	background: #00a7f2;
}

#report .day2 .item .commentBox {
	background: #54c7ae;
}

#report .day3 .item .commentBox {
	background: #2abd42;
}

#report .item .commentBox .txtBox01 {
	font-size: 1.6rem;
	padding: 1.5rem 1.5rem 1.5rem 8rem;
	background: #fff url(../img/icn_content01.svg) no-repeat 1rem center;
	border-radius: 2rem;
}
#report .day1 .item .commentBox .txtBox01 {
	color: #00a7f2;
}

#report .day2 .item .commentBox .txtBox01 {
	color: #54c7ae;
}
#report .day3 .item .commentBox .txtBox01 {
	color: #2abd42;
}


#report .item .commentBox .txtBox02 {
	display: flex;
}

#report .item .commentBox .txtBox02 .listBox li {
	color: #fff;
	/* padding-left: .5em; */
	position: relative;
}

/* #report .item .commentBox .txtBox02 .listBox li:not(.tit)::before {
	content: "";
	width: .5rem;
	height: .5rem;
	background: yellow;
	position: absolute;
	left: 0;
	top: .7em;
	border-radius: 50%;
}
 */
#report .item .commentBox .txtBox02 .ill {
	min-width: 7rem;
}

@media screen and (min-width: 376px) and (max-width: 767px) {
	#report [class^="day"] .name img {
		width: 80%;
	}
}
@media print, screen and (min-width: 768px) {
	#report .bg_note {
		padding-top: 10rem;
	}
	#report .headBox .txt {
		font-size: 2.5rem;
		text-align: center;
	}
	#report .headBox {
		background-position: center top;
		background-repeat: no-repeat;
		background-size: contain;
	}
	#report .bg_note > .headBox:first-child {
		background-image: url(../img/day1_tit_bg.svg);
	}
	#report .day2 .headBox {
		background-image: url(../img/day2_tit_bg.svg);
	}
	#report .day3 .headBox {
		background-image: url(../img/day3_tit_bg.svg);
	}
	#report .item {
		margin-top: 4rem;
	}
	#report .item.review {
		margin-top: 1rem;
	}
	#report .item [class*="flexBlock"] {
		justify-content: center;
		align-items: flex-start;
	}
	#report .item.review [class*="flexBlock"] {
		align-items: center;
	}
	#report .flexBlock_r {
		flex-direction: row-reverse;
	}
	#report .item .imgBox {
		width: 47%;
	}
	#report .flexBlock .imgBox {
		padding-right: 1%;
	}
	#report .flexBlock_r .imgBox {
		padding-left: 1%;
	}
	#report .item .commentBox {
		letter-spacing: 0.07em;
		padding: 2rem;
		margin-top: 3%;
		width: 52%;
	}
	#report .item.review .commentBox {
		padding-top: 4rem;
		padding-bottom: 4rem;
	}
	#report .item .commentBox .txtBox02 {
		margin-right: -1.1rem;
	}
	#report .item .commentBox .txtBox02 .listBox {
		flex-basis: 69%;
	}
	#report .item .commentBox .txtBox02 .tit {
		margin-bottom: 1rem;
	}
	#report .item .commentBox .txtBox02 .ill {
		margin-bottom: 0;
		flex-basis: 30%;
	}
}

@media print, screen and (min-width: 1200px) {
	#report .headBox {
		background-size: auto auto;
	}
	#report .item .imgBox {
		width: auto;
		padding-right: 10px;
	}
	#report .item .commentBox {
		padding: 4rem 4rem 2rem;
		width: 475px;
	}
	#report .item .commentBox .txtBox02 .listBox {
		flex-basis: calc(100% - 127px);
	}

	#report .item .commentBox .txtBox02 .ill {
		margin-bottom: 0;
		flex-basis: 127px;
	}
}

/* 
		|-print CSS
---------------------------------- */
@media print {
	body {
		min-width: 1280px !important;
		-webkit-print-color-adjust: exact;
	}
	.conatiner {
		min-width: 1230px!important;
	}
}
