@charset "utf-8";

/*********************
* English
*********************/

/*********************
* base
*********************/
body, h1, h2, h3, h4, h5, h6, pre, li, dt, dd, th, td, p {
	font-family: "Lato", "Noto Sans JP", "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

/*********************
* common tags
*********************/

.f_en {
	letter-spacing: 0;
}

/* PC */
@media print,screen and (min-width: 1001px) {
/*********************
* main structure
*********************/

.caption {
	font-size: 4.286em;
	letter-spacing: 0;
}

/*********************
* footer
*********************/

footer .footer_top .shop_info dd {
  font-size: 1.143em;
}

/*********************
* トップページ
*********************/

#top .s1 h2 {
  font-size: 5.429em;
  font-weight: 700;
  color: #dc000c;
  letter-spacing: .1em;
}

#top .s1 p {
  width: 53.34%;
  font-size: 1.429em;
  margin: 0 auto;
}

#top .s2 .s2_box1 {
  width: 100%;
}

#top .s2 .s2_box1 h2 {
  margin-bottom: 40px;
}

#top .s2 .s2_box1 .list {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	grid-auto-columns: 1fr 1fr;
	grid-auto-rows: 1fr 1fr 1fr;
	gap: 15px 15px;
	grid-auto-flow: row;
	grid-template-areas:
		"item1 item2 item5"
		"item3 item4 item5";
  padding-top: 100px;
}

#top .s2 .s2_box1 .list li {
	text-align: center;
	background-color: #fff;
	border-radius: 20px;
	padding: 40px 20px;
}

#top .s2 .s2_box1 .list li.item1 { grid-area: item1; }
#top .s2 .s2_box1 .list li.item2 {
	grid-area: item2;
	position: relative;
	top: -50px;
}
#top .s2 .s2_box1 .list li.item3 { grid-area: item3; }
#top .s2 .s2_box1 .list li.item4 {
	grid-area: item4;
	position: relative;
	top: -50px;
}
#top .s2 .s2_box1 .list li.item5 { 
	grid-area: item5;
	position: relative;
	top: -100px;
  height: auto;
	padding-top: 180px;
}

#top .s2 .s2_box1 .list li p:first-of-type {
	font-size: 2.857em;
  line-height: 1.3;
}
#top .s2 .s2_box1 .list li.item5 p:first-of-type {
  font-size: 2em;
} 

#top .s2 .s2_box1 .list li p strong {
	font-size: inherit;
}

#top .s2 .s2_box1 .list li p:last-of-type {
  font-size: 1.857em;
  line-height: 1.3;
}

#top .s3 .slick-prev,
#top .s3 .slick-next {
  bottom: 0;
}

#top .s3 h2 {
  white-space: nowrap;
}

#top .s3 .text_type .item h3 {
  font-weight: 700;
}

#top .s8_box2 h3 {
  font-size: 1.714em;
  line-height: 1.3;
  margin-bottom: 20px;
}
#top .s8_box2 .s8_list + h3 {
  margin-top: 60px;
}

#top .s8_box2 h3 + .s8_list {
  border-top: 1px dashed rgba(0, 0, 0, .4);
  padding-top: 30px;
}

#top .s8_list dd div p + img {
  margin: 5px 0;
}

#top .s8_list dd div ul {
  margin: 20px 0;
}

#top .s8_list dd div ul li {
  font-size: 1.143em;
  text-indent: -1em;
  padding-left: 1em;
}

#top .s8_list dd div ul li::before {
  content: "・";
}

#top .s9 .contents_inner {
  background-image: url(../images/english/img01.jpg);
}

#top .s9 .caption {
  margin-bottom: 620px;
}

#top .s9_box .item .text h3 {
  font-weight: 700;
  letter-spacing: 0;
}

#top .s9_box .item .text .btns li {
  display: flex;
}

