@charset "UTF-8";
/* _reset.scssを読み込む */
/* Reset.css */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1.7;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
  -webkit-appearance: none !important;
}

/********************************************
基本の定義
********************************************/
/* テキストカラー*/
/* 配色定義 */
/* メインカラー */
/* ミックスカラー */
/* コンテンツ幅制限 */
/********************************************
ブレイクポイントの定義
********************************************/
/* 
--- サンプル ---
@include mq() {
	<ここに処理を記述>
}
--- 引数付き ---
//@include mq($breakpoint: bs) {
	<ここに処理を記述>
}
*/
/********************************************
CDN fontawesome.css
********************************************/
/*
数が多すぎるから省略。
*/
/********************************************
CDN animate.css
********************************************/
/*
アニメーションを付けたい場所にanimate__animatedクラスを追加。
あとは属性でアニメーションを指定する。
data-animate="animate__fadeInUp"

挙動はjQueryで制御してあるよ～(。-`ω-)
*/
/*******************************************/
/* ページ全体 */
body {
  font-family: "Noto Sans JP", sans-serif;
  font-family: "Noto Serif JP", serif;
  word-break: break-all;
  font-size: 15px;
  color: #161616;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  background: inherit;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; /* Safari */
  line-height: 2.2em;
}

@media (max-width: 768px) {
  body {
    line-height: 1.8em;
  }
}
input, select, button, textarea {
  font-family: inherit;
}

a:link, a:visited, a:hover {
  transition: color 0.3s ease;
  color: inherit;
}

a:hover {
  color: rgb(138.5, 138.5, 138.5);
}

img {
  vertical-align: top;
  pointer-events: none;
}

.img-fluid {
  max-width: 100%;
  height: auto;
}

b.st {
  color: rgb(0, 19, 37);
}

/* main contents */
main {
  display: block;
}

.container-fluid {
  max-width: 1024px;
  padding-top: 4rem;
  padding-bottom: 4rem;
  background: #fff;
}

h2 img {
  width: 100%;
}

h3 {
  background: linear-gradient(to right, rgba(180, 230, 250, 0.6) 0, rgba(241, 222, 255, 0.6) 25%, rgba(245, 189, 229, 0.6) 50%, rgba(241, 222, 255, 0.6) 75%, rgba(180, 230, 250, 0.6) 100%);
  font-weight: normal;
  font-style: normal;
  font-size: 1.1em;
  padding: 0.5rem 1.1rem;
}

.contents {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

/* eyecatch */
#eyecatch {
  text-align: center;
  margin: 0 auto 3rem;
  max-width: 1920px;
}
#eyecatch img {
  max-width: 100%;
}

/* aside */
aside {
  display: block;
  margin-bottom: 8rem;
}
aside a {
  display: block;
}

/* intro */
dl.step {
  margin-top: 2rem;
}
dl.step dt {
  font-size: 1.3em;
  padding: 0.25rem 1rem;
  border-bottom: 1px solid #161616;
}
dl.step dd {
  margin-bottom: 1rem;
}
dl.step dd:last-of-type {
  margin-bottom: 0;
}
dl.step .step_dd {
  font-size: 1.5em;
}
dl.step .step_dd:after {
  content: ".";
  margin-right: 0.5rem;
}

.step_dd_box {
  display: flex;
  justify-content: center;
}
.step_dd_box span {
  outline: 1px solid #b4e6fa;
  outline-offset: -3px;
  background: rgba(180, 230, 250, 0.178);
  padding: 1.5rem;
}

.app-button {
  display: inline-block;
}

h4 {
  position: relative;
  color: #161616;
  font-weight: normal;
  letter-spacing: 0.2em;
  margin-top: 2rem;
  margin-bottom: 0rem;
  padding-left: 0.75rem;
  font-size: 1.3rem;
  z-index: 1;
}
h4:after {
  z-index: -1;
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  display: block;
  width: 100%;
  height: 9px;
  background-color: #cbf9ff;
}

h5 {
  font-size: 1.1em;
  font-weight: normal;
  letter-spacing: 0.1em;
  background: rgba(245, 189, 229, 0.6);
  display: inline-block;
  margin-top: 1rem;
  margin-bottom: 0.5rem;
  padding: 0.4rem 1.1rem;
}

.note {
  color: #444;
  font-size: 0.75em;
  display: inline-block;
  line-height: 1.2rem;
}

.note_red {
  color: #f01111;
}

