@charset "utf-8";


/*全端末（PC・タブレット・スマホ）共通設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/

/*全体の設定
---------------------------------------------------------------------------*/
body {
	margin: 0px;
	padding: 0px;
	color: #666;	/*全体の文字色*/
	font-family: "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	/*フォント種類*/
	/* font-size: 16px; 2024/05/07 コメント化 */
	font-size: 15px;
	line-height: 2;		/*行間*/
	background: #fff;	/*背景色*/
	-webkit-text-size-adjust: none;
}
h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd,form,figure,form {margin: 0px;padding: 0px;font-size: 100%;font-weight: normal;}
ul {list-style-type: none;}
ol {padding-left: 40px;padding-bottom: 15px;}
img {border: none;max-width: 100%;height: auto;vertical-align: middle;}
table {border-collapse:collapse;font-size: 100%;border-spacing: 0;}
iframe {width: 100%;}
h1 {font-size:12px}

/*リンク（全般）設定
---------------------------------------------------------------------------*/
a {
	color: #666;		/*リンクテキストの色*/
	transition: 0.2s;	/*マウスオン時の移り変わるまでの時間設定。0.2秒。*/
}
a:hover {
	color: #52a2bd;			/*マウスオン時の文字色*/
	text-decoration: none;	/*マウスオン時に下線を消す設定。残したいならこの１行削除。*/
}

/*containerブロック
---------------------------------------------------------------------------*/
#container {
	max-width: 1500px;	/*サイトの最大幅*/
	margin: 0 auto;
}

/*ロゴ　＋　メインメニューのブロック
---------------------------------------------------------------------------*/
/*メニューブロック*/
#menubar {
	position: fixed;	/*ウィンドウに対して固定表示*/
	top: 0px;			/*上から0pxの場所に配置*/
	z-index: 20;
	width: 100%;
}
/*メニューブロック内にあるanimatemeブロック*/
#menubar .animateme {
	width: 100%;
	height: 70px;	/*高さ*/
	background: #52a2bd;	/*背景色（古いブラウザ用）*/
}
/*メニューブロック内にあるロゴ画像*/
#menubar h1 img {
	height: 70px;	/*ロゴ画像の高さ。下の「#menubar ul li」の「line-height」の数字と合わせる。*/
	float: left;	/*左に回り込み*/
	padding: 0 50px;	/*上下、左右への余白*/
}
/*メニュー１個あたりの設定*/
#menubar ul li {
	float: left;	/*左に回り込み*/
	line-height: 70px;	/*行間。上の「#menubar h1 img」の「height」の数字と合わせる。*/
	margin-left: 3%;	/*左側に空けるスペース。*/
}
#menubar ul li a {
	text-decoration: none;
	color: #FFF;	/*文字色*/
	padding-bottom: 5px;	/*マウスオン時の下線との間にとるスペース*/
}
/*メニューのマウスオン時*/
#menubar ul li a:hover {
	border-bottom: 3px solid #fff;	/*下線の幅、線種、色*/
}
/*スマホ用メニューを表示させない*/
#menubar-s {display: none;}
/*３本バーアイコンを表示させない*/
#menubar_hdr {display: none;}

/*ヘッダー
---------------------------------------------------------------------------*/
/*ロゴ画像（トップページのロゴ画像）*/
header #logo img {
	position: absolute;
	left: 41%;	/*左から41%の場所に配置*/
	top: 0px;	/*上から0pxの場所に配置*/
	width: 20%;	/*画像幅*/
	background: #52a2bd;	/*背景色*/
}

/*コンテンツ
---------------------------------------------------------------------------*/
#contents {
	overflow: hidden;
	position: relative;z-index:10;
	background: #fff;	/*背景色*/
	/* padding: 120px 5% 50px; 2024/05/08 変更 上、左右、下へのボックス内の余白 */
	padding: 120px 24% 50px;
}
/*トップページのコンテンツへの追加設定*/
#top #contents {
	padding-top: 0;	/*上の余白をゼロにする*/
}
/*h2見出し*/
#contents h2 {
	font-size: 40px;	/*文字サイズ*/
	margin-bottom: 30px;	/*下に空ける余白*/
	text-align: center;		/*文字をセンタリング*/
	letter-spacing: 0.2em;	/*文字間隔を広くとる設定*/
	color: #333;	/*文字色*/
}
/*h2見出しの１文字目*/
#contents h2::first-letter {
	font-size: 60px;	/*文字サイズ*/
	border: 1px solid #ccc;	/*枠線の幅、線種、色*/
	padding: 10px;			/*余白*/
	margin-right: 5px;		/*右側に空けるスペース*/
	letter-spacing: normal;	/*文字間隔を通常に*/
	text-shadow: 5px 5px rgba(0,0,0,0.1);	/*文字の影。右に、下に、0,0,0は黒の事で0.1は透明度10%の事。*/
}
/*h2見出し内のspanタグ*/
#contents h2 span {
	display: block;
	font-size: 14px;	/*文字サイズ*/
	margin-top: -10px;	/*少し上に詰める設定*/
}
/*h3見出し*/
#contents h3 {
	font-size: 24px;	/*文字サイズ*/
	color: #52a2bd;		/*文字色*/
	margin-bottom: 20px;	/*下に空ける余白*/
	letter-spacing: 0.1em;	/*文字間隔を広くとる設定*/
}
/*h4見出し*/
#contents .h4s {
  background: transparent;
  padding: .4em;
  margin: 0 0 1em;
  color: #666060;
  font-size: 16px;
  font-weight: bold;
  border-bottom: .125em solid #2196F3;
  text-align: left;
}
/*段落タグ*/
#contents p {
	margin-bottom: 20px;	/*下に空ける余白*/
}
#contents p {
	margin-bottom: 20px;	/*下に空ける余白*/
}
/*段落タグにh3見出しが続いた場合、段落タグにh2見出しが続いた場合の設定*/
#contents p + h3,#contents p + h2 {
	margin-top: 10px;	/*見出しの上に空ける余白*/
}
/*段落タグが続いた場合の設定*/
#contents p + p {
	margin-top: -5px;	/*続いた段落タグを少し上に詰める設定*/
}
section + section {
	padding-top: 100px;
}

/*menu_bg（メニューページの小見出し含めた各メニューブロック）
---------------------------------------------------------------------------*/
#contents .menu_bg {
	overflow: hidden;
	background: #fff;	/*背景色*/
	padding: 3%;		/*ボックス内の余白*/
	margin-bottom: 20px;	/*ボックスの下に空けるスペース*/
	border: 5px solid #eee;	/*枠線の幅、線種、色*/
}

/*box2（メニューページで使用）
---------------------------------------------------------------------------*/
/*各ボックスの設定*/
#contents .box2 {
	padding: 3%;	/*ボックス内の余白*/
}
/*ボックス内のh3タグ*/
#contents .box2 h3 {
	margin-bottom: 0;
	font-size: 16px;	/*文字サイズ*/
	font-weight: bold;	/*太字にする*/
	background: url(../images/bg_dotline.png) repeat-x center;	/*背景画像の読み込み。X軸(横軸)にリピート、上下中央に配置。*/
	color: #333;	/*文字色*/
}
/*ボックス内のh3タグの１文字目*/
#contents .box2 h3::before {
	content: "◇ ";	/*このテキストを冒頭に表示させる。変更してもらって構いませんが機種依存文字は化けるので使わないように。*/
	background: #fff;	/*背景色*/
}
/*ボックス内のh3タグ内のspanタグ*/
#contents .box2 h3 span {
	background: #fff;		/*背景色*/
	padding-right: 30px;	/*右側に空ける余白*/
}
/*ボックス内のh3タグ内のprice*/
#contents .box2 h3 .price {
	float: right;	/*右に回り込み*/
	padding-right: 0;	/*上で設定したspanタグの右の余白をリセット*/
	padding-left: 30px;	/*左側に空ける余白*/
	font-weight: normal;	/*太字から標準に戻す*/
}
/*ボックス内の段落タグ*/
#contents .box2 p {
	margin: 0;
	margin-left: 24px;	/*左に空けるスペース*/
	font-size: 12px;	/*文字サイズ*/
}
/*ボックス内のfigure画像*/
#contents .box2 figure {
	width: 100%;	/*幅*/
}

