@charset "utf-8";
/* CSS Document */
:root {
 font-size: 10px;
}
body {
 font-size: 18px; font-size: 1.8rem;
 line-height: 28px; line-height: 2.8rem;
 font-family: iroha-22momi-stdn, sans-serif;
 font-style: normal;
 font-weight: 400;
 /*font-family:'メイリオ', 'Meiryo', sans-serif;
 font-weight: 500;
 font-style: normal;*/
 color: #000;
 word-break: break-all;
 background-color: #ffffff;
}
h1 {
 font-size: 30px; font-size: 3.0rem;
 line-height: 40px; line-height: 4.0rem;
 font-weight: bold;
}
h2 {
 font-size: 26px; font-size: 2.6rem;
 line-height: 36px; line-height: 3.6rem;
}
h3{
 font-size: 22px; font-size: 2.2rem;
 line-height: 32px; line-height: 3.2rem;
}
a {
 transition: all 0.1s;
 text-decoration-skip-ink: none;
}
a:hover {
 color: #cc0000;
 transition: all 0.1s;
}

.wrapper {
 /*background-image: url("../img/bg_pattern/bg_pattern_6.png");*/
}

/*sectionの幅、間隔*/
section {
 margin: 0 auto;
}

/*TOPへ戻る*/
.backtotop {
 position: fixed;
 right: 20px;
 bottom: 20px;
 z-index: 9999999999;
 display: none;
}
.backtotop a {
 display: block;
 content: url("../img/back_top.png");
 padding: 10px;
 margin: 0;
 background-color: #14a83b;
 border: 1px solid #ffffff;
 border-radius: 10px;
 text-decoration: none;
 font-weight: bold;
 transition: all 0.2s;
}
.backtotop a:hover {
 background-color: #00abe3;
 transition: all 0.2s;
}
/* デバイス幅が640px以下 */
@media only screen and (max-width: 600px) {
 .backtotop {
  bottom: 60px;
 }
 .backtotop a {
  background-color: rgba(20,168,59,0.70);
 }
}

