

/* -------------------------------------------------

 layout

------------------------------------------------- */
/* format */
a {
color: #333333;
text-decoration: none;
}
a:hover, a:focus {
color:	#666666;
text-decoration: underline;
}
img {
max-width: 100%;
height: auto;
width: auto;
vertical-align: bottom;
}
body {
background-color: #f4f4f4;		/*  背景色  */
}

/* -------------------------------------------------

 Clearfix

------------------------------------------------- */
.clearfix:after {
  visibility: hidden;
  display: block;
  content: " ";
  clear: both;
  height: 0;
}
.clearfix {
  *zoom: 1;
}

/* -------------------------------------------------

skip

------------------------------------------------- */
/*　本文へジャンプ　*/
.skip_nav {
	width:1px;
	color:#000000;
	font-size:0.1%;
	line-height:0.1;
	background-color:#FFFFFF;
	position:absolute;
	left:-3000px;
	z-index:9999;
}
a.skip_nav {
	color:#FCB2AE;
	background-color:#FFFFFF;
	text-align:center;
	padding:2px 0;
	top:auto;
}
a.skip_nav:active {
	display:block;
	width:99.99%;
	font-size:100%;
	line-height:1.6;
	top:0;
	left:0;
}
a.skip_nav:focus {
	display:block;
	width:99.99%;
	font-size:100%;
	line-height:1.6;
	top:0;
	left:0;
}

/* -------------------------------------------------

 header

------------------------------------------------- */
header {
width: 100%;
position:relative;
}
.header	{
	max-width: 1180px;
	margin: 40px auto;
	display: flex;
	justify-content: center;
	align-items: center;
}
.header > h1	{
	margin: 0;
	padding: 0;
	line-height:1 !important;
}
.header__logo	{
	font-weight: 600;
	font-size: 3.6rem;
	letter-spacing: 0.1rem;
}
.header__logo a	{
	color: #333333;
}
.header__logo a:hover {
 opacity: 0.7;
 filter: alpha(opacity=70);
 -moz-opacity: 0.7;
	transition: .3s;
	text-decoration: none;
}
@media screen and (max-width: 768px)  {
.header	{
	max-width: 100%;
	padding: 0 20px;
	margin: 30px auto;
}
.header__logo	{
	font-size: 3rem;
}
}
@media screen and (max-width: 568px)  {
.header__logo	{
	font-size: 2.4rem;
	letter-spacing: 0.05rem;
}
}
@media screen and (max-width: 480px)  {
.header	{
	padding: 0 15px;
	margin: 25px auto;
	justify-content:flex-start;
}
.header__logo	{
	font-size: 2.4rem;
	letter-spacing: 0.05rem;
}
}
@media screen and (max-width: 414px)  {
.header__logo	{
	font-size: 2rem;
}
}

/* ログイン用
================================================== */
.header--login	{
	max-width: 1180px;
	margin: 40px auto;
	display: flex;
	justify-content: center;
	align-items: center;
}
.header--login > h1	{
	margin: 0;
	padding: 0;
	line-height:1 !important;
}
@media screen and (max-width: 768px)  {
.header--login	{
	max-width: 100%;
	padding: 0 20px;
	margin: 30px auto;
}
}
@media screen and (max-width: 480px)  {
.header--login	{
	padding: 0 15px;
	margin: 25px auto;
}
}


/* -------------------------------------------------

 Nav

------------------------------------------------- */
#g-nav {
	display:none;
}
@media screen and (max-width: 768px)  {
#g-nav {
	display: block;
 position:fixed;
	z-index: -1;
	opacity: 0;
	top:0;
	width:100%;
 height: 100vh;
	background:#f4f4f4;
	transition: all 0.3s;
}

/*アクティブクラスがついたら透過なしにして最前面へ*/
#g-nav.panelactive {
	opacity: 1;
	z-index:999;
}

/*ナビゲーションの縦スクロール(ナビの数が増えた場合)*/
#g-nav.panelactive #g-nav-list {
 position: fixed;
 z-index: 999; 
 width: 100%;
 height: 100vh;
 overflow: auto;
 /*-webkit-overflow-scrolling: touch;*/
}

/*ナビゲーション*/
#g-nav ul {
 display: none;
 position: absolute;
 z-index: 999;
 top:50%;
 left:50%;
 transform: translate(-50%,-50%);
	width: 100%;
}
#g-nav.panelactive ul {
 display: block;
}

/*リストのレイアウト設定*/
#g-nav li {
	list-style: none;
 text-align: center; 
}
#g-nav li a {
	color: #333333;
	text-decoration: none;
	padding:10px;
	display: block;
	/*text-transform: uppercase;		テキストを大文字（uppercase）に変換  */
	letter-spacing: 0.1em;
	font-size: 2rem;
	font-weight: 500;
}

/*========= ボタンのためのCSS ===============*/
.openbtn {
 position: absolute;
 z-index: 9999;
	top:-10px;
	right: 20px;
	cursor: pointer;
 width: 50px;
 height:50px;
	background-color: #F89297;
	border-radius: 5px;
}
	
/*×に変化*/	
.openbtn span {
 display: inline-block;
 transition: all .4s;
 position: absolute;
 left: 11px;
 height: 3px;
 border-radius: 2px;
	background-color: #fff;
 width: 55%;
}
.openbtn span:nth-of-type(1) {
	top:15px;	
}
.openbtn span:nth-of-type(2) {
	top:23px;
}
.openbtn span:nth-of-type(3) {
	top:31px;
}
.openbtn span:nth-of-type(3)::after {
	/*content:"Menu";3つ目の要素のafterにMenu表示を指定*/
	content:"";
	position: absolute;
	top:5px;
	left:-1px;
	color: #f89297;
	font-size: 0.6rem;
	text-transform: uppercase;
}
.openbtn.active span:nth-of-type(1) {
 top: 18px;
 left: 12px;
 transform: translateY(6px) rotate(-45deg);
 width: 50%;
}
.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}
.openbtn.active span:nth-of-type(3){
 top: 30px;
 left: 12px;
 transform: translateY(-6px) rotate(45deg);
 width: 50%;
}
.openbtn.active span:nth-of-type(3)::after {
	content:"Close";/*3つ目の要素のafterにClose表示を指定*/
 transform: translateY(0) rotate(-45deg);
	top:5px;
	left:8px;
}
}
@media screen and (max-width: 568px)  {
.openbtn {
	top:-13px;
	right: 15px;
}
}
@media screen and (max-width: 480px)  {
.openbtn {
	top:-14px;
}
}