/*box1（トップページの「私たちのこだわり食材」以下の４つのブロック）
---------------------------------------------------------------------------*/
/*ボックス１個あたりの設定*/
.box1 {
	overflow: hidden;
	margin-bottom: 30px;
}
/*説明文*/
.box1 figcaption.w50 {
	width: 47%;
}
/*説明文内のstrongタグ*/
.box1 figcaption strong {
	display: block;
	font-weight: normal;
	font-size: 20px;	/*文字サイズ*/
	color: #52a2bd;		/*文字色*/
}

/* 2020/11/14 isa add start */
#contents ul {
  margin: 2px 10px 2px 0px !important; /* marginのサイズ指定順序 上右下左 */
  padding: 10px !important;
  color: #3E3E3E;
}
/* 2025.01.21 MOD[S]
#contents ul li:before {
  content: '● ';
  color: #5dccfa;
}*/
.supplement, .c_box ul li:before {
  content: '● ';
  color: #5dccfa;
}
/* 2025.01.21 MOD[E]*/
.c_box {
  padding: 1em 4%;
  margin: 1em 0 2em;
  border: 2px solid #dddddd;
  border-radius: 0.2em;
}
.c_box.intitle {
  padding-top: 10px;
  padding-bottom: 5px;
}
.green_box {
  background: #e0ffff;
  border-color: #5dccfa;
  color: #42613a;
}
.pink_box {
  background: #f9d4de;
  border-color: #e97495;
  color: #e97495;
}
/* ショートコードで吹き出しデザイン */
img.fr {float: right;margin-left: 2%;margin-bottom: 20px;}
img.fl {float: left;margin-right: 2%;margin-bottom: 20px;}
.w40p {width: 40%;}
figure {
  margin: 0;
}
.voice{
  margin:1em 0 1.3em;
  font-size:0.95em;
}
.cf ul li {
  zoom: 1;
}
.voice.l .icon{
  float:left;
  margin-left: 8px;
}
.voice.r .icon{
  float:right;
  margin-right: 8px;
}
.voice .icon{
  width:10%;
  text-align:center;
}
.voice .icon img{
  border-radius:50%;
  margin:0;
  box-shadow: 0 0 8px #ccc;
  border: 2px solid #fff;
}
.voice .icon .name{
  font-size: 0.65em;
  padding:0.4em 0;
}
.entry-content img {
  margin: 0 0 1.5em 0;
  max-width: 100%;
  height: auto;
}
.voice.l .voicecomment{
  float:right;
}
.voice.r .voicecomment{
  float:left;
}
.voice .voicecomment{
  border:3px solid #eee;
  background-color: #fff;
  color: #444444;
  padding: 2.5%;
  position:relative;
  width:80%;
  border-radius:5px;
}
.voice.l .voicecomment:before{
  content: '';
  position: absolute;
  border-right: 8px solid #eee;
  border-bottom: 8px solid transparent;
  border-top: 8px solid transparent;
  top: 10px;
  left: -11px;
}
.voice.l .voicecomment:after{
  content: '';
  position: absolute;
  border-right: 10px solid #fff;
  border-bottom: 8px solid transparent;
  border-top: 8px solid transparent;
  top: 10px;
  left: -7px;
}

.voice.r .voicecomment:before{
  content: '';
  position: absolute;
  border-left: 8px solid #eee;
  border-bottom: 8px solid transparent;
  border-top: 8px solid transparent;
  top: 10px;
  right: -11px;
}
.voice.r .voicecomment:after{
  content: '';
  position: absolute;
  border-left: 10px solid #fff;
  border-bottom: 8px solid transparent;
  border-top: 8px solid transparent;
  top: 10px;
  right: -7px;
}
/*info枠*/
.supplement{
	background:lightyellow;
	background:rgba(255,255,0,.2);
	font-size: .92em;
	color: #3E3E3E;
	padding:1em;
	margin: 1.5em 0 2em;
	-webkit-border-radius:4px;
	-moz-border-radius:4px;
	border-radius:4px;
	border: 1px solid rgba(237, 237, 237, 0.5);
}
/*2023.03.03 警告追加 t.isa [S]*/
.supplement_red{
	background:pink;
	background:rgba(255,0,45,0.18);
	font-size: .82em;
	color: #3E3E3E;
	padding:1em;
	margin: 1.5em 0 2em;
	-webkit-border-radius:4px;
	-moz-border-radius:4px;
	border-radius:4px;
	border: 1px solid rgba(237, 237, 237, 0.5);
}
/*2023.03.03 警告追加 t.isa [E]*/
/* ブログカード*/
.ad_partition {
    clear: both;
    margin: 1em 0 1em;
    border: 2px solid #dddddd;
    overflow: hidden;
}
.ad_partition:hover {
    background-color: #d1feff;
}
.ad_partition > a {
    padding: 10px 1%;
    display: inline-block;
    vertical-align: top;
}
.ad_partition > a > img {
    float: left;
    max-width: 22%;
    max-height: 150px;
}
.ad_partition > a > div {
    float: left;
    max-width: 74%;
}
.ad_partition > a > div > p {
    font-weight: bold;
}
.ad_partition > a > div > p::before {
    content: '記事';
    color: #FFFFFF;
    background-color: #222222;
    font-size: 0.7em;
    padding: 0.2em 0.5em;
}
.ad_partition > a > div > span {
    padding-left: 15px;
}
/* 2020/11/14 isa add end */

/* 
 *
 *
/* *************************************************************************

top-slider  * 追加 css * 2024.05.08 *

****************************************************************************/
.top-slider {
	max-width: 780px;
	padding: 0 15px;
	margin: 0 auto;
	position: relative;
}
@media screen and (max-width: 480px) {
	.top-slider {
		padding: 0 10px;
	}
}

.top-slider__item {
	border: 1px solid #ccc;
	box-shadow: 3px 4px 2px rgba(0,0,0,0.1);
	padding: 5% 5% 8%;
	border-radius: 3px;
	background: #fff;
	height: 100%;
	position: relative;
	overflow: hidden;
}
@media screen and (max-width: 480px) {
	.top-slider__item {
		max-width: 300px;
		margin: 0 auto;
	}
}

.top-slider__body {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.top-slider__flex {
	display: flex;
	align-items: center;
	gap: 0 10px;
	font-weight: bold;
	margin-bottom: 5px;
}
@media screen and (max-width: 480px) {
	.top-slider__flex {
		margin-bottom: 15px;
	}
}

.top-slider__time {
	/* font-size: 14px; */
	font-size: min(14px, 1.1vw);
	color: #fff;
	padding: 6px;
	background: #1e90ff;
	line-height: 1;
}
@media screen and (max-width: 480px) {
	.top-slider__time {
		font-size: 14px;
	}
}

.top-slider__ttl {
	font-size: min(18px, 1.8vw);
	color: #1e90ff;
	text-align: center;	
	height: 2em;
	overflow: hidden;
	border-bottom: 2px solid #1e90ff;
	margin: 5px auto;
	width: 100%;
}
@media screen and (max-width: 480px) {
	.top-slider__ttl {
		font-size: 18px;
		height: auto;
    padding: 5px 0;
    margin-bottom: 15px;
	}
}

.top-slider__time span {
	font-size: 14px;
	display: inline-block;
}

.top-slider__price {
	/* font-size: 18px; */
	font-size: min(18px, 1.3vw);
}
@media screen and (max-width: 480px) {
	.top-slider__price {
		font-size: 18px;
	}
}

.top-slider__price small {
	font-size: 11px;
}

.top-slider__txt {
	font-size: min(14px, 1vw);
	line-height: 1.5;
	color: #333;
	padding: 0!important;
}
@media screen and (max-width: 480px) {
	.top-slider__txt {
		font-size: 14px;
		height: auto;
	}
}

.top-slider__btn {
	display: inline-block;
	font-size: 14px;
	font-weight: bold;
	color: #fff;
	background: #1e90ff;
	border-radius: 20px;
	padding: 0;
	width: 80px;
	margin: 20px auto 0;
	text-align: center;
	text-decoration: none;
}
@media screen and (max-width: 480px) {
	.top-slider__btn {
		padding: 5px;
		margin: 25px auto 0;
	}
}

.top-slider__btn:hover {
	color: #fff;
	opacity: .8;
}


/*
 *  swiper カスタム
 *============================================================= */
 .swiper-container {
	padding-bottom: 60px!important;
}

.swiper-wrapper {
	align-items: stretch!important;
}

.swiper-slide {
	display: flex!important;
	flex-direction: column!important;
	height: auto!important;
}

.swiper-pagination {
	bottom: 20px!important
}

.swiper-pagination-bullet-active {
	background: #1e90ff!important;
}

.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
	margin: 0 8px!important;
}

