/*
# Copyright (C) 2022 IBRAIN. All Rights Reserved. 
# 無断転載を禁じます。
*/


/* ----------------------------------------------------------------------------- *
 * 1.0　初期設定
 * ----------------------------------------------------------------------------- */

*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

html {
	/* 文字の大中小がある場合、bodyに設定したサイズが上書きされるため「html」に設定。 */
	font-size: 120%;
	color:#5e6e71;		/* ベースカラー */
}

body {
	margin: 0;
	padding: 0;
	/* フォント関係の処理の追加（※header で googleフォントの Kosugi 読み込んでいる） */
	font-family: 'Kosugi', sans-serif;
	/* ここまで */
}

header, main, aside, footer{
    display: block;
	margin: 0;
    padding: 0;
}

a {
	-webkit-transition: all 0.5s ease-out;  /* Saf3.2+, Chrome */
	-moz-transition: all 0.5s ease-out;  /* FF4+ */
	-ms-transition: all 0.5s ease-out;  /* IE10? */
	-o-transition: all 0.5s ease-out;  /* Opera 10.5+ */
	transition: all 0.5s ease-out;
}

a:link {
	color:#5d6e71;
	text-decoration: underline;
}
a:visited {
	color:#5d6e71;
	text-decoration: underline;
}
a:hover, a:active, a:focus {
	color:#993333;
	text-decoration: none;
}

a img{
	-webkit-transition: all 0.5s ease-out;  /* Saf3.2+, Chrome */
	-moz-transition: all 0.5s ease-out;  /* FF4+ */
	-ms-transition: all 0.5s ease-out;  /* IE10? */
	-o-transition: all 0.5s ease-out;  /* Opera 10.5+ */
	transition: all 0.5s ease-out;
}

h1{
	text-align: center;
	letter-spacing: 0.2em;
	font-size:190%;
	margin: 80px 0
}
h1 span{
	display: block;
	text-align: center;
	letter-spacing: 0;
	font-size: 65%;
	color: #ff3cbb;
}

