@charset "UTF-8";

/* 変数定義 */
:root {
    --color-wht1: #e8ecef; /**/
    --color-wht2: #ffffff; /**/
    --color-blak: #2d2d2d; /**/
    --color-gray: #a9b0b4; /**/

    --color-bgwt: #d6d8d9; /**/
    --color-bgbk: #203744; /**/

    --color-1drk: #bae3d4; /*grn*/
    --color-1lit: #dcf4ec;
    --color-2drk: #c4dfed; /*blu*/
    --color-2lit: #dcf4f2;
    --color-3drk: #dad8eb; /*ppl*/
    --color-3lit: #f1f1fb;
    --color-4drk: #edc4d1; /*pnk*/
    --color-4lit: #f4dce4;
    --color-5drk: #fddea5; /*org*/
    --color-5lit: #feebc9;

    --pc-fulwidth: 1100px; /**/
    --pc-subwidth: 250px; /**/
}

/* 全体 */
*::after,
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

html {
    overflow-y: scroll;
}
body {
	margin: 0px auto; /*外余白　上下：0px　左右：自動*/
	padding:0;
	font-family:"メイリオ","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック";
	font-size:13px;
	line-height:1.4;
	vertical-align: middle;
        background-color: var(--color-bgwt);
	color:var(--color-blak);
	position: relative;
	z-index: 1;
}
/* link */
body a {
	color: var(--color-gray);
	text-decoration: none;
}
body a:hover {
    text-decoration: none;
}
a[target="_blank"]:after {
    content: '';
    display: inline-block;
    margin-left: 3px;
    width:  10px;
    height: 10px;
    background-image: url('newwin_w.gif');
    background-size: contain;
    vertical-align: middle;
}

/* 改行 */
.br_pc {
    display: block;
}
.br_sp {
    display: none;
}

/*--------------------------------------------------*/
/* header navi */
#top-head {
    margin:  0;
    padding: 0;
    height: 40px;
    width: 100%;
    position: fixed;
    z-index: 999;

    font-size: .9em;
    line-height: 1;
    background-color: var(--color-bgbk);
/*    border-bottom: solid 3px var(--color-bgwt);*/
}
#top-head nav{
    max-width: var(--pc-fulwidth);
    margin:  0 auto;
    padding: 0 15px;
}
#top-head .container {
	position: relative;
}
#menu-btn-check {
    display:none;
}
.menu-content {
    display: flex;
    justify-content: space-between;
}
/*-  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - */
/* site-title */
*>.allergen-icon {
    display:none;
}
#s-title {
    margin-left: 20px;
}
#s-title a {
    margin:  0;
    padding: 0 15px;
    display: flex;
}
.hn-con {
    width:  30px;
    height: 30px;
    margin:  5px 2px 0 0;
    padding: 0;
    fill: var(--color-gray);
}
#s-title span {
    margin: 12px 0;
    font-size: 1.6em;
    font-weight: bold;
}
#s-title a:hover {
    background-color: var(--color-bgwt);
}
#s-title a:hover .hn-con {
    fill: var(--color-bgbk);
}
#s-title a:hover span {
    color: var(--color-bgbk);
}
#s-title.current a {
    background-color: var(--color-bgwt);
}
#s-title.current a .hn-con {
    fill: var(--color-bgbk);
}
#s-title.current a span {
    color: var(--color-bgbk);
}
#s-title.current a:hover .hn-con {
    fill: var(--color-gray);
}
#s-title.current a:hover span {
    color: var(--color-gray);
}
/*-  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - */
/* House rules */
.house-r {
    display: flex;
}
.house-r span{
    display: block;
    margin : 12px 0 3px;
    padding:  5px 8px 5px 2px;
    color:    var(--color-wht1);
    height: 20px;
}
.house-r ul {
    margin:  0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: row;
}
.house-r ul li {
    margin:  0;
    padding: 0;
    height: 40px;
}
.house-r ul li a{
    display: block;
    margin : 12px 0 3px;
    padding:  5px 8px;
    color:    var(--color-wht1);
    font-size: 1em;
    border-right: dotted 1px var(--color-gray);
}
.house-r ul li:first-child a{
    border-left: dotted 1px var(--color-gray);
}
.house-r ul li.current a {
    margin : 12px 0 -5px;
    padding:  5px 9px 13px 8px;
    background-color: var(--color-bgwt);
    color: var(--color-blak);
    font-weight: bold;
    border-right: none;
    border-radius: 5px 5px 0 0;
}
.house-r ul li a:hover,
.house-r ul li.current a:hover {
    border-top: solid 5px var(--color-gray);
    margin-top: 7px;
}