.swiper-button-next, .swiper-button-prev {
	display: inline-block;
  transform: rotate(45deg);
	background-image: none!important;
	width: 10px!important;
	height: 10px!important;
	margin-top: -50px!important;
}

.swiper-button-next  {
	right: 0!important;
	border-top: 2px solid #1e90ff;
  border-right: 2px solid #1e90ff;
}

.swiper-button-prev {
	left: 0!important;
  border-left: 2px solid #1e90ff;
  border-bottom: 2px solid #1e90ff;
}
/* top-slider  * 追加 css * 2024.05.08 end */

/* 2024.05.16 isa add start */
.delivery-area {
  width: 98%;
  margin: 2px 2px 10px;
  background-color: #ffffff;
  border: 3px solid #eee;
  display: flex;
}
@media screen and (max-width: 480px) {
	.delivery-area {
		display: block;
	}
}
.delivery-map {
  margin: 15px;
  width: 60%;
}
@media screen and (max-width: 480px) {
	.delivery-map {
		width: 96%;
		margin: 5px;
	}
}
.delivery-price {
  width: 40%
}
@media screen and (max-width: 480px) {
	.delivery-price {
		width: 96%;
		margin: 5px;
	}
}
.heading_price_free {
	display: inline-block;
	font-size: 16px;
	font-weight: bold;
	color: #fff;
	border-radius: 20px;
	padding: 0px !important;
	width: 90%;
	margin: 15px auto 0;
	text-align: center;
	text-decoration: none;
	margin-bottom: 2px !important;
}
@media screen and (max-width: 480px) {
	.heading_price_free {
		width: 100%;
		padding: 5px;
		margin: 25px auto 0;
	}
}
.area_color_free {
	background: #f56270;  
}
.area_color_1000 {
	background: #0071a9;  
}
.area_color_2000 {
	background: #85bf3f;  
}
.area_color_3000 {
	background: #ff931e;  
}
.area_color_4000 {
	background: #ff0000;  
}
.area-font {
  font-size: 14px;
  padding: 0px !important;
  margin: 5px !important;
}
/* 2024.05.16 isa add end */

/* 2024.05.12 isa add start */
.store-list {
  position: relative;
  overflow: hidden;
  float: left;
  width: 47%;
  height: 350px;
  margin: 2px;
  background-color: #ffffff;
  border: 2px solid #eee;
  /*border: 2px solid #e97495;*/
}

@media screen and (max-width: 480px) {
  .store-list {
    float: none;
    width: auto;
    height: 300px;
  }
}

.store-top {
   display: flex;
}
.store-image {
  width: 60%;
  margin: 3px;
}

.store-image img {
  max-width: 100%;
}
.store-side {
  width: 40%;
  margin: 1px;
}
.store-memo {
  width: 100%;
  margin: 3px;
}

.store-list h4 {
  margin: 2px 3px;
  font-size: 15px;
  padding: 3px;
  color: #52a2bd;	/*文字色*/
  border-bottom: 2px solid #52a2bd;
}
.address {
  font-size: 11px !important;
  padding: 0px !important;
}
.store-font {
  font-size: 14px;
  padding: 0px !important;
}
.store-web-button {
  border-radius: 6px;
  /* background-color: rgb(76, 175, 80); */
  background-color: #52a2bd;
  color: #fff;
  font-size: 13px;
  display: inline-block;
  padding: 2px;
  margin: 2px !important;
  cursor: pointer;
  box-shadow: 1px 1px 3px 0 rgba(0,0,0,.2);
  text-decoration: none; /* リンクの下線を消す */
}
/* 2024.05.12 isa add end */

/* 2024.06.07 t.isa add [S] */
/* ギャラリー用 */
.c-grid {
  display: grid;
  /*grid-template-columns: repeat(3, 230px);*/
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 5px 5px;
}

.c-grid__item {
  /*width: 100%;*/
  width: 230px;
  height: 310px;
  background: #ffffff;
  border: 1px solid #ffffff;
  display: grid;
  justify-content: center;
  align-content: start;
}
/* 2024.06.07 t.isa add [E] */

/*フッター設定
---------------------------------------------------------------------------*/
footer {
	clear: both;
	padding: 50px 0 0;	/*上、左右、下へのボックス内の余白*/
	font-size: 85%;	/*文字サイズ*/
	background: #111;	/*背景色。古いブラウザ用*/
	background: #111 url(../images/footer_bg.jpg) no-repeat right top/50%;	/*背景色、背景画像の読み込み、リピートせず、右側、上側に50%幅で配置。*/
	border-top: 1px solid #222;	/*上の線の幅、線種、色*/
	color: #fff;	/*文字色*/
}
footer a {
	color: #fff;	/*文字色*/
}
footer .pr {display: block;font-size: 80%;}

/*フッター内のfacebookなどのアイコン設定
---------------------------------------------------------------------------*/
/*ブロック設定*/
#icon {
	text-align: center;	/*センタリング*/
}
/*アイコン画像１個あたりの設定*/
#icon img {
	width: 40px;	/*幅*/
	margin: 30px 10px;	/*上下、左右への余白*/
}

/*フッターメニュー
---------------------------------------------------------------------------*/
/*ボックス全体*/
#footermenu {
	overflow: hidden;
	padding: 0 3%;	/*上下、左右へのボックス内の余白*/
}
/*１行分の設定*/
#footermenu ul {
	float: left;	/*左に回り込み*/
	width: 18%;		/*幅。今回は５列作ったのでここの幅18%と下のpadding(合計の2%)でトータル20%になるよう設定。列に応じて調整して下さい。*/
	padding-right: 1%;
	padding-left: 1%;
}

/*コピーライト
---------------------------------------------------------------------------*/
#copyright {
	clear: both;
	text-align: center;
	background: #52a2bd;	/*背景色*/
}
#copyright a {text-decoration: none;}
#copyright a:hover {color: #666;}

/*トップページ内「更新情報・お知らせ」ブロック
---------------------------------------------------------------------------*/
/*見出しを含まないお知らせブロック*/
#new dl {
	border-top: 1px dashed #ccc;	/*上の幅、線種、色*/
}
/*日付設定*/
#new dt {
	float: left;
	width: 9em;		/*幅*/
	color: #52a2bd;	/*文字色*/
	letter-spacing: 0.1em;
}
/*記事設定*/
#new dd {
	padding-left: 9em;
	border-bottom: 1px dashed #ccc;	/*下線の幅、線種、色*/
}

/*テーブル（ta1）
---------------------------------------------------------------------------*/
/*ta1設定*/
.ta1 {
	width: 100%;
	margin: 0 auto 30px;
	border-bottom: 1px solid #ccc;	/*テーブルの枠線の幅、線種、色*/
}
.ta1 td, .ta1 th {
	border-top: 1px solid #ccc;	/*テーブルの枠線の幅、線種、色*/
	padding: 10px 15px;	/*ボックス内の余白*/
	word-break: break-all;
}
/*テーブル１行目に入った見出し部分*/
.ta1 th.tamidashi {
	width: auto;
	text-align: left;	/*左よせ*/
}
/*ta1の左側ボックス*/
.ta1 th {
	width: 140px;	/*幅*/
	text-align: left;	/*右寄せ*/
	background: #f3f3f3;	/*背景色*/
}
/*左側ボックスに画像を入れた場合の設定*/
.ta1 th img {
	width: 100%;
}