/* -------------------------------------------------

 footer

------------------------------------------------- */
footer {
	width: 100%;
	margin: 0 0 50px;
	position:relative;
}
.footer__head	{
	max-width: 1180px;
	margin: 0 auto 40px !important;
	border-bottom: 5px solid #ccc;
}
.footer__pagetop {
	position: fixed;
	bottom: 40px;
	right: 40px;
	/*display: none;*/
	z-index:5;
}
.footer__pagetop a {
	display: block;
 width: 60px;
 height: 60px;
    background-image: url(/assets/icon_pageup-9d522f9d43f77c8e766f66144784f0a5fdf4b76b8086ea8d6b0d66ef2c42ca77.png);
 background-repeat: no-repeat;
 background-size: 60px;
 overflow: hidden;
 text-indent: 100%;
 white-space: nowrap;
}
.footer__foot	{
	max-width: 1180px;
	margin: 0 auto;
	display: flex;
	flex-flow: column wrap;
	justify-content: center;
	align-items: center;
}
.footer__foot--contact {
	line-height: 2;
	margin-bottom: 10px;
	display: flex;
	flex-flow: column wrap;
	justify-content: center;
	align-items: center;
}
.footer__foot--contact .address br {
	display: none;
}
.footer__foot--contact .address a {
	color: #007bbb;
}
.footer__foot--copyright {
	font-size: 1.2rem;		
}
.footer__logo	{
	margin: 0 auto 15px;	
}
.footer__logo a:hover {
 opacity: 0.7;
 filter: alpha(opacity=70);
 -moz-opacity: 0.7;
	transition: .3s;
	text-decoration: none;
}
@media screen and (min-width: 769px) and (max-width: 1240px) {
.footer__head {
	max-width: 100%;
	margin: 0 20px 40px !important;
}
.footer__pagetop {
	right: 20px;
}
.footer__foot	{
	max-width: 100%;
	margin: 0 20px;
}
}
@media screen and (max-width: 768px)  {
.footer__head {
	max-width: 100%;
	margin: 0 20px 40px !important;
}
.footer__pagetop {
	right: 20px;
}
.footer__foot	{
	max-width: 100%;
	margin: 0 20px;
}
}
@media screen and (max-width: 667px)  {
.footer__head	{
	border-bottom: 3px solid #ccc;
}
}
@media screen and (max-width: 480px)  {
.footer__head {
	margin: 0 0 30px !important;
}
.footer__pagetop {
	bottom: 20px;
	right: 10px;
}
.footer__pagetop a {
 width: 40px;
 height: 40px;
	background-size: 40px;
}
.footer__foot	{
	margin: 0;
}
.footer__foot--contact {
	font-size: 1.4rem;
}
.footer__foot--contact .address br {
	display: block;
}
.footer__foot--copyright {
	font-size: 1.2rem;		
}
.footer__logo	{
	width: 280px;
	margin: 0 auto 15px;	
}
}
@media screen and (max-width: 359px)  {
.footer__foot--copyright {
	font-size: 1rem;
}
.footer__logo	{
	max-width: 250px;
}
}


/* -------------------------------------------------

 breadcrumbs

------------------------------------------------- */
.breadcrumbs	{
	max-width: 1180px;
	margin: 0 auto;
}
.breadcrumbs ul	{
	width: 100%;
	padding: 8px 18px;
	background-color:#f89297;
	position:relative;
	border-bottom: 5px solid #cccccc;
	-webkit-box-flex: 1;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
}
.breadcrumbs li	{
	color:#ffffff;
	position:relative;
	margin-right: 35px;
	display: inline;
}
.breadcrumbs li a	{
	color:#ffffff;
	text-decoration: underline;
	transition: .3s;
}
.breadcrumbs li a::after	{
	content: '';
 border: 0;
 border-top: solid 1px #ffffff;
 border-right: solid 1px #ffffff;
 display: inline-block;
 width: 8px;
 height: 8px;
 position: absolute;
 top: 50%;
 right: -20px;
 transform: translateY(-50%) rotate(45deg);
}
.breadcrumbs li a:hover	{
	color:	#ffffff;
	text-decoration: none;
}
@media screen and (min-width: 769px) and (max-width: 1240px) {
.breadcrumbs {
	max-width: 100%;
	padding: 0 20px;
}
}
@media screen and (max-width: 768px)  {
.breadcrumbs {
	max-width: 100%;
	padding: 0 20px;
}
.breadcrumbs li	{
	margin-right: 25px;
	font-size: 1.4rem;
}
.breadcrumbs li a::after	{
 right: -15px;
}
}
@media screen and (max-width: 667px)  {
.breadcrumbs	{
	padding: 0 15px;
}
.breadcrumbs ul	{
	padding: 8px 10px 8px 15px;
	border-bottom: 3px solid #cccccc;
}
}
@media screen and (max-width: 480px)  {
.breadcrumbs	{
	padding: 0;
}
.breadcrumbs li	{
	font-size: 14px;
}
}
p.notice {
    text-align: center;
}
p.alert {
    text-align: center;
}
p.mail_notes {
    color: #FF0004;
    font-weight: bold;
    width: auto;
}




/* -------------------------------------------------

共通パーツ

------------------------------------------------- */

/* main__outer（外側）
================================================== */
.main__outer {
	max-width: 1180px;
	margin: 0 auto 60px;
}
.main__outer h2 {				/*  ページタイトル  */
	font-weight: 500;
	text-align: center;
	margin: 50px 0;
}
@media screen and (min-width: 769px) and (max-width: 1080px) {
.main__outer	{
	max-width: 100%;
	padding: 0 20px;
}
}
@media screen and (max-width: 768px)  {
.main__outer	{
	max-width: 100%;
	margin: 0 auto 40px;
	padding: 0 20px;
}
.main__outer h2 {
	margin: 40px 0;
}
}
@media screen and (max-width: 667px)  {
.main__outer h2 {
	margin: 30px 0;
	font-size: 2.4rem;
}
}
@media screen and (max-width: 568px)  {
.main__outer	{
	padding: 0 15px;
}
.main__outer h2 {
	margin: 25px 0;
	font-size: 2rem;
}
}

/* main__outer--waku（囲み枠）
================================================== */
.main__outer--waku {
	margin: 0 auto;
	padding: 50px;
	border: 5px solid #cccccc;
	border-radius: 15px;
	background-color: #ffffff;
	position: relative;
}
@media screen and (max-width: 667px)  {
.main__outer--waku {
	padding: 35px;
	border: 3px solid #cccccc;
	border-radius: 10px;
}
}
@media screen and (max-width: 480px)  {
.main__outer--waku {
	padding: 25px;
}
}

/* main__inner（内側）
================================================== */
.main__inner {
}

/* row__center（行）縦--中央揃え、横--中央揃え、折り返しあり
================================================== */
.row__center {
 display: flex;
	flex-flow: row wrap;
 justify-content: center;
 align-items: center;	
}

/* row__space-around（行）縦--中央揃え、横--均等、折り返しなし
================================================== */
.row__space-around {
 display: flex;
 justify-content:space-around;
 align-items: center;
}
@media screen and (max-width: 667px)  {
.row__space-around {
	flex-flow: column wrap;
}
}

/* row__space-between（行）縦--中央揃え、横--両端揃え、折り返しなし
================================================== */
.row__space-between__multi {
 display: flex;
 justify-content:space-between;
 align-items: center;
}
@media screen and (max-width: 1080px)  {
.row__space-between__multi {
	flex-flow: row wrap;
 justify-content:flex-start;
}
}
@media screen and (max-width: 768px)  {
.row__space-between__multi {
	flex-flow: column wrap;
}
}

/* row__flex-end（行）縦--中央揃え、横--右揃え、折り返しなし
================================================== */
.row__flex-end, .row__flex-end__multi {
 display: flex;
 justify-content:flex-end;
 align-items: center;
}
@media screen and (max-width: 768px)  {
.row__flex-end__multi {
 display: flex;
 justify-content:center;
 align-items: center;
}
}
@media screen and (max-width: 667px)  {
.row__flex-end, .row__flex-end__multi {
	flex-flow: column wrap;
}
}

/* column__center（列）縦--中央揃え、横--中央揃え
================================================== */
.column__center {
 display: flex;
	flex-flow: column wrap;
 justify-content: center;
 align-items: center;	
}

/* column__left（列）縦--中央揃え、横--左揃え
================================================== */
.column__left {
 display: flex;
	flex-flow: column wrap;
 justify-content: center;
 align-items:flex-start;
}

/* button__pink（共通リンクボタン）
================================================== */
.button__pink {
	height: 60px;
 background-color: #f89297;
 border: solid 2px #f89297;
 border-radius: 8px;
 box-shadow: 0 5px 0 #cccccc;
 transition: .3s;
}
.button__pink {
 color: #ffffff;
 text-decoration: none;
	font-weight: 500;
 font-size: 1.8rem;
	line-height: normal;
	letter-spacing: 0.05rem;
}
.button__pink {
	display: flex;
	justify-content: center;
	align-items: center;
}
.button__pink:hover {
 color: #ffffff;
 text-decoration: none;
 transform: translateY(5px);
 box-shadow: 0 0 0 #cccccc;
}
.button__pink:focus {
 color: #ffffff;
}

@media screen and (max-width: 480px)  {
.button__pink {
	padding: 0 10px;
 font-size: 1.6rem;
	line-height: 1.2;
}
}