/*--------------------------------------------------*/
/* 共通 */
.container {
    max-width: var(--pc-fulwidth);
    margin:  0 auto;
    padding: 50px 0 0;

    display: table;
}

/*-  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - */
/* サブ */
.sub_dsp {
    width:   var(--pc-subwidth);

    display: table-cell;
    position: relative;
    text-align: center;
}
.tag_list {
    padding: 0 10px;
    width:   var(--pc-subwidth);
    height:  100%;

    position: fixed;
}
/*-  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - */
/* メイン */
.main_dsp {
    margin:  10px 20px;
    padding: 30px;
    max-width: calc(var(--pc-fulwidth) - var(--pc-subwidth) - 40px);

    background-color: var(--color-wht2);
    border-radius: 8px;
    border: dashed 1.5px var(--color-bgwt);
    line-height: 200%;
}

/*-  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - */
/* sub */
.sub_dsp a {
    margin: 5px;
    width:  calc(100% - 10px);
    height: 30px;

    display: flex;
    justify-content: center;
    align-items: center;

    background-color: var(--color-gray);
    border-radius: 3px;
    border: dashed 1.5px var(--color-bgwt);
    color:var(--color-blak);
    font-weight: bold;
}
.sub_dsp a:hover {
    background-color: var(--color-bgwt);
    border: dashed 1.5px var(--color-gray);
}
.sub_dsp ul {
    list-style-type: square;
}
.sub_dsp ul li {
    margin-left: 15px;
    font-size:   0.85em;
    line-height: 150%;
    text-align:  left;
}

/*-  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - */
/* main */
.main_dsp h1 {
    margin:  0 5px 20px;
    padding: 0;
    width:   100%;
    font-size: 2em;
    border-bottom: solid 2px var(--color-gray);
}
.main_dsp h1::before {
    content: "■◇";
    color: var(--color-gray);
    font-size: .7em;
}
.main_dsp h1::after {
    content: "◇■";
    color: var(--color-gray);
    font-size: .7em;
}
.main_dsp h1::before{
    margin-right: 5px;
}
.main_dsp h1::after{
    margin-left: 5px;
}.main_dsp h2 {
    margin:  5px 0px;
    padding: 5px 15px 5px;
    width: 180px;
    height:35px;
    font-size: 1.1em;
    font-weight: normal;
}
.main_dsp h2:nth-of-type(1) {
    background: linear-gradient(to right, var(--color-1drk) 30px, var(--color-1lit) 40px, var(--color-1lit) 180px);
}
.main_dsp h2:nth-of-type(2) {
    background: linear-gradient(to right, var(--color-2drk) 30px, var(--color-2lit) 40px, var(--color-2lit) 180px);
}
.main_dsp h2:nth-of-type(3) {
    background: linear-gradient(to right, var(--color-3drk) 30px, var(--color-3lit) 40px, var(--color-3lit) 180px);
}
.main_dsp h2:nth-of-type(4) {
    background: linear-gradient(to right, var(--color-4drk) 30px, var(--color-4lit) 40px, var(--color-4lit) 180px);
}
.main_dsp h2:nth-of-type(5) {
    background: linear-gradient(to right, var(--color-5drk) 30px, var(--color-5lit) 40px, var(--color-5lit) 180px);
}
.main_dsp h3 {
    margin: 25px 0px 15px -10px; /*上右下左*/
    padding: 2px 15px 2px 10px;
    min-width:   100px;
    display: table;
    position: relative;

    background-color: var(--color-bgwt);
    border-radius: 5px;
    font-size: 1em;
    font-weight: bold;
    color: var(--color-blak);
}
.main_dsp h3::before {
    content: "";
    position: absolute;
    top: 100%;
    left: 20px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    border: solid 8px transparent;
    border-top: solid 8px var(--color-bgwt);
}
.conte h3:nth-of-type(1) {
    margin-top: 10px
}
.conte {
    margin:  -100px  5px 20px;
    padding:  100px 20px 20px;
    width:   100%;
    font-size: 1em;
}
.conte:not(:last-child) {
    border-bottom: solid 2px var(--color-gray);
}
.conte p {
    margin:  0;
    padding: 0;
    font-size: 1em;
}
/* -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -*/
/* marker */
.topic {
    margin: 5px 2px 15px;
    padding: 2px 3px;
}
.main_dsp .conte:nth-of-type(1) .topic {
    background: linear-gradient(transparent 65%, var(--color-1drk) 65%);
}
.main_dsp .conte:nth-of-type(2) .topic {
    background: linear-gradient(transparent 65%, var(--color-2drk) 65%);
}
.main_dsp .conte:nth-of-type(3) .topic {
    background: linear-gradient(transparent 65%, var(--color-3drk) 65%);
}
.main_dsp .conte:nth-of-type(4) .topic {
    background: linear-gradient(transparent 65%, var(--color-4drk) 65%);
}
.main_dsp .conte:nth-of-type(5) .topic {
    background: linear-gradient(transparent 65%, var(--color-5drk) 65%);
}
/*--------------------------------------------------*/
/* table */
table {
    table-layout: fixed;
    width: 90%;
    margin:  5px 30px;
    padding: 0;

    border-collapse:  collapse;
}
table th, table td {
    padding: 3px 5px;
}
table tbody td {
    background: var(--color-wht2);
}
.main_dsp .conte:nth-of-type(1) table {
    background: var(--color-1lit);
}
.main_dsp .conte:nth-of-type(2) table {
    background: var(--color-2lit);
}
.main_dsp .conte:nth-of-type(3) table {
    background: var(--color-3lit);
}
.main_dsp .conte:nth-of-type(4) table {
    background: var(--color-4lit);
}
.main_dsp .conte:nth-of-type(5) table {
    background: var(--color-5lit);
}
/* -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -*/
table.btl th, table.btl td {
    border: solid 1px var(--color-gray);
}
table.btl thead tr th {
    background: var(--color-bgwt);
}
table.btl thead tr th:first-child ,
table.btl tbody tr th {
    width: 100px;
    text-align:  center;
}
table.btl thead tr th:nth-child(2) ,
table.btl tbody tr td:first-of-type {
    width: 80px;
    text-align:  center;
}