/*ヘッダー*/
#header {
 position: fixed;
 z-index: 999999;
 display: flex;
 flex-direction: row;
 width: 100%;
 height: 100px;
 box-shadow: 2px 2px 2px rgba(0,0,0,0.20);
 box-sizing: border-box;
 color: #ffffff;
 background-color: #14a83b;
 background-image: url("../img/bg_pattern/bg_pattern_5.png");
}
#header .title_area {
 display: flex;
 flex-direction: row;
 align-items: center;
 width: 100%;
 margin-left: 20px;
}
#header .title_area p {
 font-size: 30px;
 line-height: 40px;
 margin-left: 20px;
 font-weight: bold;
}
#header .title_area a {
 color: #ffffff;
 text-decoration: none;
 transition: all 0.2s;
}
#header .title_area a:hover {
 color: #ffffff;
 opacity: 0.7;
 transition: all 0.2s;
}
#header .nav_area {
 display: flex;
 flex-direction: row;
 align-items: center;
 width: 100%;
 max-width: 850px;
}
#header .nav_area li {
 font-size: 16px;
 line-height: 20px;
 display: flex;
 justify-content: center;
 align-items: center;
 width: 20%;
 text-align: center;
 font-weight: bold;
}
#header .nav_area .null {
 width: 19%;
 margin: 0 auto;
 height: 50px;
 font-size: 14px;
 line-height: 17px;
 color: #eb4410;
 background-color: #ffffff;
 border: 1px solid #eb4410;
 box-sizing: border-box;
}
#header .nav_area li a {
 width: 95%;
 display: flex;
 justify-content: center;
 align-items: center;
 height: 50px;
 background-color: #ffffff;
 text-decoration: none;
 border: 1px solid #000;
 box-sizing: border-box;
 transition: all 0.2s;
}
#header .nav_area li a:hover {
 transition: all 0.2s;
}
#header .nav_area li:first-child a {
 color: #3b90f1;
 border: 1px solid #3b90f1;
}
#header .nav_area li:first-child a:hover {
 background-color: #3b90f1;
 color: #ffffff;
}
#header .nav_area li:nth-child(2) a {
 color: #eb4410;
 border: 1px solid #eb4410;
}
#header .nav_area li:nth-child(2) a:hover {
 background-color: #eb4410;
 color: #ffffff;
}
#header .nav_area li:nth-child(3) a {
 color: #03c38a;
 border: 1px solid #03c38a;
}
#header .nav_area li:nth-child(3) a:hover {
 background-color: #03c38a;
 color: #ffffff;
}
#header .nav_area li:nth-child(4) a {
 color: #aa7bf1;
 border: 1px solid #aa7bf1;
}
#header .nav_area li:nth-child(4) a:hover {
 background-color: #aa7bf1;
 color: #ffffff;
}
#header .nav_area li:nth-child(5) a {
 color: #f1a23b;
 border: 1px solid #f1a23b;
}
#header .nav_area li:nth-child(5) a:hover {
 background-color: #f1a23b;
 color: #ffffff;
}
/* デバイス幅が1360px以下 */
@media only screen and (max-width:1360px) {
 #header .title_area {
  max-width: 40%;
 }
 #header .nav_area {
  max-width: 60%;
 }
}
/* デバイス幅が1200px以下 */
@media only screen and (max-width:1200px) {
 #header {
  flex-direction: column;
  height: 200px;
  padding: 20px 0;
  box-sizing: border-box;
 }
 #header .title_area {
  max-width: 100%;
 }
 #header .nav_area {
  max-width: 100%;
  margin-top: 20px;
 }
 #header .nav_area li {
  display: flex;
  justify-content: center;
  align-items: center;
 }
}
/* デバイス幅が600px以下 */
@media only screen and (max-width:600px) {
 #header {
  display: none;
 }
 .wrapper {
  padding-top: 50px;
 }
}

/*ハンバーガーメニュー*/
#menu-button {
 display: none;
 position: fixed;
 z-index: 9999999;
 top: 0;
 width: 100%;
 height: 50px;
 color: #ffffff;
 background-color: #14a83b;
 background-image: url();
 background-repeat: no-repeat;
 background-position: left center;
 background-size: contain;
 box-sizing: border-box;
 box-shadow: 0px 2px 2px rgba(0,0,0,0.30);
}
.icon {
 cursor: pointer;
 position: relative;
}
.icon span {
  position: absolute;
  right: 15px;
  width: 30px; /* 線の幅 */
  height: 3px; /* 線の太さ */
  background-color: #ffffff; /* 線の色 */
  transition: ease 0.3s;
}
.icon span:nth-of-type(1) {
  top: 15px; /* 上の線の位置調整 */
}
.icon span:nth-of-type(2) {
  top: 25px; /* 真ん中の線の位置調整 */
}
.icon span:nth-of-type(3) {
  top: 35px; /* 下の線の位置調整 */
}
.open span:nth-of-type(1) {
  top: 25px;
  transform: rotate(-45deg); /* 線の角度調整 */
}
.open span:nth-of-type(2) {
  opacity: 0; /* 透明化 */
}
.open span:nth-of-type(3) {
  top: 25px;
  transform: rotate(45deg);  /* 線の角度調整 */
}
.hun_tit {
 padding-top: 10px;
 padding-left: 50px;
 box-sizing: border-box;
}
.s_sp {
 display: none;
}
/* デバイス幅が450px以下 */
@media only screen and (max-width: 450px) {
 .hun_tit {
  padding-top: 5px;
  line-height: 20px;
 }
 .s_sp {
  display: block;
 }
}
.sample-menu {
 display: none;
 width: 100%;
 position: fixed;
 z-index: 9999999;
 top: 50px;
 left: 0;
 background-color: #14a83b;
}
.sample-menu li {
 border-top: 1px solid #ffffff;
 box-sizing: border-box;
}
.sample-menu li:last-child {
 border-bottom: 1px solid #ffffff;
}
.sample-menu li a {
 display: inline-block;
 width: 100%;
 padding: 10px;
 color: #ffffff;
 font-weight: bold;
 text-decoration: none;
 box-sizing: border-box;
}
/* デバイス幅が600px以下 */
@media only screen and (max-width: 600px) {
 #menu-button {
  display: block;
 }
 .top_hum {
  margin-top: 50px;
 }
}