/*inputボタン
---------------------------------------------------------------------------*/
#contents input[type="submit"].btn,
#contents input[type="button"].btn,
#contents input[type="reset"].btn {
	padding: 5px 10px;		/*上下、左右へのボックス内の余白*/
	border: 1px solid #ccc;	/*枠線の幅、線種、色*/
	font-size: 20px;		/*文字サイズ*/
	border-radius: 3px;		/*角丸のサイズ*/
	background: #eee;		/*背景色*/
}
/*マウスオン時の設定*/
#contents input[type="submit"].btn:hover,
#contents input[type="button"].btn:hover,
#contents input[type="reset"].btn:hover {
	border: 1px solid #999;	/*枠線の幅、線種、色*/
	background: #fff;		/*背景色*/
}

/*トップページのNEWアイコン
---------------------------------------------------------------------------*/
.newicon {
	background: #F00;	/*背景色*/
	color: #FFF;		/*文字色*/
	font-size: 70%;		/*文字サイズ*/
	line-height: 1.5;
	padding: 2px 5px;
	border-radius: 2px;
	margin: 0px 5px;
	vertical-align: text-top;
}

/* 2020/05/10 t.isa add */
/*「人気」「NEW」マーク
---------------------------------------------------------------------------*/
/*mark1,matk2共通設定*/
.mark1, .mark2 {
	display: inline-block;position: absolute;
	left: 5px;			/*ボックス内の左から5pxの場所に配置*/
	top: 5px;			/*ボックス内の上から5pxの場所に配置*/
	width: 40px;		/*幅*/
	line-height: 40px;	/*高さ*/
	font-size: 9px;		/*文字サイズ*/
	text-align: center;	/*文字をセンタリング*/
	color: #fff;		/*文字色*/
	border-radius: 50%;	/*角丸のサイズ*/
	transform: rotate(-30deg);	/*左回転で30度傾ける設定*/
	box-shadow: 1px 2px 4px rgba(0,0,0,0.6);	/*ボックスの影。右へ、下へ、広げる幅、0,0,0は黒の事で0.6は60%色がついた状態。*/
}
/*mark1の背景色*/
.mark1 {background: #1e90ff;}
/*mark2の背景色*/
.mark2 {background: #249fdf;}
/* 2020/05/10 t.isa end */


/*その他
---------------------------------------------------------------------------*/
.look {background: #ccc;padding: 5px 10px;border-radius: 4px;}
.mb15,.mb1em {margin-bottom: 15px !important;}
.mb30 {margin-bottom: 30px !important;}
.mb50 {margin-bottom: 50px !important;}
.p0 {padding:0 !important;}
.clear {clear: both;}
ul.disc {padding: 0em 25px 15px;list-style: disc;}
.color1, .color1 a {color: #52a2bd !important;}
.pr {font-size: 10px;}
.wl {width: 96%;}
.ws {width: 50%;}
.c {text-align: center;}
.r {text-align: right;}
.l {text-align: left;}
.w50 {overflow: hidden;width: 50%;}
.w30 {overflow: hidden;width: 30%;}
.fl {float: left;}
.fr {float: right;}
.big1 {font-size: 20px;}
.mini1 {font-size: 11px;display: inline-block;line-height: 1.5;}
.sh {display: none;}
.bg1 {overflow: hidden;background: url(../images/bg1.png) no-repeat -20% -100px/30%,url(../images/bg1.png) no-repeat 130% 100px/50%, #fff !important;}
.bg2 {overflow: hidden;background: url(../images/bg2.png) !important;}

.video{
  position:relative;
  width:100%;
  padding-top:56.25%;
}
.video iframe{
  position:absolute;
  top:0;
  right:0;
  width:100%;
  height:100%;
}


/*
.vdo {
	width: 100%;
	height: 100%;
}
*/

/* footer-contact
--------------------------------------*/
footer .footer-contact{
min-height:100px;
background:#b2920b;
}
footer .footer-contact .logo{
float:left;
margin:0;
font-size:1rem;
}

.contents-layout01{
margin-right:auto;
margin-left:auto;
padding-right:10px;
padding-left:10px;
max-width:1192px;
}

/* 2020/01/04 t.isa add */

.btn-square-so-pop {
  position: relative;
  display: inline-block;
  padding: 0.25em 0.5em;
  text-decoration: none;
  color: #FFF;
  background: #fd9535;/*色*/
  border-radius: 4px;/*角の丸み*/
  box-shadow: inset 0 2px 0 rgba(255,255,255,0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
  font-weight: bold;
  border: solid 2px #d27d00;/*線色*/
}

.btn-square-so-pop:active {
  /*押したとき*/
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.30);
}

.btn-square-little-rich {
  position: relative;
  display: inline-block;
  padding: 0.25em 0.5em;
  text-decoration: none;
  color: #FFF;
  background: #52a2bd;/*色*/
  border: solid 1px #0f9ada;/*線色*/
  border-radius: 4px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.2);
  text-shadow: 0 1px 0 rgba(0,0,0,0.2);
}

.btn-square-little-rich:active {
  /*押したとき*/
  border: solid 1px #03A9F4;
  box-shadow: none;
  text-shadow: none;
}
/* 2020/01/04 t.isa end */

/* 2020/05/10 t.isa start */
.fl_org {
  float: left;
}
.fr_org {
  float: right;
}
.w50p {
  margin-left: 2%;
  margin-bottom: 20px;
  width: 50%;
}
.w40p {
  margin-left: 2%;
  margin-right: 3%;
  margin-bottom: 20px;
  width: 40%;
}
.w30p {
  margin-left: 2%;
  margin-right: 3%;
  margin-bottom: 20px;
  width: 30%;
}
.clr {
  clear: both;
}
/*施設用の各ブロック
---------------------------------------------------------------------------*/
/*各施設ボックスの設定*/
.list {
	position: relative;overflow: hidden;
	float: left;			/*左に回り込み*/
	font-size: 11px;		/*文字サイズ*/
	line-height: 1.5;		/*行間*/
	width: 22%;				/*ボックスの幅*/
	margin-left: 1.5%;		/*ボックスの左右間に空けるスペース*/
	margin-bottom: 20px;	/*ボックスの上下間に空けるスペース*/
}
.list a {
	text-decoration: none;display: block;overflow: hidden;
	padding: 5px;	/*ボックス内の余白*/
	height: 220px;	/*高さ*/
	border: 1px solid #0564c1;	/*枠線の幅、線種、色*/
	box-shadow: 0px 0px 50px #8dc4fa inset;	/*ボックスの影。右へ、下へ、広げる幅、色。insestは影を内側に向ける意味。*/
}
/*マウスオン時。内側の影を消す設定。*/
.list a:hover {
	box-shadow: none;
}
/*ボックス内のp(段落)タグ設定*/
.list p {
	padding: 0px !important;
}
/*ボックス内のh4タグ設定*/
.list h4 {
	padding: 0px;
	color: #0564c1;	/*文字色*/
}

/* 2020/11/01 t.isa add start */
.list .top_img {
  max-width: 70%;
}
/* 2020/11/01 t.isa add end */
.list img {
  max-width: 90%;
}
/* 2022/03/07 t.isa add start */
/*各施設ボックスの設定*/
.top_list {
	position: relative;overflow: hidden;
	float: left;			/*左に回り込み*/
	font-size: 14px;		/*文字サイズ*/
	line-height: 1.5;		/*行間*/
	width: 22%;				/*ボックスの幅*/
	margin-left: 1.5%;		/*ボックスの左右間に空けるスペース*/
	margin-bottom: 20px;	/*ボックスの上下間に空けるスペース*/
}
.top_list a {
	text-decoration: none;display: block;overflow: hidden;
	padding: 5px;	/*ボックス内の余白*/
	height: 260px;	/*高さ*/
	border: 1px solid #0564c1;	/*枠線の幅、線種、色*/
	box-shadow: 0px 0px 50px #8dc4fa inset;	/*ボックスの影。右へ、下へ、広げる幅、色。insestは影を内側に向ける意味。*/
}
/*マウスオン時。内側の影を消す設定。*/
.top_list a:hover {
	box-shadow: none;
}
/*ボックス内のp(段落)タグ設定*/
.top_list p {
	padding: 0px !important;
}
/*ボックス内のh4タグ設定*/
.top_list h4 {
	padding: 0px;
	color: #0564c1;	/*文字色*/
}
.top_list .top_img {
  max-width: 70%;
}
.top_list img {
  max-width: 90%;
}
/* 2022/03/07 t.isa add end */
.td_big {
	font-size: 16px !important;	/*文字サイズ*/
}
.td_big2 {
	font-size: 18px !important;	/*文字サイズ*/
}
/* 2020/05/10 t.isa end */

/* 2020/07/05 t.isa start */
/* OLリスト(●) */
ol.list-disc{
  list-style-type: disc
}
/* 禁止事項用OLリスト */
ol.list-deci{
  list-style-type: decimal
}
/* 2020/07/05 t.isa end */

/* 2021/05/01 t.isa start */
.star5_rating{
  position: relative;
  z-index: 0;
  display: inline-block;
  white-space: nowrap;
  color: #CCCCCC; /* グレーカラー 自由に設定化 */
  /*font-size: 30px; フォントサイズ 自由に設定化 */
}

.star5_rating:before, .star5_rating:after{
  content: '★★★★★';
}

.star5_rating:after{
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  overflow: hidden;
  white-space: nowrap;
  color: #ffcf32; /* イエローカラー 自由に設定化 */
}

.star5_rating[data-rate="5"]:after{ width: 100%; } /* 星5 */
.star5_rating[data-rate="4.5"]:after{ width: 90%; } /* 星4.5 */
.star5_rating[data-rate="4"]:after{ width: 80%; } /* 星4 */
.star5_rating[data-rate="3.5"]:after{ width: 70%; } /* 星3.5 */
.star5_rating[data-rate="3"]:after{ width: 60%; } /* 星3 */
.star5_rating[data-rate="2.5"]:after{ width: 50%; } /* 星2.5 */
.star5_rating[data-rate="2"]:after{ width: 40%; } /* 星2 */
.star5_rating[data-rate="1.5"]:after{ width: 30%; } /* 星1.5 */
.star5_rating[data-rate="1"]:after{ width: 20%; } /* 星1 */
.star5_rating[data-rate="0.5"]:after{ width: 10%; } /* 星0.5 */
.star5_rating[data-rate="0"]:after{ width: 0%; } /* 星0 */

.ta2 {
  width: 100%;
  border-collapse: collapse;
}

.ta2 tr{
  border-bottom: solid 2px white;
}

.ta2 tr:last-child{
  border-bottom: none;
}

.ta2 th{
  position: relative;
  text-align: left;
  width: 30%;
  background-color: #52c2d0;
  color: white;
  text-align: center;
  padding: 10px 0;
}

.ta2 th:after{
  display: block;
  content: "";
  width: 0px;
  height: 0px;
  position: absolute;
  top:calc(50% - 10px);
  right:-10px;
  border-left: 10px solid #52c2d0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}

.ta2 td{
  width: 70%;
  text-align: center;
  background-color: #eee;
  padding: 10px 0;
}
td.isa{
  width: 70%;
  text-align: left;
  background-color: #eee;
  padding: 0px 0px 0px 15px;
}
.marker_yellow {
  background: linear-gradient(transparent 60%, #ffff66 60%);
}
.has-vivid-red-color {
  color:#FF0000;
}
/* 2021/05/01 t.isa end */

/* 2021.08.12 t.isa add [S] */
/*********************************
* タイムライン
*********************************/
.timeline-box {
  margin-bottom: 20px;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 16px 5px;
  box-sizing: border-box;
}

.timeline-box *{
  box-sizing: border-box;
}

.timeline-box .timeline {
  list-style: none;
  padding: 0;
  margin: 0;
}

.timeline-title {
  font-weight: bold;
  font-size: 1.1em;
  text-align: center;
}

.timeline > li {
  margin-bottom: 60px;
}

.timeline > li.timeline-item {
  overflow: hidden;
  margin: 0;
  position: relative;
}

.timeline-item-label {
  width: 110px;
  float: left;
  padding-top: 18px;
  text-align: right;
  padding-right: 1em;
  font-size: 14px;
}

.timeline-item-title {
  font-weight: bold;
}

.timeline-item-content {
  width: calc(100% - 110px);
  float: left;
  padding: .8em 1.4em;
  border-left: 3px #e5e5d1 solid;
}

.timeline-item:before {
  content: '' !important;
  width: 12px;
  height: 12px;
  background: #6fc173;
  position: absolute;
  left: 105px;
  top: 24px;
  border-radius: 100%;
}

/* 2022/03/07 t.isa start */
/*各施設ボックスの設定*/
.top_list {
	float: none;
	width: auto;
	margin-left: 0;
}
.top_list a {
	height: auto !important;
}
.top_list figure {
	float: left;
	width: 20%;
	margin-right: 10px;
}
.top_list img {
  max-width: 100% !important;
}
/* 2022/03/07 t.isa end */

/* 2025.04.26 t.isa add [S] ゴルフ頁はヘッダ部のパディング値(上部)を調整 */
.golf_ext {
	padding: 10px 24% 50px !important;	/*スマホは左右の余白を狭く*/
}
/* 2025.04.26 t.isa add [E] */

/* for Smartphone */
@media screen and (max-width: 480px) {
  .timeline-box .timeline {
    padding-left: 10px;
  }

  .timeline > li.timeline-item {
    overflow: visible;
    border-left: 3px #e5e5d1 solid;
  }

  .timeline-item-label {
    width: auto;
    float: none;
    text-align: left;
    padding-left: 16px;
  }

  .timeline-item-content {
    width: auto;
    padding: 8px;
    float: none;
    border: none;
  }

  .timeline-item::before {
    left: -12px;
    top: 19px;
    width: 21px;
    height: 21px;
  }
}

.slider-li:before {
  content: '' !important;
}
.slick-dots li:before {
  content: '' !important;
}

/* 2021.08.12 t.isa add [E] */

/* listKindブロック 2021/08/14 t.isa add [S]  */
/*ブロック１個あたりの設定*/
.listKind {
	position: relative;
	overflow: hidden;
	width: 26.4%;	/*幅*/
	float: left;	/*左に回り込み*/
	margin: 0 0 20px 2%;	/*上、右、下、左へのボックスの外側に空けるスペース*/
	border: 1px solid #ccc;	/*枠線の幅、線種、色*/
	box-shadow: 3px 4px 2px rgba(0,0,0,0.1);	/*ボックスの影。右へ、下へ、ぼかし幅、色。0,0,0は黒の事で、0.1は色が10%出た状態。*/
	padding: 2%;	/*ボックス内の余白*/
	border-radius: 3px;	/*角丸のサイズ。ほんの少し角が丸くなってます。*/
	background: #fff;	/*背景色*/
}
.listKind a {
	text-decoration: none;display: block;overflow: hidden;
	margin: -2%;	/*ボックスのマージン。リンク設定する場合に、上の.listのpaddingを相殺するため。*/
	padding: 2%;	/*ボックス内の余白*/
	/* background: #fff url(../images/arrow1.png) no-repeat right bottom / 40px;	リンク設定した際の右下の矢印マークの読み込み。right（右）、bottom（下）、40pxは画像の幅。*/
}
/*マウスオン時の設定*/
.listKind a:hover {
	/*position: relative;*/
	left: 1px;	/*マウスオン時に右に1px移動する*/
	top: 1px;	/*マウスオン時に下に1px移動する*/
}
/*h4（見出し）タグの設定*/
.listKind h4 {
	color: #f56270;		/*文字色*/
	font-size: 120%;	/*文字サイズ*/
	text-align: center;	/*文字をセンタリング*/
	height: 2em;		/*高さ*/
	overflow: hidden;	/*高さを超えた場合に非表示にする*/
}
/*p（段落）タグの設定*/
.listKind p {
	padding: 0 !important;
	line-height: 1.5;	/*行間を少し狭くする。デフォルトは最上部のbodyにあります。*/
	font-size: 90%;		/*文字サイズを少し小さく*/
	color: #333;		/*文字色*/
	height: 6em;		/*高さ。1.5emを１行分とカウントして下さい。6emなら４行です。*/
	overflow: hidden;	/*高さを超えた場合に非表示にする*/
}
/* listKindブロック 2021/08/14 t.isa add [E]  */

/*-- 2023.04.11 t.isa [S]----------------------------------------------------------------------*/
/*キャストボックスの設定*/
.list_cast {
	position: relative;overflow: hidden;
	float: left;			/*左に回り込み*/
	font-size: 11px;		/*文字サイズ*/
	line-height: 1.5;		/*行間*/
	width: 22%;				/*ボックスの幅*/
	margin-left: 1.5%;		/*ボックスの左右間に空けるスペース*/
	margin-bottom: 20px;	/*ボックスの上下間に空けるスペース*/
}
.list_cast a {
	text-decoration: none;display: block;overflow: hidden;
	padding: 5px;	/*ボックス内の余白*/
	height: 410px;	/*高さ*/
	border: 1px solid #0564c1;	/*枠線の幅、線種、色*/
	box-shadow: 0px 0px 50px #8dc4fa inset;	/*ボックスの影。右へ、下へ、広げる幅、色。insestは影を内側に向ける意味。*/
}
/*マウスオン時。内側の影を消す設定。*/
.list_cast a:hover {
	box-shadow: none;
}
/*ボックス内のp(段落)タグ設定*/
.list_cast p {
	padding: 0px !important;
}
/*ボックス内のh4タグ設定*/
.list_cast h4 {
	padding: 0px;
	color: #0564c1;	/*文字色*/
}

.list_cast img {
  max-width: 90%;
}
/*-- 2023.04.11 t.isa [E]----------------------------------------------------------------------*/


/*画面幅800px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:800px){

/*メインメニュー
---------------------------------------------------------------------------*/
/*アニメーションのフレーム設定。全100コマアニメーションだと思って下さい。透明度(opacity)0%から透明度100%にする指定。*/
@keyframes menu1 {
0% {opacity: 0;}
100% {opacity: 1;}
}
/*ヘッダー
---------------------------------------------------------------------------*/
/*ロゴ画像（トップページのロゴ画像）*/
header #logo img {
	left: 5%;	/*左から5%の場所に配置*/
	width: 30%;	/*画像幅*/
}

/*メインメニュー
---------------------------------------------------------------------------*/
/*スマホ用メニューブロック*/
#menubar-s {
	display: block;overflow: hidden;
	position: absolute;
	top: 0px;
	z-index: 30;
	width: 100%;
	background: rgba(0,0,0,0.8);	/*背景色*/
	border-top: 1px solid #fff;		/*上の線の幅、線種、色*/
	animation-name: menu1;		/*上のkeyframesの名前*/
	animation-duration: 0.5S;	/*アニメーションの実行時間。0.5秒。*/
	animation-fill-mode: both;	/*アニメーションの完了後、最後のキーフレームを維持する*/
	margin-bottom: 30px;
}
/*メニュー１個あたりの設定*/
#menubar-s li a {
	display: block;text-decoration: none;
	padding: 15px 10px 15px 20px;	/*上、右、下、左へのメニュー内の余白*/
	border-bottom: 1px solid #fff;	/*下の線の幅、線種、色*/
	color: #fff;	/*文字色*/
	font-size: 20px;
}
/*PC用メニューを非表示にする*/
#menubar {display: none;}

/*３本バーアイコン設定
---------------------------------------------------------------------------*/
/*３本バーブロック*/
#menubar_hdr {
	display: block;
	z-index: 40;
	position: absolute;
	top: 1%;	/*上から20pxの場所に配置*/
	right: 1%;	/*右から3%の場所に配置*/
	border: 1px solid #fff;	/*枠線の幅、線種、色*/
}
/*アイコン共通設定*/
#menubar_hdr.close,
#menubar_hdr.open {
	width: 50px;	/*幅*/
	height: 50px;	/*高さ*/
}
/*三本バーアイコン*/
#menubar_hdr.close {
	background: #000 url(../images/icon_menu.png) no-repeat center top/50px;	/*背景色、背景画像の読み込み、画像の上半分（３本マーク）を表示。幅は50px。*/
}
/*閉じるアイコン*/
#menubar_hdr.open {
	background: #000 url(../images/icon_menu.png) no-repeat center bottom/50px;	/*背景色、背景画像の読み込み、画像の下半分（×マーク）を表示。幅は50px。*/
}