#top .s9_box .item .text .btns li .btn1 {
  letter-spacing: 0;
}
#top .s9_box .item .text .btns li:first-child .btn1 {
  background-color: #49c2d0;
}
#top .s9_box .item.maebashi .text .btns li:last-child .btn1 {
  background-color: #425744;
}

#top .s9_box .item .text .btns li:last-child a {
  display: flex;
  align-items: center;
}

#top .s9_box > p {
  font-size: 1.429em;
  text-align: center;
  margin-top: 80px;
}

#top .s10 {
  margin-bottom: 120px;
  padding: 100px 0 140px;
  position: relative;
}

#top .s10::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
	width: 96.25vw;
	height: 100%;
	background-color: #76dcad;
	border-radius: 20px;
}

#top .s10 .caption {
  margin-bottom: 80px;
}

#top .s10_box::after {
	content: "";
	display: block;
  width: 31.67%;
}

#top .s10_box .item {
  width: 31.67%;
	padding-right: 1.67%;
}

#top .s10_box .item:nth-child(even) {
  margin-top: 0;
  padding: 0 1.67% 0 0;
}
#top .s10_box .item:nth-child(2) {
	margin-top: 60px;
}
#top .s10_box .item:nth-child(3) {
	margin-top: 120px;
}
#top .s10_box .item:nth-child(4) {
	margin-top: -60px;
}

#top .s10_box .item .text {
  width: 100%;
  background-color: #fff;
  border-radius: 20px;
  margin: -20px 0 0 auto;
  padding: 4.17%;
  position: relative;
	right: -5.56%;
}

#top .s10_box .item .text h3 {
	font-size: 2em;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 0;
}

#top .s10_box .item .text h4 {
  font-size: 1.143em;
	color: #43bf86;
  line-height: 1.3;
	margin-bottom: 10px;
}

#top .s10_box .item .text dl {
  display: flex;
  border: 1px solid #425744;
  margin-bottom: 15px;
}

#top .s10_box .item .text dl dt {
  display: flex;
  align-items: center;
  font-size: 1.143em;
  color: #fff;
  font-weight: 700;
  line-height: 1.3;
  background-color: #425744;
  padding: 0 15px;
}

#top .s10_box .item .text dl dd {
  font-size: 1.143em;
  line-height: 1.3;
  padding: 5px 10px;
}

#top .s10_box .item .text p:first-of-type {
  font-size: 1.286em;
  position: relative;
}

#top .s10_box .item .text p:first-of-type::after {
  content: "";
  position: absolute;
  bottom: -14px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: rgba(66, 87, 68, .5);
}

#top .s10_box .item .text p:not(:first-of-type) {
  font-size: 1.143em;
  line-height: 1.3;
}

#top .s10_box .item .text p + p {
  margin-top: 2em;
}

#top .s11 {
  margin-bottom: 100px;
}

#top .s11_box1 {
  width: 31.67%;
}

#top .s11_box1 .caption {
  margin-bottom: 30px;
}

#top .s11_box2 {
  width: calc(100% - 31.67%);
}

#top .s11_list {
  border-bottom: 1px solid #ddd;
  padding-bottom: 40px;
  margin-bottom: 30px;
}

#top .s11_list dt {
  font-size: 1.714em;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 10px;
}

#top .s11_list dd {
  font-size: 1.143em;
}

#top .s12 {
  margin-bottom: 180px;
}

#top .s12_top_box {
  padding: 80px 0;
  position: relative;
}

#top .s12_top_box::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
	width: 96.25vw;
	height: 100%;
	background-color: #f8f8f8;
	border-radius: 20px;
}

#top .s12_top_box .caption {
  text-align: center;
  margin-bottom: 30px;
}

#top .s12_top_box .caption .border {
  margin-left: auto;
  margin-right: auto;
}

#top .s12_top_box p {
  font-size: 1.429em;
  text-align: center;
}

#top .s12_top_box input {
  display: none;
}

#top .s12_top_box .btns {
  justify-content: center;
  margin-top: 50px;
}