/*トップ*/
.top {
 position: relative;
 display: flex;
 justify-content: center;
 align-items: center;
 width: 100%;
 height: 600px;
 text-align: center;
 padding-top: 100px;
 background-color: #00a0e0;
 box-sizing: border-box;
}
.top_txt {
 width: 100%;
 max-width: 1100px;
}
.top_txt img {
 width: 100%;
 vertical-align: middle;
}
/* デバイス幅が1200px以下 */
@media only screen and (max-width:1200px) {
 .top {
  padding-top: 200px;
  height: auto;
 }
}
/* デバイス幅が600px以下 */
@media only screen and (max-width:600px) {
 .top {
  padding-top: 0;
 }
}

/*終了しました*/
.yashio_end_area {
 position: absolute;
 top: 0;
 bottom: 0;
 left: 0;
 right: 0;
 padding: 10px;
 display: flex;
 justify-content: center;
 align-items: center;
 width: 100%;
 height: 100%;
 background-color: rgba(238,238,238,0.70);
 box-sizing: border-box;
}
.yashio_end_txt {
 display: inline-block;
 margin-top: 15%;
 padding: 20px;
 font-size: 30px;
 line-height: 40px;
 font-weight: bold;
 color: #cc0000;
 background-color: rgba(255,245,79,0.80);
 box-sizing: border-box;
}
/* デバイス幅が600px以下 */
@media only screen and (max-width:600px) {
 .yashio_end_txt {
  font-size: 20px;
  line-height: 30px;
  padding: 10px;
 }
}

/*二階層TOP*/
.subtop {
 display: flex;
 flex-direction: column;
 justify-content: center;
 align-items: center;
 width: 100%;
 height: 200px;
 padding: 0 10px;
 text-align: center;
 background-color: rgba(0,171,227,0.20);
 background-image: url("../img/bg_pattern/bg_pattern_25.png");
 box-sizing: border-box;
}
.subtop h1 {
 display: inline-block;
 font-size: 40px;
 line-height: 50px;
 margin-top: 20px;
 border-bottom: 5px solid #f5a100;
 box-sizing: border-box;
}
.subim {
 padding-top: 100px;
 width: 100%;
 text-align: center;
 background-color: #00a0e0;
 box-sizing: border-box;
}
.subim img {
 width: 100%;
 max-width: 980px;
 vertical-align: bottom;
}
/* デバイス幅が1200px以下 */
@media only screen and (max-width:1200px) {
 .subim {
  padding-top: 200px;
 }
}
/* デバイス幅が600px以下 */
@media only screen and (max-width:600px) {
 .subtop {
  height: 150px;
 }
 .subtop h1 {
  font-size: 30px;
  line-height: 40px;
 }
 .subim {
  padding-top: 0;
 }
}

/*各項目*/
.main {
 width: 100%;
 font-weight: bold;
 padding: 30px 10px;
 box-sizing: border-box;
}
.main:nth-child(even) {
 background-color: rgba(0,171,227,0.10);
}
.txt_area {
 font-family: a-otf-gothic-mb101-pr6n, sans-serif;
 font-style: normal;
 font-weight: 300;
 max-width: 1100px;
 margin: 0 auto;
 margin-top: 20px;
}
/* デバイス幅が600px以下 */
@media only screen and (max-width:600px) {
 .main {
  text-align: left;
 }
}