/*コンテンツ
---------------------------------------------------------------------------*/
#contents {
	padding-top: 50px;	/*上側のボックス内の余白*/
}
section + section {
	padding-top: 20px;
}

/*box1（トップページの「私たちのこだわり食材」以下の４つのブロック）
---------------------------------------------------------------------------*/
/*説明文*/
.box1 figcaption.w50 {
	width: auto;
}

/*その他
---------------------------------------------------------------------------*/
body.s-n #sub,body.s-n #footermenu,.m-n {display: none;}
.big1 {font-size: 24px;}
.w50 {overflow: hidden;width: auto;}
.fl {float: none;}
.fr {float: none;}

}


/* 2021/08/14 t.isa add start */
/*h4（見出し）タグの設定*/
.listKind h4 {
	font-size: 80%;	/*文字サイズ*/
}

/*p（段落）タグの設定*/
.listKind p {
	height: 9em;		/*高さ。1.5emを１行分とカウントして下さい。6emなら４行です。*/
}
/* 2021/08/14 t.isa add end */

/*画面幅480px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:480px){

/*全体の設定
---------------------------------------------------------------------------*/
body {
	/* font-size: 12px;  2024/05/07 ←コメント化 スマホでもPCと同じフォントサイズ */
	line-height: 1.5;	/*行間*/
}