/* -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -*/
table.grw {
    text-align:  center;
}
table.grw .text_r {
    padding-right: 20px;
    padding-bottom: 2px;
    text-align:  right;
    font-weight: bold;
    font-size: 1em;
}
table.grw caption {
}
table.grw thead th:first-child {
    background: var(--color-wht2);
}
table.grw thead th:not(:first-child) ,
table.grw tbody th ,
table.grw tbody td {
    border: solid 1px var(--color-gray);
}
.main_dsp ul {
    margin:  0.5em 0 0.5em 1em;
    padding: 0 1em;
    list-style: square;
    line-height: 1.6em;
    display: flex;
    flex-direction: column;
}
.main_dsp ul li {
    padding: 0 5px;
    align-self: flex-start;
    border-bottom: dotted 1px var(--color-gray);
}
.main_dsp ul li::before {
    color: var(--color-bgbk);
}
.main_dsp ul li.cf::before {
    content: attr(data-label)" … ";
    color: var(--color-bgbk);
}

/*--------------------------------------------------*/
/* rlb */
ul.rlb {
    margin:  0 0.5em;
    padding: 0;
    list-style: none;

    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
}
ul.rlb li {
    width: 100px;
    margin:  5px;
    padding: 5px;
    background: var(--color-wht1);
    border: solid 1px var(--color-gray);

    display: flex;
    flex-direction: column;

}
ul.rlb li span {
    display: block;
}
ul.rlb li span:nth-of-type(1) {
    padding: 0 3px;
    font-weight: bold;
    background: var(--color-bgwt);
    border: solid 1px var(--color-gray);
}
ul.rlb li span:nth-of-type(2) {
    text-align:  center;
}
ul.rlb li.poss_n {
    background: var(--color-bgwt);
    color : var(--color-gray);
}
ul.rlb li.poss_n span:nth-of-type(1) {
    border: dotted 1px var(--color-gray);
}
/*--------------------------------------------------*/
/* カラム箱 */
.colmbox {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
/* -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -*/
.colm_two div {
    flex-basis: calc(50% - 10px);
    padding: 5px;
}
.colm_thr div {
    flex-basis: calc(100% / 3 - 10px);
    margin:  5px;
    padding: 5px;
}
/* -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -*/
@media screen and (max-width:500px) {
.colmbox {
    flex-direction: column;
}
}

/*--------------------------------------------------*/
/* フッター */
footer {
	font-ize: 0.8em;
	text-align: center;
	margin-top: 0px;
	padding: 14px 0px;
}

/*==================================================*/
/* ｉＰａｄ 横*/
@media screen and (max-width:1050px) {
.main_dsp {
    border: dotted 1px var(--color-bgwt);
}
.sub_dsp a {
    border: solid 1px var(--color-bgwt);
}

}
/*==================================================*/
/* ｉＰａｄ 縦*/
@media screen and (max-width:800px) {
:root {
    --pc-fulwidth: 800px; /**/
    --pc-subwidth: 120px; /**/
}
html {
    scroll-behavior: smooth;/*ｽｸﾛｰﾙぬるり*/
}
body {
	font-size:11px;
}
#s-title {
    margin-left: -15px;
}
#s-title a {
    padding: 0 20px;
}
.tag_list {
    padding: 3px;
}
.main_dsp {
    margin:  10px 10px 10px 0;
    padding: 15px;
    border: dotted 1px var(--color-bgwt);
}