#top .s12_top_box .btns label {
  width: 200px;
  font-size: 1.286em;
  font-weight: 700;
  color: #fff;
  text-align: center;
  line-height: 1.3;
  background-color: #cad0cb;
  border-radius: 30px;
  padding: 15px 0;
  cursor: pointer;
}

#top .s12_top_box .btns label + label {
  margin-left: 20px;
}

#hamanako:checked ~ .btns .shop1,
#maishima:checked ~ .btns .shop2,
#hanna:checked ~ .btns .shop3,
#toki:checked ~ .btns .shop4,
#maebashi:checked ~ .btns .shop5 {
	background-color: #425744;
}

#top .s12_bottom_box {
  display: none;
  margin-top: 120px;
}

#top .s12_bottom_box h3 {
  font-size: 2.571em;
  font-weight: 700;
  text-align: center;
}

#top .s12_bottom_box .form_box {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	max-width: 780px;
	margin: 40px auto 0;
}

#top .s12_bottom_box .form_box dt,
#top .s12_bottom_box .form_box dd {
	font-size: 1.286em;
	margin-bottom: 50px;
}

#top .s12_bottom_box .form_box dt {
	width: 175px;
}

#top .s12_bottom_box .form_box dt.as_fs {
	align-self: flex-start;
	padding-top: 10px;
}

#top .s12_bottom_box .form_box dd {
	width: calc(100% - 175px);
}

#top .s12_bottom_box .form_box dd input {
	width: 100%;
}

#top .s12_bottom_box .form_box dd input + input {
	display: block;
	margin: 10px 0;
}

#top .s12_bottom_box .submit_btn {
	margin-top: 60px;
}

#top .s12_bottom_box .submit_btn input {
  width: 780px;
  font-size: 1.429em;
  margin: 0 auto;
	cursor: pointer;
}

#top .s12_bottom_box .re_btn {
	width: 100px;
	margin: 30px auto 0;
}

#top .s12_bottom_box .re_btn input {
	display: block;
	width: 100%;
	background-color: #ccc;
  padding: 15px 0;
	transition: ease all .7s;
	cursor: pointer;
}

#top .s12_bottom_box .re_btn input:hover {
	opacity: .7;
}

} /* @media print,screen and (min-width: 1001px) */



/* SP */
@media screen and (max-width: 1000px) {
/*********************
* main structure
*********************/

.caption {
	letter-spacing: 0;
}

/*********************
* トップページ
*********************/

#top .s1 h2 {
  position: relative;
  width: 100vw;
  left: -5vw;
  font-size: 2.462em;
  font-weight: 700;
  color: #dc000c;
  letter-spacing: .1em;
}

#top .s2 .s2_box1 {
	width: 100%;
	margin-bottom: 0;
}

#top .s2 .s2_box1 h2 {
	font-size: 1.692em;
	margin-bottom: 5vw;
}

#top .s2 .s2_box1 .list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr 1fr;
  grid-auto-columns: 1fr 1fr;
  grid-auto-rows: 1fr 1fr 1fr;
  gap: 10px 10px;
  grid-auto-flow: row;
  grid-template-areas:
    "item1 item2"
    "item3 item4"
    "item5 item5";
}

#top .s2 .s2_box1 .list li {
	padding: 5vw 3vw;
}

#top .s2 .s2_box1 .list li.item1 {
	position: relative;
	top: 10vw;
}
#top .s2 .s2_box1 .list li.item2 {
  top: auto;
}
#top .s2 .s2_box1 .list li.item3 {
	position: relative;
	top: 10vw;
}
#top .s2 .s2_box1 .list li.item4 {
  top: auto;
}
#top .s2 .s2_box1 .list li.item5 {
  top: auto;
  height: auto;
  margin-top: 10vw;
  padding-top: 13vw;
}

#top .s2 .s2_box1 .list li:not(:last-of-type) img {
  transform: scale(.8);
}

#top .s2 .s2_box1 .list li.item5 img {
  position: absolute;
  top: -5vw;
  right: 5vw;
  width: 28.125vw;
}