.main_tit {
 width: 100%;
 max-width: 1100px;
 margin: 0 auto;
 border-bottom: 5px solid #f5a100;
 letter-spacing: 0.15em;
}
.main_tit::before {
 content: '';
 display: inline-block;
 width: 50px;
 height: 50px;
 background-image: url("../img/mascot.png");
 background-size: contain;
 background-repeat: no-repeat;
 vertical-align: middle;
}
/* デバイス幅が600px以下 */
@media only screen and (max-width:600px) {
 .main_tit {
  font-size: 20px;
  line-height: 30px;
 }
 .main_tit::before {
  width: 40px;
  height: 40px;
 }
}

/*お知らせ*/
.news_area {
 max-width: 1100px;
 margin: 0 auto;
 padding: 20px;
 border: 2px solid #14a83b;
 background-color: #ffffff;
 max-height: 220px;
 overflow-y: auto;
 box-sizing: border-box;
}
.news_area h2 {
 color: #14a83b;
}
.news_area dl {
 font-family: a-otf-gothic-mb101-pr6n, sans-serif;
 font-style: normal;
 font-weight: 300;
 padding: 10px;
 border-bottom: 1px dashed #14a83b;
 box-sizing: border-box;
}
.news_area dl:last-child {
 border: none;
}
/* デバイス幅が600px以下 */
@media only screen and (max-width:600px) {
 .news_area {
  padding: 10px;
 }
 .news_area h2 {
  margin-bottom: 0;
 }
}

/*トップ見出し*/
.top_area {
 width: 100%;
 max-width: 1100px;
 margin: 0 auto;
 display: flex;
 flex-direction: row;
 justify-content: center;
}
.main_top {
 width: 50%;
 padding: 0 10px;
 text-align: center;
 box-sizing: border-box;
}
.main_top h2 {
 width: 100%;
 max-width: 500px;
 margin: 0 auto;
 padding: 10px;
 letter-spacing: 10px;
 color: #ffffff;
 background-color: #2662a3;
 border-radius: 30px;
 box-sizing: border-box;
}
.main_top p {
 font-family: a-otf-gothic-mb101-pr6n, sans-serif;
 font-style: normal;
 font-weight: bold;
 font-size: 20px;
 line-height: 30px;
 margin-top: 10px;
}
.main_top p.m_t_chu {
 font-size: 16px;
 line-height: 150%;
 text-align: left;
 font-weight: normal;
}
.kigen {
 text-align: left;
 width: 100%;
 max-width: 450px;
 margin: 0 auto;
}
.letter {
 display: inline-block;
 padding: 5px 10px;
 border-radius: 5px;
 background-color: #14a83b;
 color: #ffffff;
 box-sizing: border-box;
}
.web {
 display: inline-block;
 padding: 5px 10px;
 border-radius: 5px;
 background-color: #00a6a8;
 color: #ffffff;
 box-sizing: border-box;
}
/* デバイス幅が600px以下 */
@media only screen and (max-width:600px) {
 .top_area {
  flex-direction: column;
 }
 .main_top {
  width: 100%;
  padding: 0;
  margin-top: 20px;
 }
 .main_top:first-child {
  margin-top: 0;
 }
 .main_top h2 {
  font-size: 20px;
  line-height: 30px;
  padding: 5px;
  letter-spacing: 5px;
  border-radius: 20px;
 }
 .main_top p {
  font-size: 16px;
  line-height: 26px;
 }
 .kigen {
  text-align: center;
 }
}

/*テーブル*/
.yashio_table {
 width: 100%;
 margin-top: 20px;
 border-collapse: collapse;
}
.yashio_table tr th,
.yashio_table tr td {
 padding: 5px;
 text-align: center;
 border: 1px solid #4d4d4d;
 box-sizing: border-box;
}
.yashio_table tr th {
 font-weight: bold;
 background-color: #82b0e2;
}
.yashio_table tr th.th_tit {
 color: #ffffff;
 background-color: #2662a3;
}
.yashio_table tr td {
 background-color: #ffffff;
}