table.spot {
  text-align: center;
  margin: 0 auto;
}
table.spot th, table.spot td {
  padding-top: 0.75rem;
  padding-left: 1rem;
  padding-right: 1rem;
  min-width: 300px;
}
table.spot th {
  border-bottom: 1px solid rgb(128, 128, 128);
}
table.spot td:nth-child(odd) {
  border-bottom: 1px solid rgba(203, 249, 255, 0.75);
  position: relative;
  padding-right: 2rem;
}
table.spot td:nth-child(odd):after {
  position: absolute;
  content: "▶";
  right: -0.5em;
  font-size: 0.5em;
}
table.spot td:nth-child(even) {
  border-bottom: 1px solid rgba(245, 189, 229, 0.45);
}

@media screen and (max-width: 768px) {
  table.spot {
    max-width: 100%;
    width: 100%;
  }
  table.spot tr:nth-child(1) {
    display: block;
    border-top: 1px solid rgba(128, 128, 128, 0.6);
    border-bottom: 1px solid rgba(128, 128, 128, 0.6);
    margin-bottom: 2rem;
  }
  table.spot th {
    border-bottom: 0;
  }
  table.spot th:nth-child(even) {
    margin-bottom: 1rem;
  }
  table.spot th, table.spot td {
    width: 100%;
    max-width: 100%;
    display: block;
  }
  table.spot td:nth-child(odd) {
    font-weight: bold;
    border-top: 1px solid rgba(203, 249, 255, 0.75);
    border-bottom: 0;
    padding-right: 1rem;
  }
  table.spot td:nth-child(odd):after {
    display: none;
  }
  table.spot td:nth-child(even) {
    padding-bottom: 1rem;
    margin-bottom: 2rem;
  }
}
.second_stamp {
  text-align: center;
  font-size: 1.75rem;
  margin-top: 3rem;
  font-weight: bold;
}

#intro .paid {
  font-size: 1.4em;
  color: #f01111;
  color: #6e3d94;
  font-weight: bold;
}
#intro dd.info_address span {
  display: block;
}

#notes .contents {
  overflow-y: scroll;
  overflow-x: hidden;
  height: 400px;
  box-shadow: inset 0em -0.9em 0.8em -18px;
}
#notes .contents::after {
  content: "";
  display: block;
  position: relative;
  z-index: 1000;
  height: 0.8em;
  background-color: #fff;
  /* scrollable に 0.2em のpaddingがついており、そのままだと左右に 0.2em ぶん隙間ができて影が見えてしまう。それを防ぐためのマイナスマージン。*/
  margin: 0 -0.2em;
}
#notes li {
  line-height: 1.5rem;
  margin-left: 1.05rem;
  list-style-position: outside;
  font-size: 0.8rem;
}
#notes li span {
  color: #f01111;
  font-weight: bold;
}

.text-box {
  border: 1px solid #161616;
  padding: 1rem;
  font-size: 0.75em;
  line-height: 1.2rem;
}

@media screen and (min-width: 768px) {
  .pc_none {
    display: none;
  }
}
/* フッター footer */
footer {
  display: block;
  width: 100%;
  font-size: 0.825em;
}
footer .set {
  background: rgba(180, 230, 250, 0.5);
  color: #161616;
  text-align: center;
  padding: 3rem;
}
footer .set p {
  display: inline-block;
  padding: 0.3rem 3rem;
  background: #fff;
  color: #161616;
  font-size: 1rem;
  margin-bottom: 2rem;
  border-radius: 0px;
  font-weight: bold;
  letter-spacing: 3px;
}
footer .sns-x, footer .sns-facebook, footer .sns-line {
  display: inline-block;
  width: 48px;
  height: 48px;
  background: #fff;
  border-radius: 50%;
}
footer .sns-x img, footer .sns-facebook img, footer .sns-line img {
  width: 32px;
  height: 100%;
}
@keyframes button_roll {
  0% {
    transform: rotate(0deg);
  }
  70% {
    transform: rotate(374deg);
  }
  80% {
    transform: rotate(360deg);
  }
  90% {
    transform: rotate(367deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes button_roll_out {
  0% {
    transform: rotate(360deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
footer .sns-x {
  background: #0F1419;
  margin-right: 1rem;
}
footer .sns-facebook {
  background: #4267B2;
}
footer .sns-line {
  background: #06C755;
  margin-left: 1rem;
}
footer img.footer-logo {
  max-width: 206px;
}
footer .copyright {
  margin-top: 0.3rem;
  margin-bottom: 0.3rem;
  text-align: center;
  font-size: 0.8em;
  opacity: 0.8;
}
footer .copyright span {
  display: block;
  margin: 0.5rem;
  line-height: normal;
}

/* 外部リンク */
a[href^=http]:not(.no-icon):after,
a[href^="//"]:not(.no-icon):after {
  margin: 0 0 0 8px;
  font-family: "Font Awesome 5 Free";
  content: "\f35d";
  font-weight: 900;
  font-size: 0.8em;
}

a[href^="https://www.test.com/"]:after {
  margin: inherit;
  font-family: inherit;
  content: "";
  font-weight: inherit;
}

/* 組みなおし･･･問題点多し！！ */
ol, ul {
  list-style-position: inside;
}

/* グッズ #item */
#item .st {
  color: #906ba3;
  font-weight: bold;
}
#item p.item_name, #item p.item_price {
  font-size: 0.8em;
  margin-top: 0.125rem;
}
#item p.item_name {
  line-height: normal;
}
#item p.item_price {
  line-height: normal;
}
#item p.item_price:after {
  transform: scale(0.85);
  display: inline-block;
  content: "(税込)";
}
#item ul.item_ul {
  margin-top: 2rem;
  font-weight: bold;
  list-style-position: inside;
}

