@charset "UTF-8";

/*
Theme Name: Ryutsu Keizai Co-operative theme v2
Theme URI: https://www.r-k.or.jp/
Author: Idea Complex Inc.
Description: Theme of Ryutsu Keizai Co-operative.
Version: 2.0.0
*/

/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin:0;
  padding:0;
  border:0;
  outline:0;
  font-size:100%;
  vertical-align:baseline;
  background:transparent;
}

body {
  line-height:1;
}

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

ul {
  list-style:none;
}

blockquote, q {
  quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content:'';
  content:none;
}

a {
  margin:0;
  padding:0;
  font-size:100%;
  vertical-align:baseline;
  background:transparent;
}

/* change colours to suit your needs */
ins {
  background-color:#ff9;
  color:#000;
  text-decoration:none;
}

/* change colours to suit your needs */
mark {
  background-color:#ff9;
  color:#000;
  font-style:italic;
  font-weight:bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom:1px dotted;
  cursor:help;
}

table {
  border-collapse:collapse;
  border-spacing:0;
}

/* change border colour to suit your needs */
hr {
  display:block;
  height:1px;
  border:0;
  border-top:1px solid #cccccc;
  margin:1em 0;
  padding:0;
}

input, select {
  vertical-align:middle;
}

/* =========================================================
 Public
========================================================= */
*, *:before, *:after {
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
}

body {
  font: 130%/1.7 "Roboto", "Noto Sans JP", Verdana, "Helvetica Neue", Helvetica, Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #3F3F3F;
  -webkit-text-size-adjust: 100%;
  display: flex;
  flex-direction: column;
  height: 100vh;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align:top;
  font-size:0;
  line-height:0;
}