.sub_dsp h1 {
    margin: 5px;
    font-size: 1em;
}
.sub_dsp h1::before {
    content: "◇■";
    color: var(--color-gray);
    font-size: .6em;
}
.sub_dsp h1::after {
    content: "■◇";
    color: var(--color-gray);
    font-size: .6em;
}
.sub_dsp a {
    border-radius: 3px;
    border: solid 1px var(--color-bgwt);
}
.sub_dsp ul {
    list-style-type: square;
}
.sub_dsp ul li {
    margin-left: -5px;
    font-size:   0.85em;
}
table.btl thead tr th:first-child ,
table.btl tbody tr th {
    width: 80px;
}
}
/*==================================================*/
/* スマホ 横*/
@media screen and (max-width:700px) {
body {
	font-size:10px;
}
#top-head {
    height: 35px;
}
#s-title a {
    padding: 0 25px;
}
.hn-con {
    width:  25px;
    height: 25px;
    margin:  5px 2px 0 0;
    padding: 0;
}
.br_pc {
    display: none;
}
.br_pc::after {
    content:"\00A0";
}
.br_sp {
    display: block;
}
.main_dsp {
    border: solid 1 var(--color-bgwt);
}
.main_dsp h2 {
    padding: 2px 15px;
    width: 120px;
    height:25px;
    font-weight: bold;
}
.main_dsp h3 {
    padding: 5px 15px 5px 10px;
    font-weight: normal;
}
.sub_dsp ul {
    display: none;
}
table {
    width:   100%;
    margin:  0;
    font-size: 0.9em;
}
table th, table td {
    padding: 5px 8px;
}
table .text_r {
    padding-right: 10px;
    font-size: 0.9em;
}
table.btl thead tr th:first-child ,
table.btl tbody tr th {
    width: 70px;
}
table.btl thead tr th:nth-child(2) ,
table.btl tbody tr td:first-of-type {
    width: 60px;
}
}
/*==================================================*/
/* スマホ 縦*/
@media screen and (max-width:450px) {
body {
    width: 100%;
}
.container {
    width: 100%;
    margin:  0;
    padding: 0;
}
#top-head nav{
    padding: 0 5px;
}
#s-title {
    margin-left: 0;
}
.sub_dsp {
    display: none;
}
.main_dsp {
    margin: 45px 0 0;
    padding: 3px;
    width: calc(100% - 6px);

    line-height: 160%;
    border: none;
    border-radius: 0;
}
.main_dsp h1 {
    padding: 10px 0;
    font-size: 1em;
}
.main_dsp h2 {
    padding: 4px 15px;
    width: 150px;
    height:25px;
    font-size: 1em;
}
.main_dsp h3 {
    padding: 5px 15px 5px 10px;
    font-size: 1em;
    font-weight: normal;
}
.conte {
    margin:  -100px  5px 20px;
    padding:  100px 10px 20px;
}
.sub_dsp ul li {
    margin-left: -20px;
}
table * {
    font-size: 0.95em;
}
table th, table td {
    padding: 5px;
}
}