/* お問い合わせ #contact */
#contact form {
  background: rgb(243.35, 243.35, 243.35);
  padding: 1.5rem;
}
#contact form div {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #fff;
}
#contact form div:first-of-type {
  padding-top: 0;
}
#contact form p {
  font-size: 0.85rem;
  margin-top: 0;
  margin-bottom: 0.5rem;
}
#contact label, #contact span.label {
  display: inline-block;
  margin-bottom: 0.5rem;
  font-weight: bold;
  position: relative;
}
#contact label + span, #contact span.label + span {
  transform: scale(0.7);
  display: inline-block;
  background: rgb(180, 230, 250);
  color: #161616;
  padding: 0.2rem 0.85rem;
  border-radius: 0px;
  margin-left: 0.2rem;
}
#contact span input {
  display: inline-block !important;
}
#contact input, #contact textarea {
  display: block;
  border: 2px solid rgb(185.1, 185.1, 185.1);
  transition: border 0.2s ease;
  font-size: 16px;
  padding: 0.45rem 0.65rem;
  outline: none;
}
#contact input:focus, #contact textarea:focus {
  border: 2px solid #ffc90a;
}
#contact input[type=text], #contact input[type=email], #contact textarea[type=text], #contact textarea[type=email] {
  width: 250px;
}
#contact input[type=tel], #contact input[type=password], #contact textarea[type=tel], #contact textarea[type=password] {
  width: 150px;
}
#contact input[type=radio], #contact textarea[type=radio] {
  position: relative;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #fff;
  vertical-align: -2px;
}
#contact input[type=radio]:checked:before, #contact textarea[type=radio]:checked:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #ffc90a;
  content: "";
}
#contact input[type=checkbox], #contact textarea[type=checkbox] {
  position: relative;
  border-radius: 50%;
  width: 2rem;
  height: 2rem;
  background: #fff;
  text-align: center;
  cursor: pointer;
  margin-left: 1rem;
  margin-right: 0.4rem;
}
#contact input[type=checkbox]:first-of-type, #contact textarea[type=checkbox]:first-of-type {
  margin-left: 0;
}
#contact input[type=checkbox]:before, #contact textarea[type=checkbox]:before {
  font-family: "FontAwesome";
  color: rgba(255, 255, 255, 0);
  transform: scale(0.5);
  transition: all 0.5s ease;
  display: inline-block;
  position: absolute;
  content: "";
  top: 8px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  content: "\f00c";
}
#contact input[type=checkbox]:checked, #contact textarea[type=checkbox]:checked {
  background: rgb(212.1, 192.9, 226.5);
}
#contact input[type=checkbox]:checked::before, #contact textarea[type=checkbox]:checked::before {
  color: #7030a0;
  animation: checkbox_in 0.25s ease;
  transform: scale(2.4);
}
#contact input[type=submit], #contact textarea[type=submit] {
  display: inline-block;
  width: 120px;
  cursor: pointer;
  border: none;
  margin-top: 1rem;
  background: rgb(180, 230, 250);
  color: #000;
  transition: background 0.2s ease;
}
#contact input[type=submit]:active, #contact textarea[type=submit]:active {
  background: #c3ebfb;
}
#contact input[type=reset], #contact textarea[type=reset] {
  display: inline-block;
  margin-left: 1rem;
  width: 120px;
  cursor: pointer;
  border: none;
  margin-top: 1rem;
  background: #aaa;
  color: #fff;
}
#contact textarea {
  width: 100%;
  height: 200px;
}