/*コンテンツ
---------------------------------------------------------------------------*/
/* 2024/05/07 t.isa add [S] */
#contents {
	padding: 120px 3px 50px;	/*スマホは左右の余白を狭く*/
}
/* 2024/05/07 t.isa add [E] */

/* 2025.04.26 t.isa add [S] ゴルフ頁はヘッダ部のパディング値(上部)を調整 */
.golf_ext {
	padding: 10px 3px 50px !important;	/*スマホは左右の余白を狭く*/
}
/* 2025.04.26 t.isa add [E] */

#contents h2 {
	font-size: 22px;
	margin-bottom: 20px;
}
#contents h3 {
	font-size: 20px;
	margin-bottom: 20px;
}
/*h2見出しの１文字目*/
#contents h2::first-letter {
	border: none;padding: 0;margin: 0;text-shadow: none;
	font-size: 24px;	/*文字サイズ*/
	letter-spacing: 0.2em;
}
/*h2見出し内のspanタグ*/
#contents h2 span {
	font-size: 10px;
	margin-top: 0px;
}

/*フッターメニュー
---------------------------------------------------------------------------*/
/*ボックス全体*/
#footermenu {
	display: none;
}

/*テーブル（ta1）
---------------------------------------------------------------------------*/
/*ta1設定*/
.ta1, .ta1 td, .ta1 th {
	padding: 5px;	/*ボックス内の余白*/
}
/*ta1の左側ボックス*/
.ta1 th {
	width: 100px;
}

/* 2020/05/10 t.isa start */
/*施設用の各ブロック
---------------------------------------------------------------------------*/
/*各施設ボックスの設定*/
.list {
	float: none;
	width: auto;
	margin-left: 0;
}
.list a {
	height: auto !important;
}
.list figure {
	float: left;
	width: 20%;
	margin-right: 10px;
}
.list img {
  max-width: 100% !important;
}

/*「人気」「NEW」マーク
---------------------------------------------------------------------------*/
/*mark1,matk2共通設定*/
.mark1, .mark2 {
	left: -6px;
	transform: rotate(0deg);
	top: -8px;		/*ボックス内の上から-8pxの場所に配置*/
	/*right: -5px;	ボックス内の右から-5pxの場所に配置*/
}
/* 2020/05/10 t.isa end */

/*-- 2023.04.11 t.isa [S]----------------------------------------------------------------------*/
/*各施設ボックスの設定*/
.list_cast {
	float: none;
	width: auto;
	margin-left: 0;
}
.list_cast a {
	height: auto !important;
}
.list_cast figure {
	float: left;
	width: 20%;
	margin-right: 10px;
}
.list_cast img {
  max-width: 100% !important;
}
/*-- 2023.04.11 t.isa [E]----------------------------------------------------------------------*/

/*inputボタン
---------------------------------------------------------------------------*/
#contents input[type="submit"].btn,
#contents input[type="button"].btn,
#contents input[type="reset"].btn {
	font-size: 16px;		/*文字サイズ*/
}