/*よくある質問*/
.faq {
 font-family: a-otf-gothic-mb101-pr6n, sans-serif;
 font-style: normal;
 font-weight: 300;
 font-size: 18px;
 line-height: 28px;
 max-width: 1100px;
 margin: 0 auto;
}
.faq dl {
 padding: 20px;
 margin-top: 20px;
 background-color: #FFF6D3;
 border-radius: 20px;
 box-sizing: border-box;
}
.faq dl dt {
 font-weight: bold;
 box-sizing: border-box;
 text-indent: -45px;
 padding-left: 45px;
}
.faq dl dt::before {
 margin-right: 10px;
 content: '';
 display: inline-block;
 width: 36px;
 height: 36px;
 background-image: url("../img/maru_Q.png");
 background-size: contain;
 background-repeat: no-repeat;
 vertical-align: bottom;
}
.faq dl .submenu_title {
 color: #000;
}
.faq dl dd {
 margin-top: 20px;
 text-indent: -45px;
 padding-left: 45px;
 box-sizing: border-box;
}
.faq dl dd::before {
 margin-right: 10px;
 content: '';
 display: inline-block;
 width: 36px;
 height: 36px;
 background-image: url("../img/maru_A.png");
 background-size: contain;
 background-repeat: no-repeat;
 vertical-align: bottom;
}

/*利用上の注意*/
.chui {
 list-style-type: decimal;
 list-style-position: inside;
}
.chui li {
 text-indent: -1em;
 padding-left: 1em;
}

/*割引引換販売施設*/
.shisetsu {
 width: 100%;
 display: flex;
 flex-direction: row;
 flex-wrap: wrap;
 justify-content: flex-start;
}
.shisetsu li {
 width: 50%;
 box-sizing: border-box;
 margin-bottom: 20px;
 padding: 10px;
}
/* デバイス幅が600px以下 */
@media only screen and (max-width:600px) {
 .shisetsu {
  flex-direction: column;
 }
 .shisetsu li {
  width: 100%;
  padding: 0;
 }
}

/*お問い合わせ*/
.toiawase {
 text-align: center;
 font-weight: bold;
}
/* デバイス幅が600px以下 */
@media only screen and (max-width: 600px) {
 .toiawase {
  font-size: 22px; font-size: 2.2rem;
  line-height: 32px; line-height: 3.2rem;
 }
}

/*フォーム転移ボタン*/
.jigyo_form {
 width: 100%;
 max-width: 300px;
 margin: 0 auto;
}
.jigyo_form a {
 transition: all 0.2s;
}
.jigyo_form a:hover {
 opacity: 0.7;
 transition: all 0.2s;
}
.jigyo_form img {
 width: 100%;
}

.form_bt {
 display: flex;
 flex-direction: row;
 width: 100%;
 max-width: 1100px;
 margin: 0 auto;
}
/* デバイス幅が700px以下 */
@media only screen and (max-width: 700px) {
 .form_bt {
  flex-direction: column;
 }
}

.form_button {
 font-size: 22px;
 line-height: 26px;
 font-weight: bold;
 text-align: center;
 margin: 20px 0;
}
.form_button a {
 display: flex;
 justify-content: center;
 align-items: center;
 max-width: 400px;
 height: 70px;
 color: #ffffff;
 text-decoration: none;
 background-color: #e94d73;
 border: 2px solid #e94d73;
 border-radius: 35px;
 box-sizing: border-box;
 transition: all 0.2s;
}
.form_button a:hover {
 color: #e94d73;
 text-decoration: none;
 background-color: #ffffff;
 transition: all 0.2s;
}
.form_button .bl {
 background-color: #3b90f1;
 border: 2px solid #3b90f1;
}
.form_button .bl:hover {
 color: #3b90f1;
 transition: all 0.2s;
}