#top .s2 .s2_box1 .list li p {
  font-size: 1em;
  font-weight: 700;
  line-height: 1.3;
  margin-top: 1vw;
}

#top .s2 .s2_box1 .list li.item5 p:first-of-type {
  text-align: left;
  margin: -5vw 0 5vw;
}

#top .s2 .s2_box1 .list li p:first-of-type strong {
	font-size: 1.154em;
  font-weight: inherit;
}

#top .s2 .s2_box1 .list li p:last-of-type {
  width: 60%;
  text-align: left;
}
#top .s2 .s2_box1 .list li.item5 p:last-of-type {
  width: 75%;
}

#top .s3 h2 {
  white-space: nowrap;
}

#top .s3 .text_type .item h3 {
  font-weight: 700;
}

#top .s3 .types .slick-slide {
  height: 110px;
}

#top .s8_box2 h3 {
  font-size: 1.231em;
  line-height: 1.3;
  margin-bottom: 3vw;
}
#top .s8_box2 .s8_list + h3 {
  margin-top: 7vw;
}
#top .s8_box2 h3:first-of-type {
  width: 50%;
}

#top .s8_box2 h3 + .s8_list {
  border-top: 1px dashed rgba(0, 0, 0, .4);
  padding-top: 3vw;
}

#top .s8_list dd div p + img {
  margin: 5px 0;
}

#top .s8_list dd div ul {
  margin: 3vw 0;
}

#top .s8_list dd div ul li {
  text-indent: -1em;
  padding-left: 1em;
}

#top .s8_list dd div ul li::before {
  content: "・";
}

#top .s9 .contents_inner {
  background-image: url(../images/english/img01_sp.jpg);
  background-position: center top;
  background-size: 97vw auto;
}

#top .s9 .caption {
  margin-bottom: 85vw;
}

#top .s9_box .item .text h3 {
  font-weight: 700;
  letter-spacing: 0;
}

#top .s9_box .item .text .btns {
  display: flex;
  justify-content: space-between;
}

#top .s9_box .item .text .btns li {
  display: flex;
  width: 40%;
}
#top .s9_box .item .text .btns li:first-child {
  width: 58%;
}
#top .s9_box .item .text .btns li + li {
  margin-top: 0;
}

#top .s9_box .item .text .btns li .btn1 {
  font-size: 1em;
  letter-spacing: 0;
  background-image: none;
  padding-left: 5vw;
  padding-right: 5vw;
}
#top .s9_box .item .text .btns li:first-child .btn1 {
  background-color: #49c2d0;
}
#top .s9_box .item.maebashi .text .btns li:last-child .btn1 {
  background-color: #425744;
}

#top .s9_box .item .text .btns li:last-child a {
  display: flex;
  align-items: center;
}

#top .s9_box > p {
  font-size: 1.077em;
  text-align: center;
  margin-top: 10vw;
}

#top .s10 {
  margin-bottom: 15vw;
  padding: 10vw 0;
  position: relative;
}

#top .s10::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
	width: 96.25vw;
	height: 100%;
	background-color: #76dcad;
	border-radius: 20px;
}

#top .s10 .contents_inner {
  padding-left: 7vw;
  padding-right: 7vw;
}

#top .s10 .caption {
  margin-bottom: 10vw;
}

#top .s10_box .item {
  width: 100%;
}

#top .s10_box .item + .item {
  margin-top: 7vw;
}

#top .s10_box .item .img {
  width: 78.125vw;
}

#top .s10_box .item .text {
  width: 80.625vw;
  background-color: #fff;
  border-radius: 20px;
  margin: -5vw 0 0 auto;
  padding: 3.5vw;
  position: relative;
}

#top .s10_box .item .text h3 {
  font-size: 1.231em;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 0;
}

#top .s10_box .item .text h4 {
  font-size: .923em;
	color: #43bf86;
  line-height: 1.3;
  margin-bottom: 2vw;
}