/* button__pink（共通リンクボタン） ※非表示用
================================================== */
.button__pink--hidden {
	height: 60px;
 background-color: #ffffff;
 border: solid 2px #e5e5e5;
 border-radius: 8px;
 box-shadow: 0 5px 0 #cccccc;
 transition: .3s;
}
.button__pink--hidden {
 color: #cccccc;
 text-decoration: none;
	font-weight: 500;
 font-size: 1.8rem;
	line-height: normal;
	letter-spacing: 0.05rem;
}
.button__pink--hidden {
	display: flex;
	justify-content: center;
	align-items: center;
}
/*.button__pink--hidden:hover {
 color: #ffffff;
 text-decoration: none;
 transform: translateY(5px);
 box-shadow: 0 0 0 #cccccc;
}*/
@media screen and (max-width: 480px)  {
.button__pink--hidden {
	padding: 0 10px;
 font-size: 1.6rem;
	line-height: 1.2;
}
}

/* button__pink（外部リンクボタン）
================================================== */
.button__pink__ex {
	height: 60px;
 background-color: #f89297;
 border: solid 2px #f89297;
 border-radius: 8px;
 box-shadow: 0 5px 0 #cccccc;
 transition: .3s;
	position: relative;
}
.button__pink__ex {
 color: #ffffff;
 text-decoration: none;
	font-weight: 500;
 font-size: 1.6rem;
	line-height: normal;
}
.button__pink__ex {
	display: flex;
	justify-content: center;
	align-items: center;
}
.button__pink__ex:hover,.button__pink__ex:focus {
 color: #ffffff;
 text-decoration: none;
 transform: translateY(5px);
 box-shadow: 0 0 0 #cccccc;
}
@media screen and (max-width: 768px)  {
.button__pink__ex {
	padding: 0 30px 0 15px;
	line-height: 1.2;
}
}

/* button__gray（共通リンクボタン）
================================================== */
.button__gray {
	height: 60px;
 background-color: #f6f6f6;
 border: solid 1px #999999;
 border-radius: 3px;
 transition: .3s;
}
.button__gray {
 color: #3333333;
 text-decoration: none;
	font-weight: 500;
 font-size: 1.8rem;
	line-height: normal;
	letter-spacing: 0.05rem;
}
.button__gray {
	display: flex;
	justify-content: center;
	align-items: center;
}
.button__gray:hover {
 color: #333333;
 text-decoration: none;
 background-color: #dddddd;
 border: solid 1px #666666;
}
@media screen and (max-width: 480px)  {
.button__gray {
	padding: 0 10px;
 font-size: 1.6rem;
	line-height: 1.2;
}
}

/* button__gray（編集ボタン）
================================================== */
.button__gray_edit {
	width: 120px;
	height: 40px;
 background-color: #dddddd;
 border: solid 1px #999999;
 border-radius: 3px;
 transition: .3s;
	margin: 0 auto;
}
.button__gray_edit.height {
    height: 50px !important;
    margin: 0 !important;
}
.button__gray_edit {
 color: #3333333;
 text-decoration: none;
	font-weight: 500;
 font-size: 1.6rem;
	line-height: normal;
	letter-spacing: 0.05rem;
}
.button__gray_edit {
	display: flex;
	justify-content: center;
	align-items: center;
}
.button__gray_edit:hover {
 color: #333333;
 text-decoration: none;
 background-color: #fff;
 border: solid 1px #666666;
}
@media screen and (max-width: 480px)  {
.button__gray_edit {
	padding: 0 10px;
 font-size: 1.6rem;
	line-height: 1.2;
}
}

/* button__gray（検索ボタン）
================================================== */
.button__gray_search {
    width: 120px;
    height: 50px;
    background-color: #dddddd;
    border: solid 1px #999999;
    border-radius: 3px;
    transition: .3s;
    margin: 0;
}
.button__gray_search {
    color: #3333333;
    text-decoration: none;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: normal;
    letter-spacing: 0.05rem;
}
.button__gray_search {
    display: flex;
    justify-content: center;
    align-items: center;
}
.button__gray_search:hover {
    color: #333333;
    text-decoration: none;
    background-color: #fff;
    border: solid 1px #666666;
}
@media screen and (max-width: 667px)  {
    .button__gray_search {
        margin-top:10px;
    }
}
@media screen and (max-width: 480px)  {
    .button__gray_search {
        padding: 0 10px;
        font-size: 1.6rem;
        line-height: 1.2;
    }
}

/* button__title（ボタン名）
================================================== */
.button__title {
	width: auto;
}