.form_null {
 display: flex;
 justify-content: center;
 align-items: center;
 max-width: 400px;
 height: 70px;
 color: #999999;
 text-decoration: none;
 background-color: #eeeeee;
 border: 2px solid #999999;
 border-radius: 35px;
 box-sizing: border-box;
}
.form_null_end {
 display: flex;
 justify-content: center;
 align-items: center;
 width: 100%;
 margin: 0 auto;
 max-width: 400px;
 height: 70px;
 color: #999999;
 text-decoration: none;
 background-color: #eeeeee;
 border: 2px solid #999999;
 border-radius: 35px;
 box-sizing: border-box;
}

/*検索結果の地図の幅調整*/
.mf_mps_search_result_table__table_cell__attr_key__map iframe {
 width: 100%!important;
}

/*フッター*/
#footer {
 width: 100%;
 color: #ffffff;
 padding: 20px 10px;
 background-color: #14a83b;
 background-image: url("../img/bg_pattern/bg_pattern_5.png");
 box-sizing: border-box;
}
#footer p {
 font-family: a-otf-gothic-mb101-pr6n, sans-serif;
 font-style: normal;
 font-weight: 300;
}
.foot_bun {
 display: flex;
 flex-direction: row;
 flex-wrap: wrap;
 justify-content: center;
 width: 100%;
 max-width: 1300px;
 margin: 0 auto;
}
.bun_item {
 width: 100%;
 max-width: calc(1300px/2);
 padding: 10px;
 box-sizing: border-box;
}
#footer .foot_bun .bun_item .ft_kikan {
 font-weight: bold;
 display: inline-block;
 padding: 5px 15px;
 margin-bottom: 10px;
 background-color: #000000;
 border-radius: 50px;
 box-sizing: border-box;
}

/* デバイス幅が1200px以下 */
@media only screen and (max-width: 1200px) {
 .foot_bun {
  text-align: center;
 }
}

/*アコーディオン用*/
.submenu_title {
 cursor:pointer;
 color: #0000ff;
 /*color: #004986;*/
 text-decoration: underline;
 transition: all 0.2s;
}
.submenu_title:hover {
 opacity: 0.7;
 transition: all 0.2s;
}
.submenu {
 display: none;
}

/*文字装飾*/
.bold {
 font-weight: bold;
}
.red {
 color: #cc0000;
}
.blue {
 color: #0000cc;
}
.yellow {
 color: #fcc601;
}
.black {
 color: #4d4d4d;
}
.mark {
 background-color: #ffff00;
}
.line {
 text-decoration: underline;
 text-decoration-skip-ink: none;
}
.small {
 font-size: 0.8em;
}
.large {
 font-size: 1.2em;
}
.large_2 {
 font-size: 1.5em;
}
.cen {
 text-align: center;
}

/*二行目以降字下げ*/
.kai {
 text-indent: -1em;
 padding-left: 1em;
}
.kai_1-3 {
 text-indent: -1.3em;
 padding-left: 1.3em;
}
.kai_2 {
 text-indent: -2em;
 padding-left: 2em;
}
.kai_2-5 {
 text-indent: -2.5em;
 padding-left: 2.5em;
}
.kai_3 {
 text-indent: -3em;
 padding-left: 3em;
}
.kai_4 {
 text-indent: -4em;
 padding-left: 4em;
}

/*サイズ毎の表示変更*/
.pc {
 display: block;
}
.tb {
 display: none;
}
.sp {
 display: none;
}
/* デバイス幅が1019px以下 */
@media only screen and (max-width:1019px) {
 .pc {
  display: none;
 }
 .tb {
  display: block;
 }
}
/* デバイス幅が640px以下 */
@media only screen and (max-width: 640px) {
 .tb {
  display: none;
 }
 .sp {
  display: block;
 }
}

/*フロート解除*/
.clear {
 clear: both;
}