@keyframes checkbox_in {
  0% {
    transform: scale(0);
  }
  80% {
    transform: scale(3.1);
  }
  100% {
    transform: scale(2.4);
  }
}
/*
footer {
	font-size: .825em;
	background: #1b1daf;
	color: #fff;
	width: 100%;
	text-align: center;
	padding: 2.3rem 0 2rem;
	span.host {
		display: block;
		margin-bottom: 1.75rem;
	}
	.ann {
		display: inline-block;
		margin: 1.3rem auto 0;
		padding-left: 1rem;
		padding-right: 1rem;
		border: 1px solid #fff;
		border-radius: 10px;
		.ann_title {
			background: $main_color;
			padding: .5rem;
			display: inline-block;
			width: auto;
			font-size: 1.1em;
			letter-spacing: .2em;
			transform: translateY(-1.3rem - .2rem);
		}
		span {
			display: block;
			transform: translateY(-1.2rem);
		}
	}
	span.copyright {
		margin-top: 1.5rem;
		display: block;
	}
}

.sns {
	max-width: 400px;
	font-size: 1.1rem;
	margin: 0 auto 3rem;
	img {
		max-width: 160px;
		border-radius: 50%;
		display: block;
		margin: 0 auto 1rem;
	}
	span {
		&:first-of-type {
			margin-right: .5rem;
			font-size: .9em;
		}
		&:last-of-type {
			margin-left: .5rem;
			font-size: 1.05em;
			font-weight: bold;
			font-family: Century , serif;
			letter-spacing: .05em;
		}
		@media ( max-width:767px ){
			&.sns_ {
				display:block;
			}
		}
	}
	a {
		margin-top: 1.05rem;
		display: inline-block;
		padding: .9rem;
		width: 100%;
		max-width: 330px;
		background: #fff;
		color: $main_color;
		border-radius: 12px;
		font-weight: bold;
		transition: opacity .3s ease;
		padding-right: 26px;
		&:hover {
			opacity: .65;
		}
		&:after {
			content: "";
			display: inline-block;
			width: 15px;
			height: 15px;
			border-bottom: 4px solid $main_color;
			border-right: 4px solid $main_color;
			transform: rotate(-45deg) translate(5px, 6px);
		}
	}
	.x-sns {
		font-family: Century , serif;
	}
}
*/
.test1 {
  display: none;
}

/* 追加分 */
.bold {
  font-weight: bold;
  font-size: 1.1rem;
}

#intro a img {
  height: 50px;
}

/*
.coop {
	display: inline-block;
	justify-content: center;
	span {
		width: auto;
		display: inline-block !important;
	}
}*/
.coop {
  display: flex;
  width: 350px;
  height: 84px;
  justify-content: center;
  align-items: center;
  margin: auto;
}
.coop span {
  width: auto;
  text-align: left;
}

.second_stamp {
  background-clip: text;
  color: transparent;
  background-image: linear-gradient(90deg, #fab37a 20%, #b78eee 35%, #6abcf2 50%, #6af280 65%, #f2716c 80%);
}

/* 注意 */
.ann {
  font-size: 0.85rem;
  margin-left: 1rem;
}

@media screen and (min-width: 768px) {
  .ann {
    margin-left: 2rem;
  }
}
.participate {
  list-style: none;
}
.participate span {
  font-size: 1rem;
  font-weight: bold;
  display: inline-block;
}

#main_banner {
  text-align: center;
}

#main_banner a {
  color: #fff;
  font-weight: bold;
  font-size: 1.3rem;
  background: #7030a0;
  border-radius: 12px;
  margin-bottom: 3rem;
  border: 1px solid #7030a0;
  padding: 1rem 2.5rem;
  display: inline-block;
  transition: opacity 0.2s ease;
}
#main_banner a .br_none {
  display: none;
}
#main_banner a:hover {
  opacity: 0.5;
}
@media screen and (max-width: 767px) {
  #main_banner a {
    font-size: 1.05rem;
    padding: 1rem 0.25rem;
    display: block;
  }
  #main_banner a .br_none {
    display: block;
  }
}