/* icon（共通アイコン）
================================================== */
.icon__login {					/*  ログイン  */
	display: block;
	background-image: url(/assets/icon__login--white-fcdef56e4b3273aa83af1d50029fcbfef8445eb8ab10e0350291f23c14bbed7a.png);
	background-repeat:no-repeat;
	background-size: 32px 28px;
	min-width:32px;
	height: 28px;
	margin-right: 10px;
}
.icon__logout {					/*  ログアウト  */
	display: block;
	background-image: url(/assets/icon__logout--white-7823a4ce322f9367f4a74462616672ca2b29b75090806fe894aa9487830bae3d.png);
	background-repeat:no-repeat;
	background-size: 32px 28px;
	min-width:32px;
	height: 28px;
	margin-right: 10px;
}
.icon__cart--white {					/*  カート（白）  */
	display: block;
	background-image: url(/assets/icon__cart--white-badb787be9cebe34785e46fd7c9bd5852109c654a0f2fa973e5e6e14cc5331ed.png);
	background-repeat:no-repeat;
	background-size: 29px 32px;
	min-width:29px;
	height: 32px;
	margin-right: 10px;
}
.icon__cart--black {					/*  カート（黒）  */
	display: block;
	background-image: url(/assets/icon__cart--black-9b0d8dcdf32299a5d5eb82c6cd646249cbfb4c6d777c8b935adc3311bceb7c2f.png);
	background-repeat:no-repeat;
	background-size: 29px 32px;
	min-width:29px;
	height: 32px;
	margin-right: 10px;
}
.icon__member--white {					/*  会員（白）  */
	display: block;
	background-image: url(/assets/icon__member--white-234824d953dbefc5c2c9c7cb1613c4f5ee488fc1648ab10810c88ae93cbc87a2.png);
	background-repeat:no-repeat;
	background-size: 30px;
	min-width:30px;
	height: 30px;
	margin-right: 10px;
}
.icon__member--black {					/*  会員（黒）  */
	display: block;
	background-image: url(/assets/icon__member--black-4c143c6fb89e260f9e8a11ceb19df0f21108ca949f214e3c04a94d40ea215e51.png);
	background-repeat:no-repeat;
	background-size: 32px;
	min-width:32px;
	height: 32px;
	margin-right: 10px;
}
.icon__email_send--white {					/*  メール送信（白）  */
	display: block;
	background-image: url(/assets/icon__email_send--white-b4b33cd6a41e300db39b4accb0f0c945892cbc5456288591cd33c2729b87baad.png);
	background-repeat:no-repeat;
	background-size: 33px 18px;
	min-width:33px;
	height: 18px;
	margin-right: 10px;
}
.icon__email_send--black {					/*  メール送信（黒）  */
	display: block;
	background-image: url(/assets/icon__email_send--black-af10edd4488c8c1d638de81ec75375e901e2dfbf1e3b1ef54fd7949ac845cb04.png);
	background-repeat:no-repeat;
	background-size: 33px 18px;
	min-width:33px;
	height: 18px;
	margin-right: 10px;
}
.icon__email_send--gray {					/*  メール送信（グレー）  */
    display: block;
    background-image: url(/assets/icon__email_send--gray-433ca372a65e475938966bd27f43db68f42898da55b988baece127061f9af395.png);
    background-repeat:no-repeat;
    background-size: 33px 18px;
    min-width:33px;
    height: 18px;
    margin-right: 10px;
}
.icon__registration--white {					/*  登録（白）  */
	display: block;
	background-image: url(/assets/icon__registration--white-48e569101ff57944f9c598489dc30b47dc7121e4e81949d0823e4b38e115e12d.png);
	background-repeat:no-repeat;
	background-size: 31px 32px;
	min-width:31px;
	height: 32px;
	margin-right: 10px;
}
.icon__registration--black {					/*  登録（黒）  */
	display: block;
	background-image: url(/assets/icon__registration--black-26679cbe057e4573e078f803d75cdf2d43b030feaca43b5a24976d1e93074cbb.png);
	background-repeat:no-repeat;
	background-size: 31px 32px;
	min-width:31px;
	height: 32px;
	margin-right: 10px;
}
.icon__csv--white {					/*  CSV（白）  */
	display: block;
	background-image: url(/assets/icon__csv--white-41b51ad9bade8c7ef3fcfc06d2279a38feb59ac8dd6ab6e97f34bda9f507b9ed.png);
	background-repeat:no-repeat;
	background-size: 25px 32px;
	min-width:25px;
	height: 32px;
	margin-right: 10px;
}
.icon__csv--black {					/*  CSV（黒）  */
	display: block;
	background-image: url(/assets/icon__csv--black-484221afb9be37c14ec06fb8530733d7846fd1f66de2fe4bce53738e81c84227.png);
	background-repeat:no-repeat;
	background-size: 25px 32px;
	min-width:25px;
	height: 32px;
	margin-right: 10px;
}
.icon__master--white {					/*  マスタ（白）  */
	display: block;
	background-image: url(/assets/icon__master--white-db0fd1c7000e6ad492e500f88e330e54975bfc1efc183cb2f928ce052100e6a5.png);
	background-repeat:no-repeat;
	background-size: 23px 30px;
	min-width:23px;
	height: 30px;
	margin-right: 10px;
}
.icon__master--black {					/*  マスタ（黒）  */
	display: block;
	background-image: url(/assets/icon__master--black-a5f43cd6df12edced2d5f964d82680aca1c94b7116b115e341986f5f8fb6eabc.png);
	background-repeat:no-repeat;
	background-size: 23px 30px;
	min-width:23px;
	height: 30px;
	margin-right: 10px;
}
.icon__data_send {					/*  データ出力  */
	display: block;
	background-image: url(/assets/icon__data_send--white-b1524f7a3f98457e399eb27888732d887f9b9f5be8a9f1cb3cbd03e2686b8ba5.png);
	background-repeat:no-repeat;
	background-size: 31px 28px;
	min-width:31px;
	height: 28px;
	margin-right: 10px;
}
.icon__output {					/*  チラシ出力  */
	display: block;
	background-image: url(/assets/icon__output--black-0427b19bac29a104f7840d179c831e43b21e205d82b5c17cda1b9b4bb8a69dd3.png);
	background-repeat:no-repeat;
	background-size: 30px 28px;
	min-width:30px;
	height: 28px;
	margin-right: 10px;
}
.icon__update {					/*  データ更新  */
	display: block;
	background-image: url(/assets/icon__update--white-8e7b005dd5ef71d5e33ee4b9232ca299d4bd09fcbdbcca6ca50e7bb8c229c5de.png);
	background-repeat:no-repeat;
	background-size: 24px 25px;
	min-width:24px;
	height: 25px;
	margin-right: 10px;
}
.icon__menu {					/*  メニュー  */
	display: block;
	background-image: url(/assets/icon__menu--black-7378e91ad0f84f84127c7d58602b476132071a93f54f72266d7f8375e8e75f6c.png);
	background-repeat:no-repeat;
	background-size: 30px;
	min-width:30px;
	height: 30px;
	margin-right: 10px;
}
.icon__back {					/*  前に戻る  */
	display: block;
	background-image: url(/assets/icon__back--black-ba6cb1c3995e213a94a322ec21887c11ab8b9197dda21cc565fce3d6ea41d54c.png);
	background-repeat:no-repeat;
	background-size: 30px;
	min-width:30px;
	height: 30px;
	margin-right: 10px;
}
.icon__ex_link {					/*  外部リンク  */
	content: '';
	position: absolute;
	top:10px;
	right:10px;
	display: block;
	background-image: url(/assets/icon__ex_link--white-4b345a14a1ee4da0979fb56de0b5898fd25469df6a1422c002feb928c665a27b.png);
	background-repeat:no-repeat;
	background-size: 14px 13px;
	width:14px;
	height: 13px;
}
.icon__close {					/*  閉じる  */
	display: block;
	background-image: url(/assets/icon__close--black-af8233f6da9cb6c40baca97b68a0edc574aca28c1429a314af2a90c81da63237.png);
	background-repeat:no-repeat;
	background-size: 16px;
	width:16px;
	height: 16px;
	margin-right: 10px;
}


/* -------------------------------------------------

 login

------------------------------------------------- */
.login__item {
	width: 570px;
	display: flex;
	flex-flow: column wrap;
 justify-content: center;
 align-items:flex-start;
}
.login__item label {
	margin: 0 0 15px;
	font-size: 1.8rem;
	font-weight: 500;
}
.login__item input {
 width:100%;
 height:50px;
 padding:0 10px;
	border: 3px solid #cccccc;
 border-radius:5px;
 background-color:#ffffff;
}
.login__item input:focus {
	background-color:#f3f3f3;
	border: 3px solid rgba(0, 0, 0, 0.32);
	box-shadow: none;
	outline: none;
}
.login__text a {
	text-decoration: underline;
}
.login__text a:hover {
	text-decoration: none;
}
.login__text_570px {
	width: 570px;
	font-size: 1.8rem;
}
@media screen and (max-width: 768px)  {
.login__item {
 max-width: 570px;
 width:100%;
}
.login__text_570px {
 max-width: 570px;
 width:100%;
}
}
@media screen and (max-width: 667px)  {
.login__item label {
	margin: 0 0 10px;
	font-size: 1.6rem;
}
.login__text_570px {
	font-size: 1.6rem;
}
}


/* -------------------------------------------------

member（会員）

------------------------------------------------- */
.member {
	margin: 25px 0 0 0;
}
.member h3	{
	font-weight: 500;
	margin-bottom: 30px;
	padding: 0 0 15px 28px;
	border-bottom: 3px solid #cccccc;
	position:relative;
}
.member h3::before {
	content: '';
	position: absolute;
	top: .8em;
	left: 1px;
	transform: translateY(-50%);
	width: 18px;
	height: 18px;
	border: 3px solid #f89297;
	border-radius: 100%;
}
@media screen and (max-width: 667px)  {
.member h3	{
	font-size: 2rem;
	margin-bottom: 15px;
	padding: 0 0 10px 24px;
}
.member h3::before {
	top: .85em;
	width: 15px;
	height: 15px;
}
}

/* -------------------------------------------------

administrator（管理者）

------------------------------------------------- */
.administrator {
	margin: 25px 0 0 0;
}
.administrator--MED {
	margin: 50px 0 0 0;
}
.administrator h3	{
    font-weight: 500;
    margin-bottom: 30px;
    padding: 0 0 15px 28px;
    border-bottom: 3px solid #cccccc;
    position:relative;
}
.administrator h3::before {
    content: '';
    position: absolute;
    top: .8em;
    left: 1px;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    border: 3px solid #f89297;
    border-radius: 100%;
}

@media screen and (max-width: 667px)  {
    .administrator h3	{
        font-size: 2rem;
        margin-bottom: 15px;
        padding: 0 0 10px 24px;
    }
    .administrator h3::before {
        top: .85em;
        width: 15px;
        height: 15px;
    }
    .destination,.order {
        margin: 40px 0 0;
    }

}