a {
  color: #666;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

a:hover img {
  opacity: 0.7;
}

a img,
a img::before,
a img::after {
  transition: all .3s;
}

.mb--10 {
  margin-bottom: 10px;
}

.mb--16 {
  margin-bottom: 16px;
}

/* Text Module
--------------------------------------------------------- */
.text--break::before {
  content: "\00a0";
}

.text--brown {
  color: #97723E;
}

.text--red {
  color: #C00;
}

.text--red::before {
  color: #C00 !important;
}

.text--right {
  text-align: right;
}

.text--center {
  text-align: center;
}

.text--bold {
  font-weight: bold;
}

.text--14 {
  font-size: 107.69%;
}

.text--circle {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

/* =========================================================
 header
========================================================= */
.header {
  width: 100%;
  border-top: 15px solid #97723E;
  border-bottom: 4px solid #DDD0BB;
  flex-shrink: 0;
}

.header-inner {
  width: 100%;
  max-width: 1024px;
  padding: 0 24px;
  margin: 0 auto;
}

.header-top {
  width: 100%;
  height: 77px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.header-top__caption {
  color: #97723E;
}

.header-top__caption::after {
  content: "\00a0";
}

.header-top__logo {
  margin-top: 5px;
}

.header-top__utility {
  display: flex;
}

.font-size-changer {
  margin-right: 8px;
  display: flex;
  align-items: center;
  font-weight: bold;
}

.font-size-changer__caption {
  font-weight: bold;
  margin-right: 8px;
}

.font-size-changer__item {
  display: block;
  width: 25px;
  height: 25px;
  border: 1px solid #97723E;
  margin-right: 4px;
  background: #97723E;
  color: #FFF;
  line-height: 23px;
  text-align: center;
  cursor: pointer;
}

.font-size-changer__item:hover,
.font-size-changer__item:active {
  background: #FFF;
  color: #97723E;
}

.font-size-changer__item,
.font-size-changer__item::before,
.font-size-changer__item::after {
  transition: background .3s, color .3s;
}

.font-size-changer__item--small {
  font-size: 13px;
}

.font-size-changer__item--medium {
  font-size: 15px;
}

.font-size-changer__item--large {
  font-size: 17px;
}

.font-size-changer__item--current {
  background: #FFF;
  color: #97723E;
}

.search {
  display: flex;
  position: relative;
}

.search::before {
  content: url(images/search_icon.svg);
  display: block;
  position: absolute;
  top: 4px;
  left: 4px;
}

.search__text-box {
  width: 12em;
  height: 25px;
  margin: 0 4px 0 0;
  padding: 0 4px 0 24px;
  background: none;
  border: 1px solid #E0E0E0;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font: 100% "Roboto", "Noto Sans JP", Verdana, "Helvetica Neue", Helvetica, Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #3F3F3F;
}

.search__button {
  margin: 0;
  padding: 0 4px;
  background: #97723E;
  border: 1px solid #97723E;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font: 100% "Roboto", "Noto Sans JP", Verdana, "Helvetica Neue", Helvetica, Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #FFF;
  font-weight: bold;
  cursor: pointer;
}

.search__button:hover,
.search__button:active {
  background: #FFF;
  color: #97723E;
}

.search__button,
.search__button::before,
.search__button::after {
  transition: background .3s, color .3s;
}

.gnav {
  width: 100%;
  border-top: 1px solid #E0E0E0;
  border-left: 1px solid #E0E0E0;
  display: flex;
}

.gnav__item {
  /* flex-basis: calc(100% / 6);
  max-width: calc(100% / 6); */
  width: 100%;
  border-right: 1px solid #E0E0E0;
}

.gnav__item--current {
  background: #F2F1ED;
}

.gnav__item a {
  padding: 8px 4px;
  height: 100%;
  font-weight: bold;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.gnav__item a:hover {
  text-decoration: none;
  background: #F2F1ED;
}

.gnav__item a,
.gnav__item a::before,
.gnav__item a::after {
  transition: background .3s;
}

.gnav__item-ja {
  font-size: 107.69%;
  color: #3F3F3F;
}

.gnav__item-en {
  font-size: 69.23%;
  color: #8C8C8C;
}

.drawer-search {
  padding: 24px;
}

.drawer-search .search__text-box {
  flex: 1 0 auto;
}

/* tablet layout
--------------------------------------------------------- */
@media screen and (max-width: 768px) {
  .header-top__utility {
    display: none;
  }
  
  .gnav {
    display: none;
  }
}

/* smartphone layout
--------------------------------------------------------- */
@media screen and (max-width: 440px) {
  .header-top {
    height: 96px;
  }
  
  .header-top__caption::after {
    content: "\a";
    white-space: pre;
  }
}

/* =========================================================
 footer
========================================================= */
.footer {
  width: 100%;
  margin-top: 32px;
  color: #FFF;
  flex-shrink: 0;
}

.footer__other {
  width: 100%;
  background: #97723E;
}

.footer__other-inner {
  width: 100%;
  max-width: 1024px;
  padding: 9px 24px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;background: #97723E;
}

.fnav {
  display: flex;
}

.fnav__item {
  line-height: 1;
}

.fnav__item:not(:last-child) {
  padding-right: 6px;
  border-right: 1px solid #FFF;
}

.fnav__item:not(:first-child) {
  padding-left: 6px;
}

.fnav__item a {
  color: #FFF;
}

.footer__page-nav {
  width: 100%;
  max-width: 1024px;
  padding: 0 24px;
  margin: 0 auto 16px;
}

.page-nav {
  display: flex;
  justify-content: space-between;
}

.page-nav__item {
  width: 24px;
  height: 24px;
  border: 1px solid #97723E;
  background: #97723E;
}

.page-nav__item:hover,
.page-nav__item:active {
  background: #FFF;
}

.page-nav__item:hover path,
.page-nav__item:active path {
  fill: #97723E;
}

.page-nav__item,
.page-nav__item::before,
.page-nav__item::after {
  transition: background .3s;
}

.page-nav__item path,
.page-nav__item path::before,
.page-nav__item path::after {
  transition: fill .3s;
}

.page-nav__item a {
  width: 100%;
  height: 100%;
  display: block;
}

/* tablet layout
--------------------------------------------------------- */
@media screen and (max-width: 960px) {
  .footer {
    margin-top: 16px;
  }
  
  .footer__other-inner {
    flex-direction: column;
  }
}

/* smartphone layout
--------------------------------------------------------- */
@media screen and (max-width: 640px) {
  .fnav {
    display: block
  }
  
  .fnav__item {
    padding: 0 !important;
    margin-bottom: 4px;
    border: none !important;;
    text-align: center;
  }
}

@media screen and (max-width: 560px) {
  .footer small {
    text-align: center;
    line-height: 1.2;
  }
  
  .footer .text--break::before {
    content: "\a";
    white-space: pre;
  }
}

/* =========================================================
 contents
========================================================= */
.contents {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
}

.contents-grid {
  flex: 1 0 auto;
  width: 100%;
  max-width: 1024px;
  padding: 0 24px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}

.mainvisual + .contents-grid {
  flex: none;
}

.contents-main {
  flex-basis: calc(100% - 232px - 16px);
}

.header-h1 {
  padding: 13px;
  border: 1px solid #E0E0E0;
  margin-top: 16px;
}

.header-h1__inner {
  padding-left: 13px;
  border-left: 10px solid #97723E;
  font-size: 184.62%;
  font-weight: bold;
}

.header-h1__image {
  min-width: 90px;
  text-align: right;
}

.header-h1-en {
  font-size: 54.17%;
  color: #8C8C8C;
}

.header-h2 {
  padding: 13px;
  border: 1px solid #E0E0E0;
  margin-top: 16px;
}

.header-h2__inner {
  padding-left: 13px;
  border-left: 2px solid #97723E;
  font-size: 107.69%;
  font-weight: bold;
}

.header-h2-en {
  font-size: 69.23%;
  color: #8C8C8C;
}

.header--gird {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.header--image {
  margin-bottom: 16px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.contents-1-col {
  margin-top: 16px;
  padding: 13px;
  border: 1px solid #E0E0E0;
}

.contents-2-col {
  width: 100%;
  margin-top: 16px;
  display: flex;
  justify-content: space-between;
}

.contents-2-col__box {
  flex-basis: calc((100% - 16px) / 2);
  max-width: calc((100% - 16px) / 2);
  padding: 13px;
  border: 1px solid #E0E0E0;
}

.contents-text p:not(:last-child) {
  margin-bottom: 10px;
}

.contents-inner-2-col {
  display: flex;
  justify-content: space-between;
}

.contents-inner-2-col__box {
  flex-basis: calc((100% - 16px) / 2);
}

.table-basic {
  display: flex;
  flex-wrap: wrap;
}

.table-basic__header {
  flex-basis: 155px;
  max-width: 155px;
  padding-right: 1em;
  font-weight: bold;
}

.table-basic__data {
  flex-basis: calc(100% - 155px);
}

.table-basic__data:not(:last-child) {
  margin-bottom: 10px;
}

.list-circle__item {
  padding-left: 1em;
}

.list-circle__item::before {
  content: "\e902";
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1.375;
  color: #8C8C8C;
  margin-left: -1em;
  font-size: 123.08%;
  float: left;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.list-right-arrow__item {
  padding-left: 1em;
}

.list-right-arrow__item::before {
  content: "\e901";
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1.375;
  color: #8C8C8C;
  margin-left: -1em;
  font-size: 123.08%;
  float: left;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.list-popup__item {
  padding-left: 1em;
}

.list-popup__item::before {
  content: "\e900";
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1.375;
  color: #8C8C8C;
  margin-left: -1em;
  font-size: 123.08%;
  float: left;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.list-ref__item {
  padding-left: 1em;
}

.list-ref__item::before {
  content: '※';
  margin-left: -1em;
  color: #8C8C8C;
  display: inline-block;
  width: 1em;
  text-align: center;
}

.list-dash__item {
  padding-left: 1em;
}

.list-dash__item::before {
  content: '－';
  margin-left: -1em;
  color: #8C8C8C;
}

.list-number {
  list-style: none;
}

.list-number__item {
  padding-left: 1em;
  counter-increment: cntnum;
}

.list-number__item::before {
  content: counter(cntnum) ".\00a0";
  margin-left: -1em;
  color: #8C8C8C;
  display: inline-block;
  text-align: center;
}

.list-custom {
  width: 100%;
  display: table;
  list-style: none;
}

.list-custom__item {
  display: table-row;
}

.list-custom__mark {
  display: table-cell;
  white-space: pre;
}

.list-custom__text {
  width: 100%;
  display: table-cell;
}

.list-margin .list-circle__item:not(:last-child),
.list-margin .list-right-arrow__item:not(:last-child),
.list-margin .list-ref__item:not(:last-child),
.list-margin .list-dash__item:not(:last-child),
.list-margin .list-number__item:not(:last-child),
.list-margin .list-custom__item:not(:last-child) {
  margin-bottom: 10px;
}

.list-horizontal {
  display: flex;
  flex-wrap: wrap;
}

.list-horizontal__item {
  margin-right: 1em;
}

.list-link {
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}

.list-link__item {
  flex-basis: calc((100% - 16px) / 2);
  max-width: calc((100% - 16px) / 2);
  border: 1px solid #E0E0E0;
  margin-bottom: 16px;
  background: #F2F1ED;
  position: relative;
}

.list-link__item:last-child,
.list-link__item:nth-child(odd):nth-last-child(2) {
  margin-bottom: 0;
}

.list-link__item::before {
  content: "\e901";
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1.375;
  font-size: 123.08%;
  color: #8C8C8C;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  top: .25em;
  left: 3px;
  pointer-events: none;
}

.list-link__item a {
  padding: 4px 16px 4px 20px;
  display: block;
}

.table-border {
  width: 100%;
  border: 1px solid #E0E0E0;
  margin: 3px 0;
}

.table-border th {
  font-weight: bold;
}

.table-border th,
.table-border td {
  padding: 5px 10px;
  text-align: left;
  border: 1px solid #E0E0E0;
}

.table-border .table-border--center {
  text-align: center;
}

.contents__3-col {
  margin-bottom: 16px;
  display: flex;
  justify-content: space-between;
}

.contents__3-col-box {
  flex-basis: calc((100% - 16px * 2) / 3);
}

.contents-1-col--no-border {
  margin-top: 16px;
  padding: 0 16px;
}

.contents-2-col--no-border {
  width: 100%;
 /* padding: 0 16px;*/
  margin-top: 16px;
  display: flex;
  justify-content: space-between;
}

.contents-2-col--no-border .contents-2-col__box {
  flex-basis: calc((100% - 16px) / 2);
  max-width: calc((100% - 16px) / 2);
  padding: 0;
  border: none;
}

.contents-2-col--no-border .contents-2-col__box .header-h2:first-of-type {
  margin-top: 0;
  margin-bottom: 16px;
}

.contents-2-col--no-border .contents-2-col__box .contents-2-col__box-inner {
  padding: 0 16px;
}

.contents-image-2-col {
  width: 100%;
  padding: 0 16px;
  margin-top: 16px;
  display: flex;
  justify-content: space-between;
}

.contents-image-2-col__box--3-grid:first-child {
  flex-basis: calc((100% - 16px) / 3);
  max-width: calc((100% - 16px) / 3);
}

.contents-image-2-col__box--3-grid:last-child {
  flex-basis: calc((100% - 16px) / 3 * 2);
  max-width: calc((100% - 16px) / 3 * 2);
}

.contents-image-2-col__box--4-grid:first-child {
  flex-basis: calc((100% - 16px) / 4);
  max-width: calc((100% - 16px) / 4);
}

.contents-image-2-col__box--4-grid:last-child {
  flex-basis: calc((100% - 16px) / 4 * 3);
  max-width: calc((100% - 16px) / 4 * 3);
}

/* tablet layout
--------------------------------------------------------- */
@media screen and (max-width: 768px) {
  .contents {
    display: block;
  }
  
  .contents-grid {
    display: block;
  }
  
  .contents-2-col--tablet-1-col {
    display: block;
  }
  
  .contents-2-col--tablet-1-col .contents-2-col__box {
    max-width: 100%;
  }
  
  .contents-2-col--tablet-1-col .contents-2-col__box:first-child {
    margin-bottom: 16px;
  }
}

/* smartphone layout
--------------------------------------------------------- */
@media screen and (max-width: 640px) {
  .contents-2-col {
    display: block;
  }

  .contents-2-col__box {
    max-width: 100%;
  }
  
  .contents-2-col__box:first-child {
    margin-bottom: 16px;
  }
  
  .contents-inner-2-col {
    display: block;
  }
  
  .table-basic {
    display: block;
  }
  
  .table-basic__header {
    max-width: 100%;
  }
  
  .contents__3-col {
    display: block;
  }
  
  .contents__3-col-box {
    margin: 0 auto;
  }
  
  .contents__3-col-box:not(:last-child) {
    margin-bottom: 16px;
  }
  
  .list-link {
    display: block;
  }
  
  .list-link__item {
    max-width: 100%;
  }
  
  .list-link__item:nth-child(odd):nth-last-child(2) {
    margin-bottom: 16px;
  }
  
  .contents-2-col--no-border {
    display: block;
  }
  
  .contents-2-col--no-border .contents-2-col__box {
    max-width: 100%;
  }
  
  .contents-2-col--no-border.sp-1-col .contents-2-col__box:first-child {
    margin-bottom: 0;
  }
  
  .contents-image-2-col {
    display: block;
  }
  
  .contents-image-2-col__box--3-grid:first-child,
  .contents-image-2-col__box--4-grid:first-child {
    max-width: 100%;
  }
  
  .contents-image-2-col__box--3-grid:last-child,
  .contents-image-2-col__box--4-grid:last-child {
    max-width: 100%;
    margin-top: 16px;
  }
}

/* =========================================================
 table responsive
========================================================= */
.table-responsive {
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid #E0E0E0;
  border-left: 1px solid #E0E0E0;
}

.table-responsive__cell {
  padding: 5px 10px;
  border-right: 1px solid #E0E0E0;
  border-bottom: 1px solid #E0E0E0;
}

.table-responsive__cell--3-col {
  width: 25%;
}
.table-responsive__cell--4-col {
  width: calc(100% * 4 / 12 - 0.01px);
}
.table-responsive__cell--6-col {
  width: 50%;
}
.table-responsive__cell--8-col {
  width: calc(100% * 8 / 12 - 0.01px);
}
.table-responsive__cell--9-col {
  width: 75%;
}
.table-responsive__cell--12-col {
  width: 100%;
}

.table-responsive__cell-pc {
}

.table-responsive__cell-tablet {
  display: none;
}

.table-responsive__cell--divider {
  display: none;
}

/* tablet layout
--------------------------------------------------------- */
@media screen and (max-width: 768px) {
  .table-responsive__cell--3-col,
  .table-responsive__cell--4-col,
  .table-responsive__cell--6-col,
  .table-responsive__cell--8-col,
  .table-responsive__cell--9-col {
    width: 100%;
  }
  
  .table-responsive__cell-pc {
    display: none;
  }
  
  .table-responsive__cell-tablet {
    display: block;
  }
  
  .table-responsive__cell--divider {
    width: calc(100% + 1px);
    height: 16px;
    margin-left: -1px;
    border-right: none;
    display: block;
    background: white;
  }
}

/* =========================================================
 aside
========================================================= */
.contents-aside {
  flex-basis: 232px;
}

.contents-aside__inner {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #E0E0E0;
  margin-top: 16px;
  background: #F2F1ED;
}

.contents-aside__header {
  margin-bottom: 8px;
  font-size: 107.69%;
  font-weight: bold;
}

.contents-aside__header-en {
  font-size: 69.23%;
  color: #8C8C8C;
}

.contents-aside__tel {
  margin-bottom: 4px;
}

.contents-aside__fax {
  margin-bottom: 8px;
}

.contents-aside__mail {
  width: 100%;
  padding: 7px 0;
  border-top: 1px solid #E0E0E0;
  border-bottom: 1px solid #E0E0E0;
  margin-bottom: 8px;
}

.contents-aside__nav-item {
  padding-left: 1em;
}

.contents-aside__nav-item::before {
  content: "\e901";
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1.375;
  margin-left: -1em;
  font-size: 123.08%;
  float: left;
}

/* =========================================================
 home
========================================================= */
.mainvisual {
  padding: 0 24px;
  background: #E0E0E0;
  text-align: center;
  flex-shrink: 0;
}

.mainvisual__inner {
  width: 100%;
  max-width: 976px;
  margin: 0 auto;
  position: relative;
}

.mainvisual__inner::before {
  content: "";
  display: block;
  padding-top: 35.860655737%;
}

.mainvisual__item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.table-topics {
  padding: 16px;
  display: flex;
  flex-wrap: wrap;
}

.table-topics__header {
  flex-basis: 155px;
  max-width: 155px;
  padding-right: 1em;
  font-weight: bold;
}

.table-topics__data {
  flex-basis: calc(100% - 155px);
}

.home-link {
  width: 100%;
  padding: 5px 13px;
  border: 1px solid #E0E0E0;
  background: #F2F1ED;
  display: flex;
  justify-content: center;
  align-items: center;
}

.home-link:hover {
  text-decoration: none;
  opacity: .7;
}

.home-link,
.home-link::before,
.home-link::after {
  transition: opacity .3s, color .3s;
}

.home-link .icon-popup::before {
  font-weight: bold;
  color: #8C8C8C;
}

.home-link__text {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.home-link__text-1 {
  margin-left: 8px;
  color: #97723E;
  font-size: 107.69%;
  font-weight: bold;
  display: inline-block;
}

.home-link__text-2 {
  margin-left: 8px;
  color: #3f3f3f;
  font-size: 184.62%;
  font-weight: 500;
  display: inline-block;
}

/* tablet layout
--------------------------------------------------------- */
@media screen and (max-width: 768px) {
  .mainvisual {
    padding: 0;
  }
}

/* smartphone layout
--------------------------------------------------------- */
@media screen and (max-width: 640px) {
  .table-topics {
    display: block;
  }
  
  .table-topics__header {
    max-width: 100%;
  }
}

/* =========================================================
 access
========================================================= */
.google-map {
  width: 100%;
  position: relative;
  top: 0;
  left: 0;
}

.google-map::before {
  content: "";
  display: block;
  padding-top: 62.5%;
}

.google-map__item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}

/* =========================================================
 message
========================================================= */
.contents-2-col-message {
  width: 100%;
  margin-top: 16px;
  padding: 0 16px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end
}

.contents-2-col-message__box:first-child {
  width: 110px;
}

.contents-2-col-message__box:last-child {
  width: calc(100% - 110px - 16px);
}

/* smartphone layout
--------------------------------------------------------- */
@media screen and (max-width: 640px) {
  .contents-2-col-message {
    display: block;
  }
  
  .contents-2-col-message__box:first-child {
    width: 100%;
  }
  
  .contents-2-col-message__box:last-child {
    width: 100%;
    margin-top: 16px;
  }
}

/* =========================================================
 contact-button
========================================================= */
.contact-button {
  width: calc((100% - 32px) / 3);
  min-width: 180px;
  margin: 16px auto 0;
  display: block;
  padding: 7px 0;
  border: 1px solid #97723E;
  background: #97723E;
  display: block;
  color: #FFF;
  font-weight: bold;
  text-align: center;
}

.contact-button:hover,
.contact-button:active {
  background: #FFF;
  color: #97723E;
  text-decoration: none;
}

.contact-button,
.contact-button::before,
.contact-button::after {
  transition: background .3s, color .3s;
}

/* =========================================================
 form
========================================================= */
.form-table {
  border-top: 1px solid #E0E0E0;
  border-left: 1px solid #E0E0E0;
  display: flex;
  flex-wrap: wrap;
}

.form-table__cell {
  padding: 5px 10px;
  border-right: 1px solid #E0E0E0;
  border-bottom: 1px solid #E0E0E0;
}

.form-table__cell-title {
  width: 20%;
  background: #F2F1ED;
  font-weight: bold;
  line-height: 2em;
}

.form-table__cell-notice {
  width: 30%;
  background: #F2F1ED;
  line-height: 2em;
}

.form-table__cell-input {
  width: 50%;
}

.form-table__cell-input-zip {
  display: flex;
}

.form-table__cell-input-zip > span:first-child{
  width: 47%;
}
.form-table__cell-input-zip > span:nth-child(2){
  width: 6%;
  text-align: center;
}
.form-table__cell-input-zip > span:last-child{
  width: 47%;
}

.form-table__input,
.form-table__textarea {
  width: 100%;
  padding: 0 .4em;
  border: 1px solid #E0E0E0;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font: 100%/1.7 "Roboto", "Noto Sans JP", Verdana, "Helvetica Neue", Helvetica, Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #3F3F3F;
  display: block;
}

.form-table__input {
  height: 2em;
  line-height: 2em;
}

.form-table__textarea {
  height: 10em;
  resize: vertical;
}

.form-table__pulldown {
  font: 100%/1.7 "Roboto", "Noto Sans JP", Verdana, "Helvetica Neue", Helvetica, Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding:0 1.8em 0 .4em;
  border: 1px solid #E0E0E0;
  border-radius: 0;
  color: #3F3F3F;
  display: block;
  height: 2em;
  line-height: 2em;
}

.form-table__pulldown::-ms-expand {
  display: none;
}

.form-table__pulldown-label {
  display: inline-block;
  position: relative;
  cursor: pointer;
}

.form-table__pulldown-label::after {
  content: '';
  display: block;
  width: 1em;
  height: 1em;
  position: absolute;
  right: .4em;
  top: 50%;
  border: .5em solid transparent;
  border-top: .5em solid #8C8C8C;
  transform: translateY(-25%);
  pointer-events: none;
}

.form-button__wrap {
  display: flex;
  justify-content: center;
  
}

.form-button {
  font: 100%/1.7 "Roboto", "Noto Sans JP", Verdana, "Helvetica Neue", Helvetica, Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100px;
  padding: 7px;
  border: 1px solid #97723E;
  border-radius: 0;
  margin: 0 10px;
  background: #97723E;
  display: block;
  color: #FFF;
  font-weight: bold;
  cursor: pointer;
}

.form-button:hover {
  background: #FFF;
  color: #97723E;
}

.form-button,
.form-button::before,
.form-button::after {
  transition: all .3s;
}

/* tablet layout
--------------------------------------------------------- */
@media screen and (max-width: 768px) {
  .form-table {
    display: block;
  }
  
  .form-table__cell {
    width: 100%;
  }
}

/* =========================================================
 overwrite contact form 7
========================================================= */
.wpcf7 .wpcf7-not-valid-tip {
  margin-top: 5px;
  color: #C00;
}

.wpcf7 .form-button__wrap .wpcf7-spinner {
  display:none;
}

.wpcf7 .wpcf7-response-output {
  width: calc(100% - 32px);
  padding: 5px 10px;
  margin: 16px auto 0 !important;
}

.wpcf7 div.wpcf7-mail-sent-ok {
  border: 1px solid #97723E;
}

.wpcf7 div.wpcf7-mail-sent-ng {
  border: 1px solid #C00;
}

.wpcf7 div.wpcf7-spam-blocked {
  border: 1px solid #C00;
}

.wpcf7 .wpcf7-validation-errors {
  border: 1px solid #C00;
}

.wpcf7 .wpcf7c-conf {
  background-color: #EFEFEF;
  color: #3F3F3F;
  border: 1px solid #E0E0E0;
}

/* =========================================================
 grecaptcha-badge
========================================================= */
.grecaptcha-badge {
  visibility: hidden;
}

/* =========================================================
 icon font
========================================================= */
@font-face {
  font-family: 'icomoon';
  src:  url('fonts/icomoon.eot?ozru8k');
  src:  url('fonts/icomoon.eot?ozru8k#iefix') format('embedded-opentype'),
    url('fonts/icomoon.ttf?ozru8k') format('truetype'),
    url('fonts/icomoon.woff?ozru8k') format('woff'),
    url('fonts/icomoon.svg?ozru8k#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
}

.icon-popup,
.icon-right-arrow,
.icon-circle {
  padding-left: 1em;
  display: inline-block;
}

.icon-popup::before,
.icon-right-arrow::before,
.icon-circle::before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1.375;
  margin-left: -1em;
  font-size: 123.08%;
  float: left;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-popup::before {
  content: "\e900";
}
.icon-right-arrow::before {
  content: "\e901";
}
.icon-circle::before {
  content: "\e902";
}

.icon--gray::before {
  color: #8C8C8C;
}

/* =========================================================
 scroll shutter
========================================================= */
.syncer---scrollshutter___closed {
    position: absolute ;
    top: 0 ;
    left: 0 ;
    width: 100% ;
    height: 100% ;
}
.syncer---scrollshutter___opened {
    display: none ;
}

/* =========================================================
 jquery-drawer
========================================================= */
/*!
 * jquery-drawer v3.2.1
 * Flexible drawer menu using jQuery, iScroll and CSS.
 * http://git.blivesta.com/drawer
 * License : MIT
 * Author : blivesta <design@blivesta.com> (http://blivesta.com/)
 */

/*!------------------------------------*\
    Base
\*!------------------------------------*/
.drawer-nav {
  position: fixed;
  z-index: 101;
  top: 0;
  overflow: hidden;
  width: 26rem;
  height: 100%;
  color: #222;
  background-color: #fff;
}

.drawer-brand {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 3.75rem;
  display: block;
  padding-right: .75rem;
  padding-left: .75rem;
  text-decoration: none;
  color: #222;
}

.drawer-menu {
  margin: 0;
  padding: 0;
  list-style: none;
}

.drawer-menu-item__wrap {
  border-top: 1px solid #E0E0E0;
}

.drawer-menu-item {
  font-size: 100%;
  display: block;
  padding: 12px;
  border-bottom: 1px solid #E0E0E0;
  text-decoration: none;
  font-weight: bold;
  text-align: center;
}

.drawer-menu-item-ja {
  margin-right: 8px;
  font-size: 107.69%;
  color: #3F3F3F;
}

.drawer-menu-item-en {
  font-size: 69.23%;
  color: #8C8C8C;
}

.drawer-menu-item:hover,
.drawer-menu-item:active {
  text-decoration: none;
  background-color: #F2F1ED;
}

.drawer-menu-item,
.drawer-menu-item::before,
.drawer-menu-item::after {
  transition: background .3s;
}

/*! overlay */
.drawer-overlay {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  display: none;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, .2);
}

.drawer-open .drawer-overlay {
  display: block;
}
/*!------------------------------------*\
    Top
\*!------------------------------------*/
.drawer--top .drawer-nav {
  top: -100%;
  left: 0;
  width: 100%;
  height: auto;
  max-height: 100%;
  -webkit-transition: top .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
  transition: top .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

.drawer--top.drawer-open .drawer-nav {
  top: 0;
}

.drawer--top .drawer-hamburger,
.drawer--top.drawer-open .drawer-hamburger {
  right: 0;
}
/*!------------------------------------*\
    Left
\*!------------------------------------*/
.drawer--left .drawer-nav {
  left: -26rem;
  -webkit-transition: left .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
  transition: left .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

.drawer--left.drawer-open .drawer-nav,
.drawer--left .drawer-hamburger,
.drawer--left.drawer-open .drawer-navbar .drawer-hamburger {
  left: 0;
}

.drawer--left.drawer-open .drawer-hamburger {
  left: 26rem;
}
/*!------------------------------------*\
    Right
\*!------------------------------------*/
.drawer--right .drawer-nav {
  right: -26rem;
  -webkit-transition: right .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
  transition: right .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

.drawer--right.drawer-open .drawer-nav,
.drawer--right .drawer-hamburger,
.drawer--right.drawer-open .drawer-navbar .drawer-hamburger {
  right: 0;
}

.drawer--right.drawer-open .drawer-hamburger {
  right: 26rem;
}
/*!------------------------------------*\
    Hamburger
\*!------------------------------------*/
.drawer-hamburger {
  display: none;
}

@media screen and (max-width: 768px) {
  .drawer-hamburger {
    position: absolute;
    z-index: 104;
    top: 29px;
    display: block;
    box-sizing: content-box;
    width: 26px;
    padding: 0;
    padding-top: 12px;
    padding-right: 12px;
    padding-bottom: 24px;
    padding-left: 12px;
    margin-right: 12px;
    -webkit-transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
    transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    border: 0;
    outline: 0;
    background-color: transparent;
  }
}

.drawer-hamburger:hover {
  cursor: pointer;
  background-color: transparent;
}

.drawer-hamburger-icon {
  position: relative;
  display: block;
  margin-top: 10px;
}

.drawer-hamburger-icon,
.drawer-hamburger-icon:before,
.drawer-hamburger-icon:after {
  width: 26px;
  height: 3px;
  -webkit-transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
  transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
  background-color: #97723E;
}

.drawer-hamburger-icon:before,
.drawer-hamburger-icon:after {
  position: absolute;
  top: -10px;
  left: 0;
  content: ' ';
}

.drawer-hamburger-icon:after {
  top: 10px;
}

.drawer-open .drawer-hamburger-icon {
  background-color: transparent;
}

.drawer-open .drawer-hamburger-icon:before,
.drawer-open .drawer-hamburger-icon:after {
  top: 0;
}

.drawer-open .drawer-hamburger-icon:before {
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
}

.drawer-open .drawer-hamburger-icon:after {
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
/*!------------------------------------*\
    accessibility
\*!------------------------------------*/

/*!
 * Only display content to screen readers
 * See: http://a11yproject.com/posts/how-to-hide-content
 */
.sr-only {
  position: absolute;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
}

/*!
 * Use in conjunction with .sr-only to only display content when it's focused.
 * Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
 * Credit: HTML5 Boilerplate
 */
.sr-only-focusable:active,
.sr-only-focusable:focus {
  position: static;
  overflow: visible;
  clip: auto;
  width: auto;
  height: auto;
  margin: 0;
}
/*!------------------------------------*\
    Sidebar
\*!------------------------------------*/
.drawer--sidebar {
  background-color: #fff;
}

.drawer--sidebar .drawer-contents {
  background-color: #fff;
}

@media (min-width: 64em) {
  .drawer--sidebar .drawer-hamburger {
    display: none;
    visibility: hidden;
  }

  .drawer--sidebar .drawer-nav {
    display: block;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    position: fixed;
    width: 12.5rem;
    height: 100%;
  }

  /*! Left */
  .drawer--sidebar.drawer--left .drawer-nav {
    left: 0;
    border-right: 1px solid #ddd;
  }

  .drawer--sidebar.drawer--left .drawer-contents {
    margin-left: 12.5rem;
  }

  /*! Right */
  .drawer--sidebar.drawer--right .drawer-nav {
    right: 0;
    border-left: 1px solid #ddd;
  }

  .drawer--sidebar.drawer--right .drawer-contents {
    margin-right: 12.5rem;
  }

  /*! container */
  .drawer--sidebar .drawer-container {
    max-width: 48rem;
  }
}

@media (min-width: 75em) {
  .drawer--sidebar .drawer-nav {
    width: 26rem;
  }

  .drawer--sidebar.drawer--left .drawer-contents {
    margin-left: 26rem;
  }

  .drawer--sidebar.drawer--right .drawer-contents {
    margin-right: 26rem;
  }

  /*! container */
  .drawer--sidebar .drawer-container {
    max-width: 60rem;
  }
}
/*!------------------------------------*\
    Navbar
\*!------------------------------------*/
.drawer--navbarTopGutter {
  padding-top: 3.75rem;
}

.drawer-navbar .drawer-navbar-header {
  border-bottom: 1px solid #ddd;
  background-color: #fff;
}

.drawer-navbar {
  z-index: 102;
  top: 0;
  width: 100%;
}

/*! .drawer-navbar modifier */
.drawer-navbar--fixed {
  position: fixed;
}

.drawer-navbar-header {
  position: relative;
  z-index: 102;
  box-sizing: border-box;
  width: 100%;
  height: 3.75rem;
  padding: 0 .75rem;
  text-align: center;
}

.drawer-navbar .drawer-brand {
  line-height: 3.75rem;
  display: inline-block;
  padding-top: 0;
  padding-bottom: 0;
  text-decoration: none;
}

.drawer-navbar .drawer-brand:hover {
  background-color: transparent;
}

.drawer-navbar .drawer-nav {
  padding-top: 3.75rem;
}

.drawer-navbar .drawer-menu {
  padding-bottom: 7.5rem;
}

@media (min-width: 64em) {
  .drawer-navbar {
    height: 3.75rem;
    border-bottom: 1px solid #ddd;
    background-color: #fff;
  }

  .drawer-navbar .drawer-navbar-header {
    position: relative;
    display: block;
    float: left;
    width: auto;
    padding: 0;
    border: 0;
  }

  .drawer-navbar .drawer-menu--right {
    float: right;
  }

  .drawer-navbar .drawer-menu li {
    float: left;
  }

  .drawer-navbar .drawer-menu-item {
    line-height: 3.75rem;
    padding-top: 0;
    padding-bottom: 0;
  }

  .drawer-navbar .drawer-hamburger {
    display: none;
  }

  .drawer-navbar .drawer-nav {
    position: relative;
    left: 0;
    overflow: visible;
    width: auto;
    height: 3.75rem;
    padding-top: 0;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }

  .drawer-navbar .drawer-menu {
    padding: 0;
  }

  /*! dropdown */
  .drawer-navbar .drawer-dropdown-menu {
    position: absolute;
    width: 26rem;
    border: 1px solid #ddd;
  }

  .drawer-navbar .drawer-dropdown-menu-item {
    padding-left: .75rem;
  }
}
/*!------------------------------------*\
    Dropdown
\*!------------------------------------*/
.drawer-dropdown-menu {
  display: none;
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  padding: 0;
  background-color: #fff;
}

.drawer-dropdown-menu > li {
  width: 100%;
  list-style: none;
}

.drawer-dropdown-menu-item {
  line-height: 3.75rem;
  display: block;
  padding: 0;
  padding-right: .75rem;
  padding-left: 1.5rem;
  text-decoration: none;
  color: #222;
}

.drawer-dropdown-menu-item:hover {
  text-decoration: underline;
  color: #555;
  background-color: transparent;
}

/*! open */
.drawer-dropdown.open > .drawer-dropdown-menu {
  display: block;
}

/*! drawer-caret */
.drawer-dropdown .drawer-caret {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 4px;
  -webkit-transition: opacity .2s ease, -webkit-transform .2s ease;
  transition: opacity .2s ease, -webkit-transform .2s ease;
  transition: transform .2s ease, opacity .2s ease;
  transition: transform .2s ease, opacity .2s ease, -webkit-transform .2s ease;
  -webkit-transform: rotate(0deg);
      -ms-transform: rotate(0deg);
          transform: rotate(0deg);
  vertical-align: middle;
  border-top: 4px solid;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}

/*! open */
.drawer-dropdown.open .drawer-caret {
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
}
/*!------------------------------------*\
    Container
\*!------------------------------------*/
.drawer-container {
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 64em) {
  .drawer-container {
    max-width: 60rem;
  }
}

@media (min-width: 75em) {
  .drawer-container {
    max-width: 70rem;
  }
}