/*その他
---------------------------------------------------------------------------*/
.ws,.wl {width: 94%;}
.big1 {font-size: 16px;}
.sh {display:block;}
.pc {display:none;}


}

/* 2024.08.26 t.isa add [S] */
/*　CTA
-----------------------------------------------------------*/
.cta {
	background: url(../images/cta_bg.jpg) no-repeat center/cover;
	aspect-ratio: 375/558;
	max-width: 375px;
	margin: 0 auto 30px;
	position: relative;
}

.cta__items {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px 0;
	position: absolute;
	bottom: 27px;
	left: 50%;
	transform: translateX(-50%);
}

.cta__btn {
	width: 320px;
}

/*　price
-----------------------------------------------------------*/
.price h2 {
	margin-bottom: 0!important;
}

.price__contents {
	/* background: url(../images/price_bg.jpg) no-repeat top/cover; */
	position: relative;
}
@media screen and (max-width: 600px) {
	.price__contents {
		/* background: url(../images/price_bg_sp.jpg) no-repeat top/cover; */
	}
}

.price__contents::after {
	content: "";
	width: 61%;
	min-width: 225px;
	height: 108vw;
	min-height: 324px;
	background: url(../images/price_balloon_sp.png) no-repeat center/cover;
	position: absolute;
	bottom: -18%;
	right: 0%;
	max-width: 320px;
	max-height: 488px;
	/* z-index: -1; */
	display: none;
}
@media screen and (max-width: 600px) {
	.price__contents::after {
		display: block;
	}
}
@media screen and (max-width: 410px) {
	.price__contents::after {
		display: none;
	}
}

.price__title {
	max-width: 350px;
	margin: 0 auto;
	border: none!important;
}

.price__items {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap                  : 10px 13px;
	padding: 0 15px 60px 15px;
	position: relative;
	z-index: 1;
}
@media screen and (max-width: 600px) {
	.price__items {
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
	}
}

.price__item {
	padding: 25px 15px 10px;
	background: #fff;
	border-radius: 8px;
	border: 2px solid #1e90ff;
	font-weight: bold;
	font-family: "Noto Sans JP", sans-serif;
	position: relative;
	box-shadow: 3.268px 5.032px 5.82px 0.18px rgba(151, 201, 251, 0.27);
	overflow: hidden;
}
@media screen and (max-width: 600px) {
	.price__item {
		padding-bottom: 15px;
	}
}

.price__item-btn {
	text-decoration: none;
	color: #fff;
	font-weight: 500;
	font-size: 16px;
	letter-spacing: 0.05em;
	padding: 6px 20px;
	background: linear-gradient( 136deg, rgba(30,144,255,0.99608) 0%, rgb(107,180,250) 100%);
	/* background: linear-gradient( 136deg, rgba(253,83,146,0.99608) 0%, rgb(248,111,100) 100%); */
	box-shadow: 0.314px 2.984px 7.76px 0.24px rgba(151, 201, 251, 0.46);
	border-radius: 3px;
	margin-bottom: 58px;
	display: inline-block;
	line-height: 1;
	position: relative;
	z-index: 1;
}
@media screen and (max-width: 900px) {
	.price__item-btn {
		top: 35px;
	}
}
@media screen and (max-width: 600px) {
	.price__item-btn {
		top: 0;
	}
}

.price__item-btn:hover {
	color: #fff;
}

.price__item-detail {
	position: relative;
	z-index: 2;
	font-weight: 900;
}

.price__item-title {
	/* font-size: 18px; */
	font-size: clamp(12px, 1.5vw, 18px);
	text-shadow: -2px -2px 0 #fff, 2px -2px 0 #fff, -2px 2px 0 #fff, 2px 2px 0 #fff;
	color: #3e3e3e;
	width: fit-content;
	line-height: 1;
	margin-bottom: 8px;
}
@media screen and (max-width: 600px) {
	.price__item-title {
		font-size: 18px;
	}
}

.price__item-tag {
	/* font-size: 16px; */
	font-size: clamp(11px, 1.4vw, 16px);
	color: #ffffff;
	padding: 5px 15px;
	background: #1e90ff;
	display: block;
	width: fit-content;
	border-radius: 20px;
	line-height: 1;
	margin-bottom: 6px;
}
@media screen and (max-width: 600px) {
	.price__item-tag {
		font-size: 16px;
		box-shadow: -2px -2px 0 #fff, 2px -2px 0 #fff, -2px 2px 0 #fff, 2px 2px 0 #fff;
	}
}

.price__item-price {
	color: #3e3e3e;
	font-size: 28px;
	padding: 0!important;
	line-height: 1;
	margin-bottom: 15px;
}
@media screen and (max-width: 600px) {
	.price__item-price {
		text-shadow: -2px -2px 0 #fff, 2px -2px 0 #fff, -2px 2px 0 #fff, 2px 2px 0 #fff;
	}
}

.price__item-price::after {
	content: "円";
	font-size: 16px;
	display: inline-block;
}

.price__item-text {
	/* font-size: 16px; */
	font-size: clamp(11px, 1.41vw, 16px);
	color: #967047;
	text-align: center;
	display: block;
	font-weight: 700;
	position: relative;
	z-index: 1;
	background: #fff;
}
@media screen and (max-width: 800px) {
	.price__item-text {
		font-size: clamp(15px, 2.2vw, 16px);
	}
}
@media screen and (max-width: 600px) {
	.price__item-text {
		font-size: clamp(14px, 3.2vw, 16px);
	}
}

.price__item-text::before {
	content: '';
	display: block;
	width:  100%;
	/* max-width: 198px; */
	height: 5px;
	margin: 0 auto 5px;
	background: url(../images/price_object.png) no-repeat center/100%;
}

.price__item-text::after {
	content: '';
	display: block;
	width:  100%;
	height: 10px;
	background: #fff;
	position: absolute;
	z-index: 3;
}
@media screen and (max-width: 600px) {
	.price__item-text::after {
		height: 20px;
		bottom: -18px;
	}
}

.price__item-img {
	max-width: 71px;
	position: absolute;
	top: 10px;
	right: 15px;
}
@media screen and (max-width: 600px) {
	.price__item-img {
		right: 5px;
	}
}

.price__item-img--w100 {
	max-width: 100px;
	right: 10px;
}
@media screen and (max-width: 600px) {
	.price__item-img--w100 {
		right: -5px;
	}
}

.price__item-img--w86 {
	max-width: 86px;
	right: 10px;
}
@media screen and (max-width: 600px) {
	.price__item-img--w86 {
		max-width: 88px;
		right: 0;
	}
}

.price__item-img--w63 {
	max-width: 63px;
}

/*option
-----------------------------------------------------------*/
.option {
	background: url(../images/option_bg.jpg) no-repeat top/cover;
	position: relative;
	padding: 60px 0 20px;
}
@media screen and (max-width: 600px) {
	.option {
		padding-top: 15vw;
	}
}
@media screen and (max-width: 480px) {
	.option {
		padding-top: 12vw;
	}
}

.option h2 {
	width: 100%;
	max-width: 390px;
	padding: 0;
	margin: 0 auto;
	background: none;
	border: none;
	/* position: relative;
	top: -15%; */
	position: absolute;
	left: 50%;
	top: -20%;
	transform: translateX(-50%);
}
@media screen and (max-width: 600px) {
	.option h2 {
		width: 95%;
		max-width: 100%;
		min-width: 350px;
		top: -16%;
	}
}

.option__items {
	display              : grid;
	grid-template-columns: repeat(2, 1fr);
	gap                  : 5px 16px;
	padding: 0 15px;
}
@media screen and (max-width: 600px) {
	.option__items {
		grid-template-columns: repeat(1, 1fr);
		gap                  : 5px 0;
	}
}

.option__item {
	/* display: flex;
	align-items: center;
	justify-content: center;
	gap: 0 15px; */
	background: #fff;
	border-radius: 15px;
	padding: 5px 10px 10px;
	/* box-shadow: 3.268px 5.032px 5.82px 0.18px rgba(234, 100, 176, 0.27); */
	/* aspect-ratio: 345 / 112; */
	background: url(../images/option_bg.png) no-repeat bottom/100% 120px;
	position: relative;
	overflow: hidden;
	font-family: "Noto Sans JP", sans-serif;
	height: 112px;
}