/* -------------------------------------------------

form

------------------------------------------------- */
/* ボタン上の横線
================================================== */
.border-bottom_5px	{
	width: 100%;
	margin: 10px auto 30px;
	border-bottom: 3px solid #cccccc;
}
@media screen and (max-width: 667px)  {
.border-bottom_5px	{
	margin: 0px auto 30px;
}
}
@media screen and (max-width: 480px)  {
.border-bottom_5px	{
	margin: 0px auto 20px;
}
}

/* 横並び／縦並び
================================================== */
.item {		/*  横並び-折り返しなし-上下中央揃え配置  */
    display: flex;
    align-items: center;
    margin-bottom: 40px;
}

.item--row {		/*  横並び-折り返しあり-上揃え配置  */
    display: flex;
    align-items:flex-start;
    margin-bottom: 40px;
}
.item--row02 {		/*  横並び-折り返しあり-上揃え配置  */
    display: flex;
    align-items:flex-end;
    margin-bottom: 40px;
}
.item--row03 {		/*  横並び-折り返しあり-上下中央揃え配置  */
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 20px;
}

.item--col {		/*  縦並び  */
    display: flex;
    flex-direction:column;
    margin-bottom: 40px;
}
.item--col .inner {		/*  横並び-折り返しなし  */
    flex-flow: row nowrap;
}
.item--col .row {		/*  横並び-折り返しあり-上下中央揃え配置  */
    display: flex;
    flex-flow: row wrap;
    align-items: center;
}
.item--select {		/*  縦並び--selectタグ用  */
    display: flex;
    flex-direction:column;
    margin-top: -30px;
    margin-bottom: 20px;
    margin-left: 50px;
}
.item--select02 {		/*  縦並び--selectタグ用  */
    display: flex;
    flex-direction:column;
    margin-top: -30px;
    margin-bottom: 20px;
}

.row02 {		/*  横並び-折り返しあり-上下中央揃え配置  */
    display: flex;
    flex-flow: row wrap;
    align-items:center;
}

@media screen and (max-width: 667px)  {
    .item,
    .item--row {
        flex-direction:column;
        align-items:flex-start;
        margin-bottom: 20px;
    }
    .item--col {
        margin-bottom: 20px;
    }
    .item--select {		/*  縦並び--selectタグ用  */
        margin-top: 10px;
        margin-bottom: 20px;
        margin-left: 0px;
    }
}

.item__search {		/*  検索用  */
    display: flex;
    justify-content: space-between;
    align-items:flex-end;
}
.item__search .inner {
    display: flex;
}
.item__search .inner .col {
    display: flex;
    flex-direction:column;
    margin-right: 30px;
}
@media screen and (max-width: 768px)  {
    .item__search .inner .col {
        margin-right: 15px;
    }
}
@media screen and (max-width: 667px)  {
    .item__search {		/*  検索用  */
        flex-direction:column;
        align-items:flex-start;
        margin-top: 10px;
    }
}
@media screen and (max-width: 568px)  {
    .item__search {		/*  検索用  */
        align-items:center;
        margin-top: 10px;
    }
    .item__search .inner {
        flex-direction:column;
        max-width: 300px;
        width: 100%;
    }
    .item__search .inner .col {
        flex-direction:row;
        justify-content: space-between;
        align-items:center;
        margin-right: 0px;
        margin-bottom: 10px;
    }
}



/* fieldsetの装飾
================================================== */
.item--col fieldset {
	border: none;
	margin: 15px 0;
}

/* labelの装飾
================================================== */
.item label,
.item--row label,
.item--col label {
    width: 180px;
    flex-shrink: 0;
    font-size: 1.8rem;
    font-weight: 500;
}
.item--row02 label {
    width: 180px;
    flex-shrink: 0;
    font-size: 1.8rem;
    font-weight: 500;
}
.item--row03 label {
    width: 180px;
    flex-shrink: 0;
    font-size: 1.8rem;
    font-weight: 500;
}
.item--row label {
    padding-top: 10px;
}
.item--col fieldset label,
.item--col .col label {
    width: 100%;
    font-size: 1.8rem;
    font-weight: 400;
}
.item--col .col label {
    margin-bottom: 10px;
}
.row02 label {
    width: 180px;
    flex-shrink: 0;
    font-size: 1.8rem;
    font-weight: 500;
}

.item--row03 .heading01 {
    width: 150px;
    flex-shrink: 0;
    font-size: 1.8rem;
    font-weight: 500;
}
.item--row03 .heading02 {
    width: 150px;
    font-size: 1.8rem;
    font-weight: 500;
}

@media screen and (max-width: 667px)  {
    .item label,
    .item--row label {
        width: 100%;
        font-size: 1.6rem;
        margin-bottom: 10px;
    }
    .item--row label {
        padding-top: 0px;
    }
    .item--col label {
        width: 100%;
        font-size: 1.6rem;
    }
    .item--col .col label {
        margin-bottom: 0px;
    }
}
@media screen and (max-width: 480px)  {
    .item--row03 .heading01 {
        max-width: 130px;
        width: 100% !important;
    }
    .item--row03 .heading02 {
        max-width: 130px;
        width: 100% !important;
    }
}

.selectbox04 select {
    height:50px;
    padding:0 10px;
    border: 3px solid #cccccc;
    border-radius:5px;
    background-color:#ffffff;
}

/* inputの装飾
================================================== */
.item input,
.item__search input,
.item--row input,
.item--col input,
.item--select input {
    height:50px;
    padding:0 10px;
    border: 3px solid #cccccc;
    border-radius:5px;
    background-color:#ffffff;
}
.item--row02 input,.item--row03 input {
    height:50px;
    padding:0 10px;
    border: 3px solid #cccccc;
    border-radius:5px;
    background-color:#ffffff;
}
.item .field_with_errors input,
.item__search .field_with_errors input,
.item--row .field_with_errors input,
.item--col .field_with_errors input,
.item--select .field_with_errors input {
    border: 3px solid #FF0004 !important;
}
.item--row02 .field_with_errors input,
.item--row03 .field_with_errors input {
    border: 3px solid #FF0004 !important;
}
.item--row .col input {
    margin: 0 0 10px;
}
.item--col .inner input {
    margin: 10px 0;
}
.item input:focus,
.item__search input:focus,
.item--row input:focus,
.item--col input:focus,
.item--select input:focus {
    background-color:#f3f3f3;
    border: 3px solid rgba(0, 0, 0, 0.32);
    box-shadow: none;
    outline: none;
}
.item--row02 input:focus,
.item--row03 input:focus {
    background-color:#f3f3f3;
    border: 3px solid rgba(0, 0, 0, 0.32);
    box-shadow: none;
    outline: none;
}

.item input::placeholder,
.item__search input::placeholder,
.item--row input::placeholder,
.item--col input::placeholder,
.item--select input::placeholder {
    opacity: 0.5;
    font-weight: 500;
}
.item--row02 input::placeholder,
.item--row03 input::placeholder {
    opacity: 0.5;
    font-weight: 500;
}

/* select_List--商品リスト
================================================== */
.select_List {
    display: flex;
    align-items: center;
    margin-bottom: 30px;
}
@media screen and (max-width: 520px)  {
    .select_List {
        flex-flow: column wrap;
        align-items: flex-start;
    }
}

/* select_Number--商品リスト個数
================================================== */
.select_Number {
    display: flex;
    align-items: center;
}
@media screen and (max-width: 520px)  {
    .select_Number {
        margin-top: 20px;
    }
}

/* selectの装飾
================================================== */
.selectbox,
.selectbox02,
.selectbox03 {
    position: relative;
}

.selectbox::before,
.selectbox::after,
.selectbox02::before,
.selectbox02::after,
.selectbox03::before,
.selectbox03::after{
    position: absolute;
    content: '';
    pointer-events: none;
}

.selectbox::before {
    display: inline-block;
    right: 0;
    /*width: 2.8em;
    height: 2.8em;*/
    width: 50px;
    height:50px;
    border-radius: 0 3px 3px 0;
    background-color:#F89297;
}
.selectbox02::before {
    display: inline-block;
    right: -30px;
    width: 50px;
    height:50px;
    border-radius: 0 3px 3px 0;
    background-color:#F89297;
}
.selectbox03::before {
    display: inline-block;
    right: 0px;
    width: 50px;
    height:50px;
    border-radius: 0 3px 3px 0;
    background-color:#F89297;
}