h2{
	margin:0 0 3.4em 0;
	text-align:center;
	line-height: 2.4em;
	font-size:70%;
	font-weight: normal;
	letter-spacing: 0.1em;
	color: #5D6E71;
}
h2 > span{
	font-size:257%;
	font-weight: bold;
	letter-spacing: 0.15em;
	background:-webkit-linear-gradient(transparent 70%, #fcf1a1 70%);
	background:-o-linear-gradient(transparent 70%, #fcf1a1 70%);
	background:linear-gradient(transparent 70%, #fcf1a1 70%);
	padding: 0 0.2em 0.2em 0.3em;
}
h2 > span.linePink{
	background:-webkit-linear-gradient(transparent 70%, #ffe6e6 70%);
	background:-o-linear-gradient(transparent 70%, #ffe6e6 70%);
	background:linear-gradient(transparent 70%, #ffe6e6 70%);
}
h2 > span.lineOrange{
	background:-webkit-linear-gradient(transparent 70%, #ffdfc7 70%);
	background:-o-linear-gradient(transparent 70%, #ffdfc7 70%);
	background:linear-gradient(transparent 70%, #ffdfc7 70%);
}
h2 > span.lineGreen
{
	background:-webkit-linear-gradient(transparent 70%, #e2ecb3 70%);
	background:-o-linear-gradient(transparent 70%, #e2ecb3 70%);
	background:linear-gradient(transparent 70%, #e2ecb3 70%);
}
h2 > span.lineGray{
	background:-webkit-linear-gradient(transparent 70%, #e4eded 70%);
	background:-o-linear-gradient(transparent 70%, #e4eded 70%);
	background:linear-gradient(transparent 70%, #e4eded 70%);
}
h2.topCaption{
	font-size:170%;
	margin:0 0 1.4em 0;
	font-weight: bold;
	line-height: 1.6em;
}
h2.topCaption > span{
	font-size:120%;
	letter-spacing: 0.1em;
	background:-webkit-linear-gradient(transparent 70%, #fcf1a1 70%);
	background:-o-linear-gradient(transparent 70%, #fcf1a1 70%);
	background:linear-gradient(transparent 70%, #fcf1a1 70%);
	padding: 0 0 0.2em 0;
}

h3{
	font-size:120%;
	font-weight: bold;
	position:relative;
	margin:0 0 1em 0;
	text-align:center;
	line-height: 2.0em;
}
h3.linePink:before{
	content: "　　　　　";
	position: absolute;
	bottom:-10px;
	border-bottom:8px solid #ffe6e6;
	left: 50%;
    transform: translateX(-50%);
}
h3.lineGreen:before{
	content: "　　　　　";
	position: absolute;
	bottom:-10px;
	border-bottom:8px solid #e2ecb3;
	left: 50%;
    transform: translateX(-50%);
}
h4{
	font-size:156%;
	font-weight: bold;
	padding: 0 0 0.7em 0;
	margin:0 0 1em 0;
	text-align:center;
	border-bottom: 1px solid #9baab4;
}

p.lineGreen > span
{
	padding: 0 0.5em 0.1em;
	background:-webkit-linear-gradient(transparent 70%, #e2ecb3 70%);
	background:-o-linear-gradient(transparent 70%, #e2ecb3 70%);
	background:linear-gradient(transparent 70%, #e2ecb3 70%);
}

ul{
	font-size:100%;
}
ul li{
	font-size:100%;
}
ul li ul{
	font-size:100%;
}
ul li ul li{
	font-size:100%;
}
ul li ul li ul{
	font-size:100%;
}
ul li ul li ul li{
	font-size:100%;
}

/* ↓安易に設定するとレイアウト（アクセシビリティボタンなど）に影響（メイン内のみに効かせる）　 */
main ul,main ol{
	margin-bottom:20px;
}
main ul li,main ol li{
	line-height: 1.5em;
	margin-bottom: 10px;
}
main ol{
	margin-left:0;
}
main ol li{
	margin-left:0.5em;
	padding-left:0;
}
main img{
	max-width:100%;
	height:auto;
}
main p{
	margin:0 0 1.5em 0;
	line-height: 2.0em
}


/* ----------------------------------------------------------------------------- *
 * 2.0　共通利用パーツ
 * ----------------------------------------------------------------------------- */

/* ■ページ内リンク */
#pageTop{
	display: block;
	position: fixed;
	width:5.2em;
	bottom: 10.0em;
	right: 2.0em;
	z-index: 999999;
	text-align: center;
	font-size:80%;

	width:90px;
	height:90px;
}
#pageTop a {
	margin:  0 auto;
	display: block;
	position: relative;
/*	width: 5.2em;
	height: 5.2em;
	background-color: #FFFFFF;
	border:3px solid #d2e1e1;
	border-radius: 6.0em;
	text-align: center;
	color: #FFFFFF;
	text-decoration: none;
	line-height: 1.2em;
	padding-top:1.75em;*/

	width:90px;
	height:90px;
}
/*#pageTop a:before {
	position: absolute;
	content: ">>";
	left: 50%;
	top:0.4em;
    transform: translateX(-50%) rotate(-90deg);
}*/
#pageTop a:link, #pageTop a:visited {
/*	background-color: #FFFFFF;
	border:3px solid #d2e1e1;
	color: #9baab4;*/
	background: url("pagetop.svg");
}
#pageTop a:hover {
/*	background-color: #9baab4;
	border:3px solid #9baab4;
	color: #FFFFFF;*/
	background: url("pagetop_s.svg");
}

/* キラ エフェクト */
.shine span.mask, .shine span.maskL{
  position: relative;/*キラッの基点となる位置を定義*/
    display: inline-block;
    line-height: 0;/*行の高さを0にする*/
    overflow: hidden;/*拡大してはみ出る要素を隠す*/
}
.shine span.mask::before, .shine span.maskL::before {
  position: absolute;
  content:"";
  width: 50%;/*キラッの横幅*/
  height: 100%;/*キラッの縦幅*/
  top: 0;/*.shine span.maskのトップ0を基点*/
  left: -75%;/*画面の見えていない左から右へ移動するスタート地点*/
  background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
  transform: skewX(-25deg);/*背景白透過を斜めに*/
}
.shine span.mask:hover::before {/*hoverした時の変化*/
  animation: shine 0.3s;/*アニメーションの名前と速度を定義*/
}
.shine span.maskL:hover::before {/*hoverした時の変化*/
  animation: shine 0.7s;/*アニメーションの名前と速度を定義*/
}
@keyframes shine {
  100% {
    left: 125%;/*画面の見えていない左から右へ移動する終了地点*/
  }
}

/* ----------------------------------------------------------------------------- *
 * 3.0　基本レイアウト
 * ----------------------------------------------------------------------------- */

/* 画像が最大を超えて画面いっぱいに表示する際 */
.imageMax{
	max-width:none;
	width:100%;
	height:auto;
}

/* ファイルアイコンの自動表示 */
a:not(.noIcon)[href$=".pdf"]:after,
span.markPdf:after{
    content:" ";
    display: inline-block;
    width: 37px;
    height: 15px;
    background: url(libs/file_icon/iconPdf.gif) no-repeat center right;
	vertical-align: sub;
}
a:not(.noIcon)[href$=".doc"]:after {
    content:" ";
    display: inline-block;
    width: 37px;
    height: 15px;
    background: url(libs/file_icon/iconDoc.gif) no-repeat center right;
	vertical-align: sub;
}
a:not(.noIcon)[href$=".docx"]:after {
    content:" ";
    display: inline-block;
    width: 37px;
    height: 15px;
    background: url(libs/file_icon/iconDocx.gif) no-repeat center right;
	vertical-align: sub;
}
a:not(.noIcon)[href$=".xls"]:after {
    content:" ";
    display: inline-block;
    width: 37px;
    height: 15px;
    background: url(libs/file_icon/iconXls.gif) no-repeat center right;
	vertical-align: sub;
}
a:not(.noIcon)[href$=".xlsx"]:after {
    content:" ";
    display: inline-block;
    width: 37px;
    height: 15px;
    background: url(libs/file_icon/iconXlsx.gif) no-repeat center right;
	vertical-align: sub;
}
a:not(.noIcon)[href$=".csv"]:after {
    content:" ";
    display: inline-block;
    width: 37px;
    height: 15px;
    background: url(libs/file_icon/iconCsv.gif) no-repeat center right;
	vertical-align: sub;
}
a:not(.noIcon)[href$=".zip"]:after {
    content:" ";
    display: inline-block;
    width: 37px;
    height: 15px;
    background: url(libs/file_icon/iconZip.gif) no-repeat center right;
	vertical-align: sub;
}

/* ----------------------------------------------------------------------------- *
 * 4.0　ヘッダー
 * ----------------------------------------------------------------------------- */

header {
	width: 100%;
	margin: 0 auto;
	padding: 15px 0 30px 0;
}
.headerNest{
	width:95%;
	max-width:1390px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
	margin:0 auto;	
}
.headerNest > div{
	flex: auto;
}
.headerNest > div:first-child{
	font-size: 140%;
	line-height:1.2em;
	padding-right: 2%;
	color: #222222;
}
.headerNest > div:nth-child(2){
	width:378px;
}
.headerNest > div:last-child{
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: stretch;
	margin:0 auto;
	padding-left: 5%;
}
.headerNest > div:last-child ul > li{
	margin-bottom: 0.8em;
}
ul.headMenu01, ul.headMenu02{
	list-style: none;
	margin: 0;
	padding: 0;
	color: #5d6e71;
}
ul.headMenu01 li, ul.headMenu02 li{
	position: relative;
	padding-left: 1.5em;
}
ul.headMenu01 li:before, ul.headMenu02 li:before{
	position: absolute;
	content: "　";
	width: 1em;
	height: 1em;
	top: 0;
	left: 0;
}
ul.headMenu01 > li:nth-child(1):before{
	background: url("menu_mark01.svg") no-repeat;
	background-size: contain;
	
}
ul.headMenu01 > li:nth-child(2):before{
	background: url("menu_mark02.svg") no-repeat;
	background-size: contain;
	
}
ul.headMenu01 > li:nth-child(3):before{
	background: url("menu_mark03.svg") no-repeat;
	background-size: contain;
	
}
ul.headMenu02 > li:nth-child(1):before{
	background: url("menu_mark05.svg") no-repeat;
	background-size: contain;
	
}
ul.headMenu02 > li:nth-child(2):before{
	background: url("menu_mark04.svg") no-repeat;
	background-size: contain;
	
}
ul.headMenu02 > li:nth-child(3):before{
	background: url("menu_mark06.svg") no-repeat;
	background-size: contain;
	
}

ul.headMenu01 a:link, ul.headMenu02 a:link {
	color:#5d6e71;
	text-decoration: underline;
	text-decoration: none;
}
ul.headMenu01 a:visited, ul.headMenu02 a:link {
	color:#5d6e71;
	text-decoration: none;
}
ul.headMenu01 a:hover, ul.headMenu01 a:active, ul.headMenu01 a:focus,
ul.headMenu02 a:hover, ul.headMenu02 a:active, ul.headMenu02 a:focus {
	color:#993333;
	text-decoration: underline;
}

/*@media screen and (max-width:1100px) {
	.headerNest > div:last-child{
		width:100px;
		text-align:right;
	}
}
@media screen and (max-width:850px) {
	.headerNest > div:last-child{
		display: none;
	}
}*/

/*.headerMenu{
	width: 100%;
	max-width: 850px;
	
	font-size: 92%;

	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	align-items: stretch;
	margin:0 auto;
	padding: 1.4em 0 0.9em 0;
}

/* -----------------------------------
■スライダー（トップ）
----------------------------------- */

/* ◆スライダー◆ */
.slider {
	width: 100%;
}
#slider{
	/*height:750px;*/
}
.slider ul {
	list-style: none outside none;
	margin: 0;
	padding: 0;
}
.slider li {
	height: 100%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin: 0;
	padding: 0;

	width: 100%;
	height: auto;
}

/*.lSSlideOuter {
	position: relative;
}

.lSSlideOuter .lSPager.lSpg {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 10px;
	z-index: 990;
}

.lSSlideOuter .lSPager.lSpg > li a {
    background-color: rgba(0,0,0,0.3) !important;
	border: 2px solid #FFF;
    border-radius: 30px !important;
    height: 16px !important;
    width: 16px !important;
}
.lSSlideOuter .lSPager.lSpg > li:hover a, .lSSlideOuter .lSPager.lSpg > li.active a {
    background-color: #FFF !important;
}*/

/* -----------------------------------
■メイン画像
----------------------------------- */
/*.mainImage{
	position: relative;
	width: 100%;
	margin: 0 auto;
	text-align: center;
	height:293px;
	background: url("inmain.jpg") no-repeat center center;
	background-size: cover;
}
.conmain{
	position: relative;
	width: 100%;
	margin: 0 auto;
	text-align: center;
	height:293px;
	background: url("conmain.jpg") no-repeat center center;
	background-size: cover;
}
.promain{
	position: relative;
	width: 100%;
	margin: 0 auto;
	text-align: center;
	height:293px;
	background: url("promain.jpg") no-repeat center center;
	background-size: cover;
}
.casmain{
	position: relative;
	width: 100%;
	margin: 0 auto;
	text-align: center;
	height:293px;
	background: url("casmain.jpg") no-repeat center center;
	background-size: cover;
}
.usmain{
	position: relative;
	width: 100%;
	margin: 0 auto;
	text-align: center;
	height:293px;
	background: url("usmain.jpg") no-repeat left center;
	background-size: cover;
}
.mainImage > img, .conmain > img, .promain > img, .casmain > img, .usmain > img{
	width: 100%;
	height: auto;
}
.mainImage > div, .conmain > div, .promain > div, .casmain > div, .usmain > div{
	position:absolute;
	transform: translate(0,-50%);
	width:100%;
	left:0;
	top:50%;
	
	color: #FFFFFF;
	font-size: 130%;
}*/


/* ----------------------------------------------------------------------------- *
 * 5.0　フッター
 * ----------------------------------------------------------------------------- */

footer {
	width: 100%;
	margin: 0 auto;
	background: #e4ecee;
	color: #5d6e71;
	padding: 65px 0 80px 0;
}
.footerNest{
	width: 95%;
	max-width: 1300px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: stretch;
	margin:0 auto;	
}
.footerNest > div{
	flex: auto;
}
.footerNest > div:nth-child(1){
	padding-right: 6%;
}
.footerNest > div:nth-child(1) > div:first-child{
	margin-bottom: 1em;
}
.footerNest > div:nth-child(2){
	font-size: 80%;
	line-height: 1.6em;
}
.footerNest > div:nth-child(2) > div:first-child{
	margin-bottom: 1em;
}
.footerNest > div:nth-child(2) small{
	font-size: 100%;
}
.footerNest > div:last-child{
	font-size: 80%;
	padding-left: 6%;
}
.footerNest > div:last-child > div.menuArea{
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: stretch;
	margin:0 auto;
}
.footerNest > div:last-child ul > li{
	margin-bottom: 0.8em;
}
.footerNest ul.headMenu01 > li:nth-child(1):before,
.footerNest ul.headMenu01 > li:nth-child(2):before,
.footerNest ul.headMenu01 > li:nth-child(3):before,
.footerNest ul.headMenu02 > li:nth-child(1):before,
.footerNest ul.headMenu02 > li:nth-child(2):before,
.footerNest ul.headMenu02 > li:nth-child(3):before{
	content: ">>";
	background: none;
	background-size: contain;
	
}
.inquiryBtn > a{
	display: inline-block;
	border-radius: 5px;
	background: #778588;
	padding: 0.3em 1em;
	border: 2px solid #778588;
}
.inquiryBtn > a:link,.inquiryBtn > a:visited{
	color: #FFFFFF;
	text-decoration: none;
}
.inquiryBtn > a:hover, .inquiryBtn > a:active, .inquiryBtn > a:focus {
	color:#778588;
	background: #FFFFFF;
	text-decoration: none;
}


/* ----------------------------------------------------------------------------- *
 * 6.0　メインコンテンツ（共通）
 * ----------------------------------------------------------------------------- */

main {
	line-height: 2.0em;
	width: 100%;
	margin: 0 auto;
}
.contents {
	width: 100%;
	max-width:1600px;
	margin: 0 auto;
}
.contents2 {
	width: 100%;
	max-width:1600px;
	background: #f7fafa;
}
.contentsNest {
	width: 95%;
	max-width:1300px;
	margin: 0 auto;
	padding: 60px 0;
}

.rbnBtn{
	text-align: right;
}
.rbnBtn a{
	display: inline-block;
	position: relative;
	background: #fdf0a1;
	line-height: 1.0em;
	padding: 1em 2em 1em 2.5em;
	font-weight: bold;
}
.rbnBtn a::before{
	content: "";
	width: 1em;
	height: 1em;
	position: absolute;
	top: 0;
	left: 0;
	border-width: 1.5em 0px 1.5em 1.0em;
	border-color: transparent transparent transparent #fff;
	border-style: solid;
}
.contents2 .rbnBtn a::before{
	border-color: transparent transparent transparent #f7fafa;	
}
.rbnBtn a:link, .rbnBtn a:visited{
	text-decoration: none;
}
.rbnBtn a:hover{
	color: #993333;
	background: #fae242;
}
.rbnColorPink a{
	background: #ffe6e6;
}
.rbnColorPink a:hover{
	background: #ffBBBB;
}
.rbnColorOrange a{
	background: #ffdfc7;
}
.rbnColorOrange a:hover{
	background: #ffb276;
}
.rbnColorGreen a{
	background: #e2ecb3;
}
.rbnColorGreen a:hover{
	background: #c6dc61;
}

ul.markOrange{
	list-style: none;
	margin: 0;
	padding: 0;
}
ul.markOrange li{
	position: relative;
	padding-left: 1.5em;
}
ul.markOrange li:before{
	position: absolute;
	content: "●";
	color: #ffdfc7;
	top: 0;
	left: 0;
}

/* ----------------------------------------------------------------------------- *
 * 7.0　メインコンテンツ（個別）
 * ----------------------------------------------------------------------------- */

/* -----------------------------------
■トップページ
----------------------------------- */

/* FLEX基本（5:5）サイズ */
.flex2Area, .flex2AreaR, .flex2AreaE{
	width: 100%;
	max-width: 1300px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
	margin:0 auto;
}
.flex2AreaR{	/* 逆順表示 */
	flex-flow: row-reverse;
}
.flex2AreaE{
	align-items: center;
}
.flex2Area > div, .flex2AreaR > div, .flex2AreaE > div{
	width:46.5%;
}
/* 二行目以降が入る場合は間にスペース入れる */
.flex2Area > div + div, .flex2AreaR > div + div{
	margin-top:40px;
}
.flex2Area > div:nth-child(2), .flex2AreaR > div:nth-child(2){
	margin-top:0;
}

/* FLEX（6:4）サイズ */
.flex2Size2 > div:first-child,
.flex2SizeR2 > div:last-child {
	width:52.5%;
}
.flex2Size2 > div:last-child,
.flex2SizeR2 > div:first-child {
	width:42.5%;
}

/* FLEX（4:6）サイズ */
.flex2Size3 > div:first-child,
.flex2SizeR3 > div:last-child {
	width:40.5%;
}
.flex2Size3 > div:last-child,
.flex2SizeR3 > div:first-child {
	width:52.5%;
}
/* FLEX（特殊）サイズ */
.flex2Size4 > div:first-child,
.flex2SizeR4 > div:last-child {
	width:49.615%;
}
.flex2Size4 > div:last-child,
.flex2SizeR4 > div:first-child {
	width:47.0%;
}

/* FLEX 3つ用 */
.flex3Area, .flex3AreaE {
	width: 100%;
	max-width: 1300px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	align-items: stretch;
	margin:0 auto;
}
.flex3AreaE {
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
}
.flex3AreaE > div:nth-child(2) {
	margin: 0 1% 0 0;
}
.flex3AreaE > div:last-child {	/* スマホ対応する場合FLEXにする */
}
.flex3AreaE > div:last-child > div {
	line-height: 1.0em;
}
.flex3AreaE > div:last-child > div:first-child {
	margin-bottom: 15px;
}

/* -----------------------------------
■ゆ～わく倶楽部 ＭＥＭＢＥＲ
----------------------------------- */
.memberTitleBox{
	position: relative;
	width:100%;
	max-width:12em;
	font-size: 180%;
	font-weight: bold;
	line-height:1.7em;
	margin: 0 auto;
	padding: 3.3em 0;
	text-align: center;
	border: 3px solid #768486;
	box-shadow: 10px 10px 0px rgba(210,225,225,1.0);
	z-index: 10;
}
.memberTitleBox:before{
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: -3px;
	left: -3px;
	box-shadow: -10px -10px 0px rgba(252,240,160,1.0);
}
.flexMember{
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: flex-end;
	margin:0 auto;
}
.flexMember > div:first-child{
	flex: 1;
	padding:0 0 0 0;
	width:58.61%;
}
.flexMember > div:last-child{
	/*width: 230px;*/
	width:41.39%;
}
.flexMember > div.memberSunurashima{
	width:42.549%;
	margin-right: -0.579%;
	margin-left: -0.58%;
}
.flexMember > div.memberHanashinju{
	width:48.013%;
	margin-left: -6.623%;
}
.flexMember > div.memberSuzunami{
	width:44.37%;
	margin-right: -1.49%;
	margin-left: -1.49%;
}
.flexMember > div.memberTobakanko{
	width:43.046%;
	margin-left: -1.656%;
}
.memberName{
	font-size: 180%;
	font-weight: bold;
	line-height: 1.1em;
	margin-bottom: 1.0em;
}
.memberName span{
	display: block;
	font-size: 50%;
	font-weight: normal;
}
.flex2Area > div:nth-child(odd) div.flexMember{
	flex-flow: row-reverse;
}
.flex2Area > div:nth-child(odd) div.flexMember > div:first-child{
	padding:0 0 0 10px;
}
.flexMember img{
	display: block;
	line-height: 1.0em;
	margin: 0;
	padding: 0;
}

.memberLink > a{
	display: block;
	padding: 0.8em 0;
	text-align: center;
	background: #fcf0a0;
	border: 3px solid #fcf0a0;
	font-size: 120%;
}
.memberLink > a:link, .memberLink > a:visited{
	text-decoration: none;
}
.memberLink > a:hover{
	border: 3px solid #fae242;
	background: #fae242;
}

/* -----------------------------------
■オリジナル商品
----------------------------------- */
.captionCircle{
	min-width: 196px;
	min-height: 196px;
	line-height: 2.0em;
	background: url("circle.svg") no-repeat top left;
	padding: calc(98px - 1em) 0 0 calc(98px - 0.5em);
	font-size: 120%;
	margin-bottom: 0.5em;
}
.productLogo{
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	margin:0 auto;
	font-size: 160%;
	font-weight: bold;
	margin-bottom: 1.2em;
}
.productLogo > div:first-child{
	margin: 0 1.4em 0 0;
}
.productPrice{
	font-size: 140%;
	text-align: center;
	margin: -55px 0 0 0;
}
.productPrice .pPrice{
	font-size: 142%;
}
.productPrice .pTax{
	font-size: 60%;
}
.productCaption2{
	font-size: 120%;
	font-weight: bold;
	margin-bottom: 0.5em;
}

.flexProduct, .flexProductR{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	margin:0 auto;
}
.flexProductR{	/* 逆順表示 */
	flex-flow: row-reverse;
}
.flexProduct > div:first-child,
.flexProductR > div:first-child {
	/*width:52.5%;*/
	width:46.5%;
}
.flexProduct > div:last-child,
.flexProductR > div:last-child {
	/*width:40.5%;*/
	width:46.5%;
}
.productCaption{
	/*width:36em;*/
	max-width: 100%;
	text-align: center;
	border: 1px solid #9baab4;
	padding: 0.2em 0;
	margin: 0 auto 2em;
}
.productTable th{
	white-space: nowrap;
	padding: 0 1.0em 0 0;
}
.productTable th > span{
	font-weight: bold;
	background:-webkit-linear-gradient(transparent 60%, #e2ecb3 60%);
	background:-o-linear-gradient(transparent 60%, #e2ecb3 60%);
	background:linear-gradient(transparent 60%, #e2ecb3 60%);
	padding-bottom: 0.2em;
}

/* -----------------------------------
■活動紹介
----------------------------------- */
.eventIntro{
	width:100%;
	max-width: 1300px;
	margin: 0 auto 1.2em;
}
.eventMaitoshi{
	text-align: center;
	margin: 0 auto -0.5em;
}

.flexEvent, .flexEventR{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	margin:0 auto;
}
.flexEventR{	/* 逆順表示 */
	flex-flow: row-reverse;
}

.flexEvent > div:first-child, .flexEventR > div:last-child{
	width:41.23%;
	text-align: center;
	margin-bottom:40px;
}
.flexEvent > div:last-child, .flexEventR > div:first-child{
	width:56.384%;
	text-align: center;
	margin-bottom:40px;
}

.flexEvent > div:first-child, .flexEventR > div:last-child{
	width:41.23%;
	text-align: center;
	margin-bottom:40px;
}

.flexEvent_1 > div:first-child{
	position: relative;
	width:41%;
	text-align: left;
	padding-top:40px;
}
.flexEvent_1 > div:first-child:before{
	content: "";
	position: absolute;
	width:90%;
	background: #ffd2af;
	border: 3px solid #ffd2af;
	border-radius: 5px;
	top: 0;
	left: 5%;
}
.flexEvent_1 > div:last-child{
	width:53.307%;
	text-align: left;
}

.flexEvent_2 > div:first-child{
	position: relative;
	width:39%;
	text-align: left;
	padding-top:35px;
}
.flexEvent_2 > div:first-child:before{
	content: "";
	position: absolute;
	width:90%;
	background: #ffd2af;
	border: 3px solid #ffd2af;
	border-radius: 5px;
	top: 0;
	left: 5%;
}
.flexEvent_2 > div:last-child{
	width:58.461%;
	text-align: left;
}
.flexEvent_3 > div:first-child{
	position: relative;
	width:43%;
	text-align: left;
	padding-top:35px;
}
.flexEvent_3 > div:first-child:before{
	content: "";
	position: absolute;
	width:90%;
	background: #ffd2af;
	border: 3px solid #ffd2af;
	border-radius: 5px;
	top: 0;
	left: 5%;
}
.flexEvent_3 > div:last-child{
	width:51.23%;
	text-align: left;
}
.flexEvent_3bg{
	background: url("flexEvent_3bg.jpg") repeat;
	padding: 0.7em 1em;
	font-size: 85%;
}
.flexEvent_4 > div:first-child{
	position: relative;
	width:38%;
	text-align: left;
	padding-top:35px;
}
.flexEvent_4 > div:first-child:before{
	content: "";
	position: absolute;
	width:90%;
	background: #ffd2af;
	border: 3px solid #ffd2af;
	border-radius: 5px;
	top: 0;
	left: 5%;
}
.flexEvent_4 > div:last-child{
	width:58.384%;
	text-align: left;
}
.flexEvent_5 > div:first-child{
	position: relative;
	width:43%;
	text-align: left;
	padding-top:35px;
}
.flexEvent_5 > div:first-child:before{
	content: "";
	position: absolute;
	width:90%;
	background: #ffd2af;
	border: 3px solid #ffd2af;
	border-radius: 5px;
	top: 0;
	left: 5%;
}
.flexEvent_5 > div:last-child{
	width:53%;
	text-align: left;
}

.eventOMBg{
	border-radius: 20px;
	background: url("eventBg.jpg") repeat center center;
	
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	margin:6% auto;
	padding: 0 6%;
}
.eventOMBg > div:first-child{
	line-height: 1.0em;
	width: 43%;
}
.eventOMBg > div:first-child > img{
	margin-top: -40px;
	margin-bottom: -2px;
}
.eventOMBg > div:last-child{
	width: 42%;
	padding: 3% 0;
}
.eventOMBgIcon{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	margin:0 auto;
}
.eventOMBgIcon > div{
	width: 30%;
	max-width: 120px;
	line-height: 0;
}
.eventOMBgIcon > div > a{
	display: block;
	width: 100%;
}
.eventOMBgIcon > div > a:link,
.eventOMBgIcon > div > a:visited{
	background: url("event_om_btn01.svg");
	background-size: cover;
	text-decoration: none;
}
.eventOMBgIcon > div:nth-child(2) > a:link,
.eventOMBgIcon > div:nth-child(2) > a:visited{
	background: url("event_om_btn02.svg");
	background-size: cover;
}
.eventOMBgIcon > div:nth-child(3) > a:link,
.eventOMBgIcon > div:nth-child(3) > a:visited{
	background: url("event_om_btn03.svg");
	background-size: cover;
}
.eventOMBgIcon > div > a:hover{
	background: url("event_om_btn01s.svg");
	background-size: cover;
	text-decoration: none;
}
.eventOMBgIcon > div:nth-child(2) > a:hover{
	background: url("event_om_btn02s.svg");
	background-size: cover;
}
.eventOMBgIcon > div:nth-child(3) > a:hover{
	background: url("event_om_btn03s.svg");
	background-size: cover;
}


/*
.flexTokucho{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
	margin: 90px auto 0;
	padding-bottom: 100px;
}
.flexTokucho > div{
	width:29%;
	padding-bottom: 40px;
}
.flexTokucho h2{
	font-size:120%;
	position:relative;
	display:table;
	margin:0 auto 1em;
	text-align:center;
}
.flexTokucho h2:before{
	content:"　";
	position:absolute;
	width:104%;
	border-bottom:7px solid #ff3cbb;
	left:-2%;
	bottom:-2px;
	z-index:-1;
}
.tokuchoNum{
	text-align: center;
	margin:0 auto 20px;
	border:2px solid #000000;
	font-weight:bold;
	font-size:108%;
	width:5.6em;
	height:5.6em;
	padding-top:1em;
	border-radius: 50%;
}
.tokuchoNum span{
	display:block;
	font-size:145%;
}


.topBottom{
	margin-top: -30px;
}*/


/* ----------------------------------------------------------------------------- *
 * 8.0　メディアクエリー
 * ----------------------------------------------------------------------------- */

/* -----------------------------------
■レスポンシブ対応
----------------------------------- */

/* PC,SM 表示切替 */

/*.smOnly, .smOnly2 {
	display: none;
}

.smBlock {
	display: inline;
}*/

@media (min-width: 768px) {

	/* 電話へのリンクはスマホのみ有効 */

/*    a[href*="tel:"] {
        pointer-events: none;
        cursor: default;
        text-decoration: none;
    }
    
	a[href*="tel:"]:link {
		color:#000000;
		text-decoration: none;
	}
	a[href*="tel:"]:visited {
		color:#000000;
		text-decoration: none;
	}
	.themesDinner a[href*="tel:"]:link {
		color:#FFFFFF;
		text-decoration: none;
	}
	.themesDinner a[href*="tel:"]:visited {
		color:#FFFFFF;
		text-decoration: none;
	}*/
}

/* ~~ スマホ ~~ */
@media screen and (max-width:767px) {

	/* -----------------------------------
	1.0　初期設定
	----------------------------------- */

/*	html {
		font-size: 200%;
	}*/

	/* PC,SM 表示切替 */
/*	.pcOnly {
		display: none;
	}
	.smOnly {
		display: inline;
	}
	.smBlock, .smOnly2 {
		display: block;
	}*/
	
	/* -----------------------------------
	2.0　共通利用パーツ
	----------------------------------- */

	/* ■ページ内リンク */
/*	#pageTop{
		bottom: 5.3em;
	}*/

	/* -----------------------------------
	3.0　基本レイアウト
	----------------------------------- */

/*	a:not(.noIcon)[href$=".pdf"]:after {
	    width: 84px;
	    height: 30px;
	    background: url(images/file_icon/iconPdf2.gif) no-repeat center right;
	    background-size: contain;
	}
	a:not(.noIcon)[href$=".doc"]:after {
	    width: 84px;
	    height: 30px;
	    background: url(images/file_icon/iconDoc2.gif) no-repeat center right;
	    background-size: contain;
	}
	a:not(.noIcon)[href$=".docx"]:after {
	    width: 84px;
	    height: 30px;
	    background: url(images/file_icon/iconDocx2.gif) no-repeat center right;
	    background-size: contain;
	}
	a:not(.noIcon)[href$=".xls"]:after {
	    width: 84px;
	    height: 30px;
	    background: url(images/file_icon/iconXls2.gif) no-repeat center right;
	    background-size: contain;
	}
	a:not(.noIcon)[href$=".xlsx"]:after {
	    width: 84px;
	    height: 30px;
	    background: url(images/file_icon/iconXlsx2.gif) no-repeat center right;
	    background-size: contain;
	}
	a:not(.noIcon)[href$=".csv"]:after {
	    width: 84px;
	    height: 30px;
	    background: url(images/file_icon/iconCsv2.gif) no-repeat center right;
	    background-size: contain;
	}
	a:not(.noIcon)[href$=".zip"]:after {
	    width: 84px;
	    height: 30px;
	    background: url(images/file_icon/iconZip2.gif) no-repeat center right;
	    background-size: contain;
	}*/

	/* -----------------------------------
	4.0　ヘッダー
	----------------------------------- */
/*	#slider{
		height:560px;
	}

	.slider li > div {
		font-size: 150%;
	}
	.slider li > div .worSmall {
		font-size: 90%;
	}


	.mainImage, .conmain, .promain, .casmain, .usmain{
		height:237px;
	}

	.headerNest{
		display: block;
	}
	.headerNest > div:first-child{
		padding: 0.7em 1.2em 0.7em 0;
	}
	.headerMenu div{
		width:33%;
		text-align:center;
		margin-bottom:0.5em;
	}

	.mainImage > div > img, .conmain > div > img, .promain > div > img, .casmain > div > img, .usmain > div > img{
		margin-top: 0.3em;
	}*/

	/* -----------------------------------
	5.0　フッター
	----------------------------------- */

/*	.footerAreaFlex{
		display: block;
	}
	.footerAreaFlex div{
		line-height: 2em;
		width:100%;
	}
	.footerAreaFlex div:first-child{
		max-width: 100%;
		margin:0 0 60px 0;
	}
	.footerAreaFlex div:nth-child(2){
		padding: 0;
	}*/

	/* -----------------------------------
	7.0　メインコンテンツ（個別）
	----------------------------------- */

/*	.flexTokucho{
		display: block;
		margin: 90px auto 0;
		padding-bottom: 100px;
	}
	.flexTokucho > div{
		width:100%;
		padding-bottom: 40px;
	}

	.flexConcept2Area, .flexConcept2AreaNoline{
		display: block;
	}
	.flexConcept2Area > div, .flexConcept2AreaNoline > div{
		width:100%;
	}
	.flexConcept2AreaNoline > div:first-child{
		margin-bottom: 80px;
	}
	.flexConcept2AreaNoline > div:first-child > div:first-child{
		margin-bottom: -60px;
	}
	.flexConcept2AreaNoline > div:last-child > div:last-child{
		margin-bottom: 30px;
	}

	.flexConcept2Area div:first-child{
		padding-right: 0;
		border-right: none;
	}
	.flexConcept2Area div:last-child{
		padding-left: 0;
		border-left: none;
	}
	.flexConcept3Area{
		display: block;
	}
	.flexConcept3Area > div{
		width:100%;
	}

	.flexHalfArea{
		display: block;
		width: 95%;
	}
	.flexHalfArea > div{
		width:100%;
	}
	.flexHalfArea > div.shortArea{
		width:100%;
		padding-right:0;
	}
	.flexProduct2Area{
		display: block;
	}
	.flexProduct2Area div:first-child{
		width:100%;
		padding-right: 0;
		padding-left: 0;
		border-right: none;
		margin-bottom: 60px;
	}
	.flexProduct2Area div:last-child{
		width:100%;
		padding-left: 0;
		border-left: none;
	}
	.productTeam658 img{
		width:320px;
	}
	
	.flexProduct2Area2{
		display: block;
	}
	.flexProduct2Area2 > div{
		width:100%;
	}
	.flexProduct2Area2 > div img{
		max-width: 100%;
	}

	.topCaption{
		text-align: left;
	}
	.topInfo{
		padding:1em;
	}
	.topInfo > div{
		display: block;
	}
	.topInfo > div > div:nth-child(odd){
		width:100%;
	}
	.topInfo > div > div:nth-child(even){
	width:100%;
	}

	.tokuchoNum{
		font-size:80%;
		line-height:1.6em;
		margin:0 auto 30px;
		padding-top:1.2em;
	}
	.tokuchoNum span{
		line-height:1.2em;
	}

	.conceptCaption{
		width: 95%;
		text-align: left;
	}
	.conceptImage{
		display:block;
	}
	.conceptImage > div:first-child{
		width:100%;
		margin:0 auto 0.5em;
	}
	.conceptImage > div:last-child{
		width:13.5em;
		margin:0 auto;
		font-size: 105%;
	}
	.conceptImage div:last-child > div:first-child{
		width: 100%;
		position: static;
		-webkit-transform: translateY(0%);
		-ms-transform: translateY(0%);
		transform: translateY(0%);
	}
	
	.csPos{
		padding-left: 1.5em;
	}

	.formArea input[type="text"],
	.formArea input[type="email"],
	.formArea input[type="tel"],
	.formArea textarea {
		padding: 1em;
		width: 100%;
		font-size: 100%;
		border: 1px solid #ccc;
	}
	
	.flexHalfArea2{
		display: block;
	}
	.flexHalfArea2 > div{
		width:100%;
	}
	.flexHalfArea2 > div:nth-child(2){
		margin-top: 90px;
	}
	
	.flexHalfArea3{
		display: block;
	}
	.flexHalfArea3 > div{
		width:100%;
	}
	.flexHalfArea3 > div:first-child{
		width:100%;
	}

	ul.lunchList{
		display: block;
	}
	ul.lunchList li{
		margin: 0 0 0 2.0em;
	}

	.privacyH2{
		font-size:130%;
	}*/

	/* テーブルスクロール */
/*	.table-scroll {
		-webkit-overflow-scrolling: touch;
		overflow: auto;
		overflow-y: auto!important;
		margin-bottom:45px;
		width:100%;
	}
	.table-scroll:before {
		content: "※左右にフリックすると表がスライドします。";
	}
	.table-scroll table{
		min-width:1200px;
	}
	.table-scroll table:first-child{
		margin-top:10px;
	}
	.table-scroll table:last-child{
		margin-bottom:0;
	}*/
}

ul + h3{
	margin-top: 50px;
}