.option__item::before {
	content: "";
	/* width: 88px;
	height: 86px; */
	width: min(88px, 6.3vw);
   height: min(86px, 6.2vw);
	background: url(../images/option_object.png) no-repeat center/100%;
	position: absolute;
	top: 7px;
	left: 0;
}
@media screen and (max-width: 800px) {
	.option__item::before {
		width: 90px;
		height: 90px;
	}
}
@media screen and (max-width: 600px) {
	.option__item::before {
		width: min(90px, 20vw);
		height: min(90px, 21vw);
  }
}

.option__item-inner {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0 15px;
	padding-top: 10px;
}

.option__item h3 {
	border: none;
	border: none;
	padding: 0;
	margin: 0;
}

.option__title {
	width: 32%;
	max-width: 110px;
}

.option__detail {
	position: relative;
	z-index: 2;
	font-weight: 900;
}

.option__text {
	/* font-size: 18px; */
	font-size: clamp(12px, 1.5vw, 18px);
	color: #3e3e3e;
	width: fit-content;
	line-height: 1;
	margin-bottom: 8px;
	display: block;
}
@media screen and (max-width: 600px) {
	.option__text {
		font-size: 18px;
	}
}

.option__tag {
	/* font-size: 16px; */
	font-size: clamp(11px, 1.4vw, 16px);
	color: #ffffff;
	padding: 5px 0;
	background: #1e90ff;
	display: block;
	border-radius: 20px;
	line-height: 1;
	margin-bottom: 6px;
	width: 100%;
	max-width: 101px;
	text-align: center;
}
@media screen and (max-width: 600px) {
	.option__tag {
		font-size: 16px;
	}
}

.option__price {
	color: #3e3e3e;
	font-size: 28px;
	padding: 0!important;
	line-height: 1;
	margin-bottom: 10px;
}
@media screen and (max-width: 600px) {
	.option__price {
		text-shadow: -2px -2px 0 #fff, 2px -2px 0 #fff, -2px 2px 0 #fff, 2px 2px 0 #fff;
	}
}

.option__price::after {
	content: "円";
	font-size: 16px;
	display: inline-block;
}
.option__price02::after {
	content: "円～";
	font-size: 16px;
	display: inline-block;
}
/* 2024.08.26 t.isa add [E] */

/* 2024.10.20 isa add start */
.price_sim_frame {
	padding: 10px 15px 10px;
	width: 90%;
	background: #fff;
	border-radius: 8px;
	border: 2px solid #1e90ff;
	position: relative;
	box-shadow: 3.268px 5.032px 5.82px 0.18px rgba(234, 100, 176, 0.27);
	overflow: hidden;
	margin: 15px 10px;
}
@media screen and (max-width: 600px) {
	.price_sim_frame {
		padding-bottom: 15px;
		margin: 15px 2px;
	}
}

.price_sim_label {
	display: inline-block;
	font-size: 16px;
	font-weight: bold;
	color: #fff;
	border-radius: 20px;
	padding: 0px !important;
	width: 40%;
	margin: 15px auto 0;
	text-align: center;
	text-decoration: none;
}
@media screen and (max-width: 480px) {
	.price_sim_label {
		width: 30%;
		padding: 5px;
		margin: 25px auto 0;
	}
}
.price_sim_input {
	width: 50%;
	margin: 0px 0px 0px 15px;
}
.price_sim_btn {
	width: 90%;
  text-align: center;
	margin: 5px;
}
.price_col_color {
	background: #1e90ff;
}

/* 2024.10.20 isa add end */

/* 2025.01.21 isa add [S] */
@media screen and (max-width: 800px) {
	.top-full-width {
		margin-inline: -2%;
	}
}

.top-reason {
	max-width: 775px;
	margin-inline: auto;
	padding-top: min((2/780)*60vw, 2px);
	padding-bottom: min((19/780)*60vw, 19px);
	background: url("../images/top_reason-bg_pc.jpg") center top / cover no-repeat;
}
h2.top-reason__title {
	clear: initial;
	margin-bottom: 0;
	padding: 0;
	font-size: initial;
	background: none;
	color: initial;
	text-shadow: none;
	border: none;
	/*padding-left: min((76/780)*60vw, 76px);*/
	padding-left: 0px;
}
h2.top-reason__title img {
	width: min((426/780)*60vw, 426px);
}
#contents .top-reason__list {
	margin: 0;
	padding: 0 !important;
	max-width: calc(min((237/780)*60vw, 237px)*3 + min((9/780)*60vw, 9px)*2);
	margin-inline: auto;
	margin-top: min((-13/780)*60vw, -13px);
	display: flex;
	flex-wrap: wrap;
	gap: min((14/780)*60vw, 14px) min((9/780)*60vw, 9px);
}
.top-reason__item {
	width: min((237/780)*60vw, 237px);
	height: min((183/780)*60vw, 183px);
	padding: min((13/780)*60vw, 13px);
	border-radius: min((5/780)*60vw, 5px);
	box-shadow: 0 3px 5px rgba(116, 0, 57, 0.24);
	background: url("../images/top_reason-item_pc.png") center / contain no-repeat;
	box-sizing: border-box;
}
#contents ul li.top-reason__item:before {
	display: none;
}
.top-reason__item img {
	display: block;
	width: min((60/780)*60vw, 60px);
	height: min((60/780)*60vw, 60px);
	margin-inline: auto;
}
#contents .top-reason__item h3 {
	clear: initial;
	margin-bottom: 0px;
	padding: 0px;
	border: none;
	font-size: min((19/780)*60vw, 19px);
	font-weight: bold;
	text-align: center;
	line-height: 2.5;
	color: #8a003e;
	letter-spacing: 0px;	/*文字間隔を広くとる設定*/
}
#contents .top-reason__item h3::first-letter {
	border-left: none;
	padding-left: 0;
}
#contents .top-reason__item h3 + p {
	margin-top: min((8/780)*60vw, 8px);
	padding: 0;
	font-size: min((16/780)*60vw, 16px);
	font-weight: bold;
	line-height: calc(21/16);
	text-align: center;
	color: #000;
}
@media screen and (max-width: 800px) {
	.top-reason {
		max-width: 375px;
		margin-inline: auto;
		padding-bottom: min((15/375)*100vw, 15px);
		background-image: url("../images/top_reason-bg_sp.jpg");
	}
	h2.top-reason__title {
		padding-left: 0;
	}
	h2.top-reason__title img {
		width: min((268/375)*100vw, 268px);
	}
	#contents .top-reason__list {
		max-width: 100%;
		margin-top: min((-2/375)*100vw, -2px);
		display: block;
	}
	.top-reason__item {
		display: flex;
		align-items: center;
		width: min((344/375)*100vw, 344px);
		height: min((78/375)*100vw, 78px);
		padding: min((9/375)*100vw, 9px);
		margin-inline: auto;
		border-radius: min((5/780)*60vw, 5px);
		background-image: url("../images/top_reason-item_sp.png");
	}
	.top-reason__item + .top-reason__item {
		margin-top: min((8/375)*100vw, 8px);
	}
	#contents ul li.top-reason__item:before {
		display: none;
	}
	.top-reason__item-body {
		height: 100%;
		flex-shrink: 0;
	}
	.top-reason__item img {
		display: block;
		width: min((60/375)*100vw, 60px);
		height: min((60/375)*100vw, 60px);
		margin-inline: 0;
	}
	#contents .top-reason__item h3 {
		padding-left: min((7/375)*100vw, 7px);
		font-size: min((23/375)*100vw, 23px);
		text-align: left;
		line-height: 1.5;
	}
	#contents .top-reason__item h3 + p {
		margin-top: min((4/375)*100vw, 4px);
		padding-left: min((7/375)*100vw, 7px);
		font-size: min((15/375)*100vw, 15px);
		line-height: calc(25/15);
		text-align: left;
	}
}

.pc-hidden {
	display: none;
}
.sp-hidden {
	display: block;
}
@media screen and (max-width: 800px) {
	.pc-hidden {
		display: block;
	}
	.sp-hidden {
		display: none;
	}
}
/* 2025.01.21 isa add [E] */