.selectbox::after {
    position: absolute;
    top: 45%;
    right: 1.55em;
    transform: translate(50%, -50%) rotate(45deg);
    width: 10px;
    height: 10px;
    border-bottom: 3px solid #ffffff;
    border-right: 3px solid #ffffff;
}
.selectbox02::after {
    position: absolute;
    top: 45%;
    right: -0.35em;
    transform: translate(50%, -50%) rotate(45deg);
    width: 10px;
    height: 10px;
    border-bottom: 3px solid #ffffff;
    border-right: 3px solid #ffffff;
}
.selectbox03::after {
    position: absolute;
    top: 45%;
    right: 1.55em;
    transform: translate(50%, -50%) rotate(45deg);
    width: 10px;
    height: 10px;
    border-bottom: 3px solid #ffffff;
    border-right: 3px solid #ffffff;
}

.selectbox select {
    appearance: none;
    width: 300px;
    /*min-width: 230px;
    height: 2.8em;*/
    height:50px;
    padding: .4em 3.6em .4em .8em;
    border: none;
    border-radius: 3px;
    background-color: #f2f2f2;
    color: #333333;
    /*font-size: 1em;*/
    cursor: pointer;
}
.selectbox02 select {
    appearance: none;
    width: 200px;
    height:50px;
    padding: .4em 3.6em .4em .8em;
    border: none;
    border-radius: 3px;
    background-color: #f2f2f2;
    color: #333333;
    cursor: pointer;
    font-size: 1.6rem;
}
label.selectbox03 {
    width: auto;
}
label.selectbox03 select {
    appearance: none;
    width: 130px;
    height:50px;
    padding: .4em 3.6em .4em .8em;
    border: none;
    border-radius: 3px;
    background-color: #f2f2f2;
    color: #333333;
    cursor: pointer;
    font-size: 1.6rem;
}
.Product_name{
    width: 130px;
    font-size: 1.6rem;
}
@media screen and (max-width: 768px)  {
    .selectbox select {
        max-width: 240px;
    }

}
@media screen and (max-width: 520px)  {
    .selectbox select {
        max-width: 260px;
    }
    .Product_name {
        width: 100%;
    }

}
@media screen and (max-width: 420px)  {
    .selectbox select {
        width: 100%;
    }
}
.selectbox select:focus {
    /*outline: 2px solid #F89297;*/
    border: 3px solid rgba(0, 0, 0, 0.32);
    box-shadow: none;
    outline: none;
}

/* web注文フラグの装飾
================================================== */
.item label .LabelName {
	width: 180px;
	flex-shrink: 0;
	font-size: 1.8rem;
	font-weight: 500;
}
.flag_CheckboxInput {
 display: flex;
 align-items: center;
	width: 100% !important;
}
.list__flag_CheckboxInput {			/*  会員一覧で使用  */
 display: flex;
 align-items: center;
	justify-content:center;
}
.order__flag_CheckboxInput {			/*  注文登録で使用  */
 display: flex;
 align-items: center;
}
.flag_CheckboxInput-Input {
 margin: 0;
 width: 0;
 opacity: 0;
}
.flag_CheckboxInput-Input:focus + .flag_CheckboxInput-DummyInput{
    /*border: 3px solid #cccccc;*/
    border: 3px solid rgba(0, 0, 0, 0.32);
    box-shadow: none;
    outline: none;
}
.flag_CheckboxInput-Input:checked + .flag_CheckboxInput-DummyInput {
    border: 3px solid #F89297;
    background:#F89297;
}
.flag_CheckboxInput-Input:checked + .flag_CheckboxInput-DummyInput::before {
 content: "";
 display: block;
 position: absolute;
 top: 50%;
 left: 50%;
 width: 40%;
 height: 4px;
 border-radius: 2px;
 transform: translate(-6px, 5px) rotateZ(-135deg);
 transform-origin: 2px 2px;
 background: #FFFFFF;
}
.flag_CheckboxInput-Input:checked + .flag_CheckboxInput-DummyInput::after {
 content: "";
 display: block;
 position: absolute;
 top: 50%;
 left: 50%;
 width: 76%;
 height: 4px;
 border-radius: 2px;
 transform: translate(-6px, 5px) rotateZ(-45deg);
 transform-origin: 2px 2px;
 background: #FFFFFF;
}
.flag_CheckboxInput-DummyInput {
 position: relative;
 top: 0;
 left: 0;
 display: block;
 width: 32px;
 height: 32px;
 border: solid 3px #cccccc;
 background: rgba(0,0,0, .1);
 border-radius: 4px;
}
.flag_CheckboxInput-LabelText {
 margin-left: 15px;
 display: block;
 font-size: 1.8rem;
	line-height: normal;
}
.flag_CheckboxInput-LabelText br {
 display: none;
}
@media screen and (max-width: 667px)  {
.item label .LabelName {
	width: 140px;
	font-size: 1.6rem;
}
.flag_CheckboxInput {
	width: auto !important;
}
.flag_CheckboxInput-LabelText {
 font-size: 1.6rem;
}
}
@media screen and (max-width: 414px)  {
.flag_CheckboxInput-LabelText br {
 display: block;
}	
}


/* -------------------------------------------------

list__inner（一覧表）

------------------------------------------------- */
.list__inner,
.list__inner--Rx {
	overflow-x: auto;
	margin-bottom: 30px;
}
.list__inner table {
	width: 100%;
}
.list__inner table thead tr  {
	background-color: #ffcdcf;
}
.list__inner table thead th  {
	font-weight: 500;
	text-align: center;
	padding: 10px 5px;
}
.list__inner table tbody td  {
	text-align: center;
	vertical-align:middle;
	/*height: 60px;*/
	padding: 10px 0;
}
.list__inner table tbody:first-of-type td  {
	text-align: center;
	vertical-align:middle;
	/*height: 60px;*/
	padding: 30px 0 10px;
}
.list__inner table tbody:first-of-type td:last-of-type {
	width: 170px;
}

/* 商品一覧（list__inner--Rx指定）
================================================== */
.list__inner--Rx table {
	max-width: 890px;
	width: 100%;
}
.list__inner--Rx table thead  {
	display: block-;
}
.list__inner--Rx table thead tr  {
	background-color: #ffcdcf;
	display: flex-;	
}
.list__inner--Rx table thead th  {
	font-weight: 500;
	padding: 10px 5px 10px 25px;
}
.list__inner--Rx table tbody:first-of-type td:nth-of-type(1)  {
	vertical-align:middle;
	padding: 30px 0 10px;
	padding-left: 25px;
}
.list__inner--Rx table tbody:first-of-type td:nth-of-type(2)  {
	vertical-align:middle;
	width: 170px;
	padding: 30px 0 10px;
    padding-left: 25px;		/* 20241010追加 */
}
.list__inner--Rx table tbody:first-of-type td:nth-of-type(3)  {		/* 20241010追加 */
    vertical-align:middle;
    width: 170px;
    padding: 30px 0 10px;
}
.list__inner--Rx table tbody td  {
	vertical-align:middle;
	padding: 10px 0 10px 25px;
}
.list__inner--Rx table tbody td:last-of-type  {
	padding: 10px 0;
}
@media screen and (max-width: 1080px)  {
.list__inner table {
	min-width: 850px;
	width: 100%;
}	
}
@media screen and (max-width: 568px)  {
.list__inner--Rx table {
	min-width: 500px;
	width: 100%;
}	
}
@media screen and (max-width: 480px)  {
.list__inner,
.list__inner--Rx {
	margin-bottom: 20px;
}
}