#top .s10_box .item .text dl {
  display: flex;
  border: 1px solid #425744;
  margin-bottom: 1.5vw;
}

#top .s10_box .item .text dl dt {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  color: #fff;
  font-weight: 700;
  background-color: #425744;
  padding: 0 10px;
}

#top .s10_box .item .text dl dd {
  padding: 5px 10px;
}

#top .s10_box .item .text p:first-of-type {
  position: relative;
}

#top .s10_box .item .text p:first-of-type::after {
  content: "";
  position: absolute;
  bottom: -12px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: rgba(66, 87, 68, .5);
}

#top .s10_box .item .text p + p {
  font-size: .923em;
  margin-top: 1.5em;
}

#top .s11 {
  margin-bottom: 10vw;
}

#top .s11_box1 {
  width: 100%;
  position: relative;
}

#top .s11_box1 .caption {
  margin-bottom: 17vw;
}

#top .s11_box1 .img01 {
  position: absolute;
  top: -10vw;
  right: 5vw;
  width: 22.8125vw;
}

#top .s11_box2 {
  width: 100%;
}

#top .s11_list {
  border-bottom: 1px solid #ddd;
  padding-bottom: 5vw;
  margin-bottom: 5vw;
}

#top .s11_list dt {
  font-size: 1.231em;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 1vw;
}

#top .s12 {
  margin-bottom: 15vw;
}

#top .s12_top_box {
  padding: 10vw 10vw 8vw;
  position: relative;
}

#top .s12_top_box::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
	width: 96.25vw;
	height: 100%;
	background-color: #f8f8f8;
	border-radius: 20px;
}

#top .s12_top_box .caption {
  text-align: center;
  margin-bottom: 5vw;
}

#top .s12_top_box .caption .border {
  margin-left: auto;
  margin-right: auto;
}

#top .s12_top_box p {
  font-size: 1.154em;
}

#top .s12_top_box input {
  display: none;
}

#top .s12_top_box .btns {
  justify-content: space-between;
  margin-top: 5vw;
}

#top .s12_top_box .btns label {
  width: 49%;
  font-size: 1.077em;
  font-weight: 700;
  color: #fff;
  text-align: center;
  line-height: 1.3;
  background-color: #cad0cb;
  border-radius: 30px;
  margin-bottom: 2vw;
  padding: 3vw 0;
  cursor: pointer;
}

#hamanako:checked ~ .btns .shop1,
#maishima:checked ~ .btns .shop2,
#hanna:checked ~ .btns .shop3,
#toki:checked ~ .btns .shop4,
#maebashi:checked ~ .btns .shop5 {
	background-color: #425744;
}

#top .s12_bottom_box {
  display: none;
  margin-top: 13vw;
}

#top .s12_bottom_box h3 {
  font-size: 1.385em;
  font-weight: 700;
  text-align: center;
}

#top .s12_bottom_box .form_box {
	width: 90vw;
  margin: 5vw auto 0;
}

#top .s12_bottom_box .form_box dt {
	margin-bottom: 1vw;
}

#top .s12_bottom_box .form_box dd {
	margin-bottom: 5vw;
}

#top .s12_bottom_box .form_box dd input {
	width: 100%;
}

#top .s12_bottom_box .form_box dd input + input {
	display: block;
	margin: 1.5vw 0;
}

#top .s12_bottom_box .submit_btn {
	margin-top: 7vw;
}

#top .s12_bottom_box .submit_btn input {
  font-size: 1.077em;
  margin: 0 auto;
	cursor: pointer;
}

#top .s12_bottom_box .re_btn {
	width: 5em;
	margin: 7vw auto 0;
}

#top .s12_bottom_box .re_btn input {
	display: block;
	width: 100%;
	background-color: #ccc;
  border-radius: 5px;
	padding-top: 2vw;
	padding-bottom: 2vw;
	cursor: pointer;
}

} /* @media screen and (max-width: 1000px) */