/* intro */
#intro222 h3 {
  background: rgb(180, 230, 250);
  color: #fff;
  padding: 1rem 1.5rem;
  border-radius: 20px;
}
#intro222 h4 {
  color: rgb(180, 230, 250);
}
#intro222 h4:before {
  background: rgb(180, 230, 250);
}
#intro222 span.st {
  color: rgb(180, 230, 250);
  font-weight: bold;
}
#intro222 dl {
  margin-top: 2rem;
}
#intro222 dt {
  background: rgb(180, 230, 250);
  padding: 0rem 2rem;
  border-radius: 15px;
  display: inline-block;
  color: #fff;
}
#intro222 dd span {
  position: relative;
  display: inline-block;
  text-align: center;
  color: #fff;
  width: 42px;
  height: 42px;
  margin-right: 0.75rem;
  margin-bottom: 0.3rem;
  z-index: 10;
}
#intro222 dd span:before {
  z-index: -1;
  content: "";
  position: absolute;
  display: block;
  background: rgb(180, 230, 250);
  border-radius: 50%;
  width: 42px;
  height: 42px;
  margin: auto;
}

/* about */
.about_logo {
  display: block;
  text-align: center;
}
.about_logo img {
  max-width: 480px;
  width: 100%;
  height: auto;
}

@media screen and (max-width: 560px) {
  .about_logo img {
    max-width: 330px;
  }
}
#about a {
  text-decoration: underline;
}

/* Goods */
#item .sh_name {
  font-weight: bold;
  font-size: 1.05em;
  display: block;
}
#item .map_button {
  display: inline-block;
  margin: 1.5rem auto 0;
  padding: 0.5rem 2rem;
  background-color: rgba(180, 230, 250, 0.5);
  border-radius: 45px;
  text-decoration: none;
}
#item .map_button:hover {
  background: #fff;
  border: 1px solid rgba(180, 230, 250, 0.5);
}

.item_list img {
  border-radius: 28px;
}
.item_list div {
  margin-bottom: 1rem;
}
.item_list div:last-of-type {
  margin-bottom: 0;
}

p.item_name span {
  padding-right: 0.5rem;
}

@media screen and (max-width: 767px) {
  p.item_name, p.item_price {
    font-size: 0.75rem;
  }
  .item_list {
    padding: 1rem 0rem;
  }
  p.item_name span {
    display: block;
    padding: 0;
  }
}
.old_item {
  font-size: 0.75em;
}

.panel {
  margin-top: 3rem;
}
.panel:before {
  content: "●";
  display: inline-block;
  font-size: 1.8rem;
}

/****************************/
.h4_border {
  padding-bottom: 0.125em;
  border-bottom: 2px solid #7030a0;
}

.second_q {
  display: block;
  margin-top: 3rem;
  text-align: center;
  font-size: 1.7em;
  color: #7030a0;
  font-weight: 400;
}

div.table-list {
  overflow-x: scroll;
  width: 100%;
}
div.table-list.not-center td {
  text-align: left !important;
}
div.table-list td.center {
  text-align: center !important;
}
div.table-list table {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
  width: 100%;
  border-collapse: collapse;
  white-space: nowrap;
}
div.table-list table th {
  text-align: center;
  background: #eee;
}
div.table-list table tr {
  border-top: 2px dotted #ccc;
  border-bottom: 2px dotted #ccc;
}
div.table-list table th, div.table-list table td {
  padding: 8px 12px;
  vertical-align: middle;
}
div.table-list table td:nth-of-type(5) {
  text-align: center;
}
div.table-list table td:nth-of-type(7) {
  text-align: center;
}
div.table-list table th:nth-of-type(8), div.table-list table td:nth-of-type(8) {
  text-align: center;
}
div.table-list table a {
  text-decoration: underline;
}

.item_memo {
  display: block;
  font-size: 0.75em;
}

@media (max-width: 767px) {
  h3 {
    font-size: 18px;
  }
  div.table-list table, div.table-list th, div.table-list td {
    font-size: 12px;
    font-size: 0.85rem;
  }
}
.note-box {
  background: #f01111;
  color: #fff;
  font-size: 0.9em;
  padding: 0.12rem 0.25rem;
  margin-left: 0.5rem;
  display: inline-block;
}

.coming_soon {
  text-align: center;
  font-weight: bold;
  background: rgba(0, 0, 0, 0.03);
}

h2.after_pre {
  border: 2px solid rgba(144, 107, 163, 0.8);
  font-size: 1.3em;
  text-align: center;
  padding: 0.5rem;
  color: #906ba3;
  border-radius: 25px;
}/*# sourceMappingURL=style.css.map */