/* list__inner の inputの装飾
================================================== */
.list__inner input {
	height:50px;
	padding:0 10px;
	border: 3px solid #cccccc;
	border-radius:5px;
	background-color:#ffffff;	
 }
 .list__inner .field_with_errors input {
	border: 3px solid #FF0004 !important;
 }
 .list__inner input:focus {
	background-color:#f3f3f3;
	border: 3px solid rgba(0, 0, 0, 0.32);
	box-shadow: none;
	outline: none;
 }
 .list__inner input::placeholder {
	opacity: 0.5;
	font-weight: 500;
 }


/* -------------------------------------------------

other

------------------------------------------------- */
/* required（必須）
================================================== */
.required::after {
	content: "必須";
	color: #ffffff;
	background:#eb3838;
	font-size: 1.2rem;
	padding: 0.1rem 1rem 0.2rem 1rem;
	border-radius: 0.5rem;
	margin-left:1rem;
	vertical-align: 2px;
	font-weight: 400;
	line-height:normal;
}

/* font-size（文字サイズ）
================================================== */
.font-size16 {
	font-size: 1.6rem;
}
.font-size18 {
	font-size: 1.8rem;
}
@media screen and (max-width: 667px)  {
.font-size16 {
	font-size:1.4rem;
}
.font-size18 {
	font-size: 1.6rem;
}
}

/* margin（外側の余白）
================================================== */
.margin__bottom_10px {
    margin-bottom: 10px;
}
.margin__bottom_20px {
    margin-bottom: 20px;
}
.margin__bottom_35px {
    margin-bottom: 35px;
}
.margin__bottom_40px {
    margin-bottom: 40px;
}
.margin__bottom_50px {
    margin-bottom: 50px;
}
.margin__bottom_60px {
    margin-bottom: 60px;
}
.margin__bottom_70px {
    margin-bottom: 70px;
}

.margin__left_40px {
    margin-left: 40px;
}

.margin__left-right_15px {
    margin-left: 15px;
    margin-right: 15px;
}

.margin__right_20px {
    margin-right: 20px;
}
.margin__right_30px {
    margin-right: 30px;
}

.margin__top_10px {
    margin: 10px 0 0 0;
}
.margin__top-bottom_30px {
    margin: 30px 0;
}
.margin__top-bottom_40px {
    margin: 40px 0;
}
.margin__top-bottom_50px {
    margin: 50px 0;
}

.margin__top-bottom-left_10px {
    margin: 10px 0 10px 10px;
}

.margin__top-bottom-right {
    margin: 0px;
}
@media screen and (max-width: 1080px)  {
    .margin__top-bottom-right {
        margin: 5px 10px 5px 0px;
    }
}
@media screen and (max-width: 667px)  {
    .margin__bottom_20px {
        margin-bottom: 10px;
    }
    .margin__bottom_35px {
        margin-bottom: 25px;
    }
    .margin__bottom_40px {
        margin-bottom: 30px;
    }
    .margin__bottom_50px {
        margin-bottom: 40px;
    }
    .margin__bottom_60px {
        margin-bottom: 50px;
    }
    .margin__bottom_70px {
        margin-bottom: 50px;
    }

    .margin__top-bottom_40px {
        margin: 20px 0;
    }

    .margin__right_20px {
        margin-right: 0px;
        margin-bottom: 10px;
    }
    .margin__right_30px {
        margin-right: 0px;
    }

    .margin__top-bottom_30px {
        margin: 20px 0;
    }
    .margin__top-bottom_50px {
        margin: 30px 0;
    }

    .margin__top-bottom-left_10px {
        margin: 10px 0 10px 0px;
    }
}
@media screen and (max-width: 480px)  {
    .margin__bottom_35px {
        margin-bottom: 18px;
    }
    .margin__bottom_40px {
        margin-bottom: 20px;
    }
    .margin__bottom_50px {
        margin-bottom: 25px;
    }
    .margin__bottom_60px {
        margin-bottom: 30px;
    }
    .margin__bottom_70px {
        margin-bottom: 30px;
    }

    .margin__top-bottom-right {
        margin: 0px 0px 10px;
    }
    .margin__top-bottom-right:last-child {
        margin: 0px;
    }
}
@media screen and (max-width: 480px)  {
    .margin__left_40px {
        margin-left: 0px;
    }
}

/* padding（内側の余白）
================================================== */
.padding__left-right_5px {
	padding: 0 5px;
}
.padding__left25px-right15px {			/*  生年月日の「年月日」に使用  */
	padding: 0 25px 0 15px;
}
.padding__left-right15px {			/*  「×」に使用  */
    padding: 0 15px;
}
.padding__right_10px {
    /*padding-right: 10px;*/
}
.padding__left-right_10px {
    padding: 0 10px;
}
@media screen and (max-width: 667px)  {
.padding__left25px-right15px {
	padding: 0 15px 0 5px;
}
}
	
/* width（横幅）
================================================== */
.width__100percent {
	width: 100% !important;
}
.width__110px {
    width: 110px;
}
.width__120px {
	width: 120px;
}
.width__130px,.width__130px_search {
    width: 130px !important;
}

.width__150px,.width__150px_other {
    width: 150px !important;
}
.width__240px {
	width: 240px;
}
.width__300px {
	width: 300px;
}
.width__360px {
	width: 360px;
}
.width__400px {
	width: 400px;
}
.width__570px {
	width: 570px;
}
.width__680px {
    max-width: 680px;
}
.width__800px {
	max-width: 800px;
}
.width__1000px {
	max-width: 1000px;
}
@media screen and (min-width: 1001px) and (max-width: 1080px) {
.width__1000px {
	margin: 0 40px;
}
}
@media screen and (max-width: 920px) {
    .width__570px {
        max-width: 570px;
        width: 100%;
    }
    .width__680px {
        width: 100%;
    }
}
@media screen and (max-width: 768px)  {
.width__240px {
	/*max-width: 240px;*/
	max-width: 300px;
	width: 100%;
}
.width__300px {
	max-width: 300px;
}
.width__360px {
	max-width: 360px;
}
.width__400px {
	max-width: 400px;
}
}
@media screen and (max-width: 480px)  {
    .width__240px,
    .width__300px,
    .width__360px,
    .width__400px {
        width: 100% !important;
    }
    .width__130px {
        max-width: 180px;
        width: 100% !important;
    }
    .width__130px_search {
        max-width: 130px;
        width: 100% !important;
    }
		.width__150px_other {
			max-width: 130px;
			width: 100% !important;
		}



}

/* button__position_top-right（button__grayリンクボタンの位置）
================================================== */
.button__position_top-right {
	position: absolute;
	top:30px;
	right:30px;
}
.button__position_top {
	margin-top: -20px;
}
@media screen and (max-width: 667px)  {
.button__position_top-right {
	position:static;
}
.button__position_top {
	margin-top: 0px;
}
}

/* 箇条書き（※印）
================================================== */
dl.asterisk	{
    width: 100%;
    display: flex;
    flex-flow: row wrap;
}
dl.asterisk dt	{
    flex-basis: 22px;
    font-weight:normal;
}
dl.asterisk dd	{
    flex-basis: calc(100% - 22px);
}
dl.asterisk dd a	{
    text-decoration: underline;
}
dl.asterisk dd a:hover	{
    text-decoration: none;
}
@media screen and (max-width: 667px)  {
    dl.asterisk	{
        font-size: 1.4rem;
        margin: 15px 0;
    }
}

/* モーダルウィンドウ
================================================== */
.privacypolicy_wrp {
    margin-bottom: 30px;
}
.privacypolicy_wrp h1 {
    font-size: 2.4rem;
    margin-bottom: 30px;
}
.privacypolicy_inner {
    max-height: 300px;
    text-align: left !important;
    overflow:auto;
    overflow-y:scroll;
}
.privacypolicy_box {
    margin-bottom: 20px;
}
.privacypolicy_box:last-child {
    margin-bottom: 50px;
}
.privacypolicy_box h2 {
    font-weight: 500;
    font-size: 1.6rem;
    margin-bottom: 5px;
}
.privacypolicy_box ul {
    list-style-type:disc;
    padding: 0 0 0 30px;
}
.privacypolicy_box li {
    padding: 5px 0;
}
.privacypolicy_box p {
    margin-bottom: 10px;
}
@media screen and (max-width: 667px)  {
    .remodal {
        padding: 20px !important;
    }
    .privacypolicy_wrp h1 {
        font-size: 1.8rem;
        margin-bottom: 20px;
    }
    .privacypolicy_box:last-child {
        margin-bottom: 30px;
    }
    .privacypolicy_box h2 {
        font-size: 1.4rem;
    }
    .privacypolicy_box li {
        font-size: 1.4rem;
        padding: 3px 0;
    }
    .privacypolicy_box p {
        font-size: 1.4rem;
        margin-bottom: 5px;
    }
}
/*商品の日数選択リストの表示制御用*/
.daylist1,.daylist2,.daylist3,.daylist4,.daylist5,.daylist6,.daylist7,.daylist8,.daylist9,.daylist10 {
    display: none;
}
.itemlist1_1,.itemlist2_1,.itemlist3_1,.itemlist4_1,.itemlist5_1,.itemlist6_1,.itemlist7_1,.itemlist8_1,.itemlist9_1,.itemlist10_1 {
    display: none;
}
.itemlist1_2,.itemlist2_2,.itemlist3_2,.itemlist4_2,.itemlist5_2,.itemlist6_2,.itemlist7_2,.itemlist8_2,.itemlist9_2,.itemlist10_2 {
    display: none;
}
/*注文情報の送信ボタンの表示制御用*/
/*.chuumon_sousin_yuukou {*/
    /*display: none;*/
/*}*/

/* ラジオボタン（注文登録で使用）
================================================== */
.flag_RadioInput {
  display: flex;
  align-items: center;
}
.flag_RadioInput-Input {
  opacity: 0;
  width: 0;
  margin: 0;
}
.flag_RadioInput-Input:focus + .flag_RadioInput-DummyInput {
		border: 3px solid rgba(0, 0, 0, 0.32);
		box-shadow: none;
		outline: none;
}
.flag_RadioInput-Input:checked + .flag_RadioInput-DummyInput {
  border: solid 3px #F89297;
		background: #ffffff;
}
.flag_RadioInput-Input:checked + .flag_RadioInput-DummyInput::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #F89297;
}
.flag_RadioInput-DummyInput {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background:#E5E5E5;
  border: solid 3px #cccccc;
}
.flag_RadioInput-LabelText {
  margin-left: 15px;
  display: block;
  font-size: 1.8rem;
		line-height: normal;
  font-weight: 400;
}
.pagination {
    padding: 3px;
    margin: 3px;
}

.pagination a {
    padding: 2px 5px 2px 5px;
    margin: 2px;
    border: 1px solid #aaaadd;
    text-decoration: none;
    color: #000099;
}

.pagination a:hover, .pagination a:active {
    background-color: #FFFACD;
    border: 1px solid #000099;
    color: #000;
}

.pagination em.current {
    padding: 2px 5px 2px 5px;
    margin: 2px;
    border: 1px solid #000099;
    font-weight: bold;
    background-color: #000099;
    color: #FFF;
}

.pagination span.disabled {
    padding: 2px 5px 2px 5px;
    margin: 2px;
    border: 1px solid #eee;
    color: #ddd;
}


/*@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;600;700&display=swap');*/
@font-face {
    font-family: "Noto Sans JP";
    src: url(/assets/NotoSansJP-VariableFont_wght-220c296cff680542e78d9946ed97c6dba0ad15f578efdca5973ae3debc7ac929.ttf) format("truetype");
}


*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}

/* Document */
/* ============================================ */
html {
 	font-family: 'Noto Sans JP', sans-serif;
		line-height: 1.15;
  -webkit-text-size-adjust: 100%;			/*  スマホ等で閲覧時、文字サイズの自動調整しないようにする（Chrome/Safari/ほとんどのiOSブラウザ）  */
		overflow: auto;																			/*  横幅いっぱいに広げる  */
		
}
html {
 	font-size: 62.5%;
		font-style: normal;
 	-webkit-tap-highlight-color: transparent;
}

body {
 margin: 0;
}

body {
 font-family: "Open Sans", "Helvetica Neue", Helvetica, "Arial", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.6rem;				/* 16px; */
	font-style: normal;
 line-height: 1.5;
 color: #333333;
}

body {
  min-height: 100vh;														
  scroll-behavior: smooth;								/* スムーズなアンカースクロール */
  text-rendering: optimizeSpeed;		/*  文字表示の速さ  */
}

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

p,
table,
blockquote,
address,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

h1 {
  font-size: 3.2rem;			/* 32px */
}

h2 {
  font-size:2.8rem;				/*28px*/
}

h3 {
  font-size: 2.4rem;			/*24px*/
}

h4 {
  font-size: 1.8rem;			/*18px*/
}

h5 {
  font-size: 1.6rem;			/*16px*/
}

h6 {
  font-size: 1.2rem;			/*12px*/
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}
dd {
  margin-left: 0;
}

/* Text-level semantics */
/* ============================================ */
a {
  text-decoration: none;
  background-color: transparent;			/*   transparent指定すると色が透明になる   */
}

/*  a:hover 要素の上にかざした時の動作 ／ a:active 選択時に押し下げた時の動作  */
a:active,
a:hover {
  outline: 0;
}

/*  a:hover 要素の上にかざした時の動作 ／ a:focus 選択後の動作  */
a:hover, a:focus {
  text-decoration: underline;
}
a:focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}

/*  文字の輪郭をスキップする効果  */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

b,
strong {
  /*font-weight: bold;*/
  font-weight: bolder;
}

/*  上付き文字要素（sup）／下付き文字要素（sub）  */
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {	/*下付き文字*/
  bottom: -0.25em;
}

sup {	/*上付き文字*/
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */
svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}
img {
  border: 0;
}

/* Grouping content */
/* ============================================ */
hr {
  height: 0;
  box-sizing: content-box;
		overflow: visible;		/* Edge and IE */
}

address {
  font-style: inherit;
}

/* Forms */
/* ============================================ */
button,
input,
optgroup,
select,
textarea {
	  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit; 
}

input {
  line-height: normal;
}

[type="checkbox"] {
  -webkit-appearance: checkbox;
  appearance: checkbox;
}

[type="radio"] {
  -webkit-appearance: radio;
  appearance: radio;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
  border-style: none;
}

/* disabled属性=非活性 */
button:disabled,
[type="button"]:disabled,
[type="reset"]:disabled,
[type="submit"]:disabled {
  cursor: default;
}

/* ↓追加  スマホ等の誤作動を防止 */
:where(button, [type='button'], [type='reset'], [type='submit']) {
  touch-action: manipulation;
}

[type="search"] {
  -webkit-appearance: none;		/* ウィジェット機能を無効にする（×印） */
		outline-offset: -2px; /* Safari */
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
  border: 0;
}

textarea {
  overflow: auto;
		overscroll-behavior-block: contain;			/* 追加  スマホ等の誤作動を防止 */
}

/*multiple＝複数の選択肢を同時に選択できる*/
/*size＝同時に表示する選択肢の数を指定する*/
select[multiple],
select[size] {
  height: auto;
}

/* ↓<select> 要素内の選択肢のグループ */
optgroup {
  font-weight: bold;
}

option {
  padding: 0;
}

label {
  display: inline-block;
  max-width: 100%;
}

label[for] {
  cursor: pointer;
}

/* Tables */
/* ============================================ */
table {
  border-color: inherit;
  border-spacing: 0;
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

/*  ↓（追加）タップ操作orポインター操作の区別を行い、タップデバイスでのホバーアクションを無効にする  */
@media (any-hover: hover) {
  /*.button:hover {
    background-color: var(--background-hover);
  }*/
}








/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS (and SCSS, if configured) file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *




 */
