@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Noto+Serif+JP:wght@200..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
  display: block;
}

audio[controls],
canvas,
video {
  display: inline-block;
  *display: inline;
  zoom: 1;
}

html {
  font-size: 100%; /* 1 */
  overflow-y: scroll; /* 2 */
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); /* 3 */
  -webkit-text-size-adjust: 100%; /* 4 */
  -ms-text-size-adjust: 100%; /* 4 */
}

body {
  margin: 0;
}

body,
button,
input,
select,
textarea {
  font-family: sans-serif;
}

a:focus {
  outline: thin dotted;
}

a:hover,
a:active {
  outline: 0;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b,
strong {
  font-weight: bold;
}

blockquote {
  margin: 1em 40px;
}

dfn {
  font-style: italic;
}

mark {
  background: #ff0;
  color: #000;
}

pre,
code,
kbd,
samp {
  font-family: monospace, monospace;
  _font-family: "courier new", monospace;
  font-size: 1em;
}

pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
}

q {
  quotes: none;
}

q:before,
q:after {
  content: "";
  content: none;
}

small {
  font-size: 75%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

ul,
ol {
  margin: 1em 0;
  padding: 0 0 0 40px;
}

dd {
  margin: 0 0 0 40px;
}

nav ul,
nav ol {
  /*list-style: none;*/
}

img {
  border: 0; /* 1 */
  -ms-interpolation-mode: bicubic; /* 2 */
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 0;
}

form {
  margin: 0;
}

fieldset {
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0; /* 1 */
  *margin-left: -7px; /* 2 */
}

button,
input,
select,
textarea {
  font-size: 100%; /* 1 */
  margin: 0; /* 2 */
  vertical-align: baseline; /* 3 */
  *vertical-align: middle; /* 3 */
}

button,
input {
  line-height: normal; /* 1 */
  *overflow: visible; /* 2 */
}

button,
input[type=button],
input[type=reset],
input[type=submit] {
  cursor: pointer; /* 1 */
  -webkit-appearance: button; /* 2 */
}

input[type=checkbox],
input[type=radio] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

input[type=search] {
  -webkit-appearance: textfield; /* 1 */
  -webkit-box-sizing: content-box; /* 2 */
  box-sizing: content-box;
}

input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto; /* 1 */
  vertical-align: top; /* 2 */
}

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

html, body {
  width: 100%;
  height: 100%;
}

body {
  margin: 0px;
  padding: 0px;
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "Noto Sans", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 22px;
  text-align: left;
  font-weight: normal;
}
@media screen and (max-width: 1460px) {
  body {
    font-size: 1.51vw;
  }
}
@media screen and (max-width: 750px) {
  body {
    font-size: 4.1vw;
  }
}

h1, h2, h3, h4, h5, h6 {
  margin: 0px;
  padding: 0px;
  color: #535353;
  font-size: 28px;
  line-height: 1.6em;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 1460px) {
  h1, h2, h3, h4, h5, h6 {
    font-size: 1.92vw;
  }
}
@media screen and (max-width: 750px) {
  h1, h2, h3, h4, h5, h6 {
    font-size: 5.38vw;
  }
}

hr {
  display: none;
}

ul {
  margin: 0;
  padding: 0;
}
ul li {
  margin: 0;
  padding: 0;
}

p, li, dt, dd, th, td, figcaption, time, address {
  margin: 0px;
  padding: 0px;
  font-size: 22px;
  line-height: 2em;
  letter-spacing: 0.02em;
  color: #535353;
}
@media screen and (max-width: 1460px) {
  p, li, dt, dd, th, td, figcaption, time, address {
    font-size: 1.51vw;
  }
}
@media screen and (max-width: 750px) {
  p, li, dt, dd, th, td, figcaption, time, address {
    font-size: 4.1vw;
  }
}

th p, td p {
  font-size: 100%;
}

p {
  margin-bottom: 2em;
}

a {
  color: #535353;
  text-decoration: underline;
  outline: none;
}

a.outline:focus {
  outline: 1px dotted;
}

a:focus {
  outline: none;
}

a:hover {
  text-decoration: none;
}

a img {
  margin: 0px;
  padding: 0px;
  border: none;
}

ol li p,
ul li p,
ol li table tr th,
ol li table tr td,
table tr td p,
table tr td ol li,
table tr td ul li,
table tr td ol li p,
table tr td ul li p {
  font-size: 100%;
}

ol.lmnone,
ul.lmnone {
  margin: 0;
  padding: 0;
  list-style: none;
}

ol.fllist li,
ul.fllist li {
  float: left;
  list-style: none;
}

/* dl table */
dl.table1 dt,
dl.table2 dt {
  margin: 0;
  margin-right: -110px;
  float: left;
  clear: both;
  display: inline;
  width: 110px;
}

dl.table1 dd {
  margin-left: 110px;
}

dl.table1 {
  /*\*/
  min-height: 1px;
  _height: 1%;
  /* */
  /*\*/ /*/
overflow: hidden;
/**/
}

dl.table1::after {
  height: 0;
  visibility: hidden;
  content: ".";
  display: block;
  clear: both;
}

dl.table2 dt {
  width: 120px;
  margin-right: -120px;
}

dl.table2 dd {
  margin-left: 120px;
}

form {
  margin: 0;
  padding: 0;
}

.cf:before,
.cf:after {
  content: "";
  display: table;
}

.cf:after {
  clear: both;
}

.cf {
  zoom: 1;
}

#layout {
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
}

.dwrap {
  position: relative;
  clear: both;
}

.dleft {
  float: left;
}

.dright {
  float: right;
}

/* スペースの調整用 */
.pt-15 {
  padding-top: -15px;
}

.pt0 {
  padding-top: 0;
}

.pt1em {
  padding-top: 1em;
}

.pt2em {
  padding-top: 2em;
}

.pt3em {
  padding-top: 3em;
}

.pt5 {
  padding-top: 5px;
}

.pt10 {
  padding-top: 10px;
}

.pt15 {
  padding-top: 15px;
}

.pt20 {
  padding-top: 20px;
}

.pt25 {
  padding-top: 25px;
}

.pt30 {
  padding-top: 30px;
}

.pt35 {
  padding-top: 35px;
}

.pt40 {
  padding-top: 40px;
}

.pt45 {
  padding-top: 45px;
}

.pt50 {
  padding-top: 50px;
}

.pt55 {
  padding-top: 55px;
}

.pt60 {
  padding-top: 60px;
}

.pt65 {
  padding-top: 65px;
}

.pt70 {
  padding-top: 70px;
}

.pt75 {
  padding-top: 75px;
}

.pt80 {
  padding-top: 80px;
}

.pt85 {
  padding-top: 85px;
}

.pt124 {
  padding-top: 124px;
}

.pb0 {
  padding-bottom: 0 !important;
}

.pb1em {
  padding-bottom: 1em;
}

.pb2em {
  padding-bottom: 2em;
}

.pb3em {
  padding-bottom: 3em;
}

.pb4em {
  padding-bottom: 4em;
}

.pb5em {
  padding-bottom: 5em;
}

.pb6em {
  padding-bottom: 6em;
}

.pb5 {
  padding-bottom: 5px;
}

.pb10 {
  padding-bottom: 10px;
}

.pb15 {
  padding-bottom: 15px;
}

.pb20 {
  padding-bottom: 20px;
}

.pb25 {
  padding-bottom: 25px;
}

.pb30 {
  padding-bottom: 30px;
}

.pb35 {
  padding-bottom: 35px;
}

.pb40 {
  padding-bottom: 40px;
}

.pb45 {
  padding-bottom: 45px;
}

.pb50 {
  padding-bottom: 50px;
}

.pb55 {
  padding-bottom: 55px;
}

.pb60 {
  padding-bottom: 60px;
}

.pb65 {
  padding-bottom: 65px;
}

.pb70 {
  padding-bottom: 70px;
}

.pb75 {
  padding-bottom: 75px;
}

.pb80 {
  padding-bottom: 80px;
}

.pb85 {
  padding-bottom: 85px;
}

.pb120 {
  padding-bottom: 120px;
}

.mt0 {
  margin-top: 0;
}

.mt1em {
  margin-top: 1em;
}

.mt2em {
  margin-top: 2em;
}

.mt3em {
  margin-top: 3em;
}

.mt4em {
  margin-top: 4em;
}

.mt5em {
  margin-top: 5em;
}

.mt6em {
  margin-top: 6em;
}

.mt7em {
  margin-top: 7em;
}

.mt8em {
  margin-top: 8em;
}

.mt9em {
  margin-top: 9em;
}

.mt5 {
  margin-top: 5px;
}

.mt10 {
  margin-top: 10px;
}

.mt15 {
  margin-top: 15px;
}

.mt20 {
  margin-top: 20px;
}

.mt25 {
  margin-top: 25px;
}

.mt30 {
  margin-top: 30px;
}

.mt35 {
  margin-top: 35px;
}

.mt40 {
  margin-top: 40px;
}

.mt45 {
  margin-top: 45px;
}

.mt50 {
  margin-top: 50px;
}

.mt55 {
  margin-top: 55px;
}

.mt60 {
  margin-top: 60px;
}

.mt65 {
  margin-top: 65px;
}

.mt70 {
  margin-top: 70px;
}

.mt75 {
  margin-top: 75px;
}

.mt80 {
  margin-top: 80px;
}

.mt85 {
  margin-top: 85px;
}

.mt120 {
  margin-top: 120px !important;
}

.mb0 {
  margin-bottom: 0 !important;
}

.mb1em {
  margin-bottom: 1em;
}

.mb2em {
  margin-bottom: 2em;
}

.mb3em {
  margin-bottom: 3em;
}

.mb4em {
  margin-bottom: 4em;
}

.mb5em {
  margin-bottom: 5em;
}

.mb6em {
  margin-bottom: 6em;
}

.mb7em {
  margin-bottom: 7em;
}

.mb8em {
  margin-bottom: 8em;
}

.mb9em {
  margin-bottom: 9em;
}

.mb7 {
  margin-bottom: 7px;
}

.mb5 {
  margin-bottom: 5px;
}

.mb10 {
  margin-bottom: 10px;
}

.mb15 {
  margin-bottom: 15px;
}

.mb20 {
  margin-bottom: 20px;
}

.mb25 {
  margin-bottom: 25px;
}

.mb30 {
  margin-bottom: 30px;
}

.mb35 {
  margin-bottom: 35px;
}

.mb40 {
  margin-bottom: 40px;
}

.mb45 {
  margin-bottom: 45px;
}

.mb50 {
  margin-bottom: 50px;
}

.mb55 {
  margin-bottom: 55px;
}

.mb60 {
  margin-bottom: 60px;
}

.mb65 {
  margin-bottom: 65px;
}

.mb70 {
  margin-bottom: 70px;
}

.mb75 {
  margin-bottom: 75px;
}

.mb80 {
  margin-bottom: 80px;
}

.mb85 {
  margin-bottom: 85px;
}

.mb90 {
  margin-bottom: 90px;
}

.mb95 {
  margin-bottom: 95px;
}

.mb120 {
  margin-bottom: 120px;
}

.pl1em {
  padding-left: 1em;
}

.ml1em {
  margin-left: 1em;
}

.rp0 {
  padding-right: 0;
}

.rm0 {
  margin-right: 0;
}

.pr10 {
  padding-right: 10px;
}

.pr20 {
  padding-right: 20px;
}

.pr35 {
  padding-right: 35px;
}

.pr50 {
  padding-right: 50px;
}

.pl15 {
  padding-left: 15px;
}

.pl20 {
  padding-left: 20px;
}

.pl25 {
  padding-left: 25px;
}

.pl30 {
  padding-left: 30px;
}

.pl340 {
  padding-left: 340px;
}

.bb5 {
  border-bottom: 5px solid #78BE00;
}

.bt5 {
  border-top: 5px solid #78BE00;
  padding-top: 70px;
}

.f11 {
  font-size: 11px !important;
}

.f12 {
  font-size: 12px !important;
}

.red {
  color: red;
}

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

.text-rightb {
  font-weight: bold;
  text-align: right;
}

.tcenter {
  text-align: center;
}

body {
  _zoom: 0.7;
}

img {
  max-width: 100%;
  height: auto;
}

.pcv {
  display: block;
}
@media screen and (max-width: 750px) {
  .pcv {
    display: none;
  }
}

.pcv1160 {
  display: block;
}
@media screen and (max-width: 1160px) {
  .pcv1160 {
    display: none;
  }
}

.pcvin {
  display: inline-block;
}
@media screen and (max-width: 750px) {
  .pcvin {
    display: none;
  }
}

.spv {
  display: none;
}
@media screen and (max-width: 750px) {
  .spv {
    display: block;
  }
}

.detail img {
  max-width: 100%;
  height: auto;
}

.inview.fade {
  opacity: 0;
  -webkit-transform: translate(0, 30px);
          transform: translate(0, 30px);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.inview.fade.show {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

.inview.fade2 {
  opacity: 0;
  -webkit-transform: translate(0, 30px);
          transform: translate(0, 30px);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.inview.fade2.show {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.inview.left {
  opacity: 0;
  -webkit-transform: translateX(-30px);
          transform: translateX(-30px);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.inview.left.show {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.inview.right {
  opacity: 0;
  -webkit-transform: translateX(30px);
          transform: translateX(30px);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.inview.right.show {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.inview.d1.show {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.inview.d2.show {
  -webkit-transition-delay: 0.8s;
          transition-delay: 0.8s;
}

.inview.d3.show {
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
}

.inview.top::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background-color: #f2f2f2;
  z-index: 2;
  -webkit-transition: all 0.4s cubic-bezier(0, 0.48, 0.24, 0.96);
  transition: all 0.4s cubic-bezier(0, 0.48, 0.24, 0.96);
}

.inview.top::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  /* background-color: transparent; */
  z-index: 2;
  -webkit-transition: all 0.4s cubic-bezier(0, 0.48, 0.24, 0.96);
  transition: all 0.4s cubic-bezier(0, 0.48, 0.24, 0.96);
}

.inview.top.show::after, .inview.top.show::before {
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}

.image.inview.top.show::after, .image.inview.top.show::before {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}

/*
.overlay{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: #CCC;
    z-index: 9999;
    -webkit-transition: opacity .3s ease;
    -ms-transition: opacity .3s ease;
    -moz-transition: opacity .3s ease;
    transition: opacity .3s ease;
}
.fadeout{
    .overlay{
        -webkit-transition: opacity .3s ease;
        -ms-transition: opacity .3s ease;
        -moz-transition: opacity .3s ease;
        transition: opacity .3s ease;
        opacity: 1;
    }
}
*/
header,
.header_inner,
.contents,
footer {
  position: relative;
  clear: both;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  text-align: left;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

header {
  padding: 30px 65px 35px 55px;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
header nav {
  width: 56%;
}
header nav ul {
  list-style: none;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}
header nav ul li {
  position: relative;
  font-size: 19px;
}
header nav ul li a {
  display: block;
  text-decoration: none;
  color: #7eafe8;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
header nav ul li a:hover {
  color: #000;
}
header nav ul li ul {
  position: absolute;
  top: 100%;
  left: calc(100% - 8.5em);
  width: 10em;
  background: #fff;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
          box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
  z-index: 100;
  display: block;
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(10px);
          transform: translateY(10px);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
header nav ul li ul li {
  list-style: none;
  width: 100%;
  display: block;
}
header nav ul li ul li a {
  display: block;
  padding: 10px;
  border-bottom: 1px solid #eee;
  background: #f9f9f9;
  font-size: 0.9rem;
}
header nav ul li ul li a::over {
  background: #e9e9e9;
}
header nav ul li.is-active ul {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
header nav ul li.bukai_nav ul {
  left: -3em;
}
header .header_contact {
  margin: 0;
}
header .header_contact a {
  display: block;
  text-align: center;
  font-size: 16px;
  line-height: 1.2em;
  padding: 0.3em 1.2em 0.2em 1.2em;
  letter-spacing: 0;
  font-weight: bold;
  border: 1px solid #ff8f76;
  border-radius: 30px;
  text-decoration: none;
  color: #ff8f76;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
header .header_contact a:hover {
  background: #ff8f76;
  color: #FFF;
}
@media screen and (max-width: 1460px) {
  header {
    padding: 2.05vw 4.45vw 2.4vw 3.77vw;
  }
  header nav ul li {
    font-size: 1.3vw;
  }
  header .header_contact a {
    font-size: 1.1vw;
    border-radius: 2.05vw;
  }
}
@media screen and (max-width: 750px) {
  header {
    padding: 3.85vw 5.13vw;
  }
  header nav {
    display: none;
  }
  header .header_contact {
    display: none;
  }
}

.logo h1 {
  font-size: 23px;
  line-height: 1.2em;
  letter-spacing: 0.03em;
}
.logo h1 a {
  text-decoration: none;
  color: #7eafe8;
}
.logo h1 a span {
  color: #ff8f76;
}
.logo p {
  font-size: 9.6px;
  color: #7eafe8;
  margin: 0;
}
@media screen and (max-width: 1460px) {
  .logo h1 {
    font-size: 1.58vw;
  }
  .logo p {
    font-size: 0.66vw;
  }
}
@media screen and (max-width: 750px) {
  .logo h1 {
    font-size: 5.9vw;
  }
  .logo p {
    font-size: 2.46vw;
  }
}

.side_banner {
  position: fixed;
  right: 0;
  top: 120px;
  z-index: 2;
}
.side_banner p {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  margin-bottom: 5px;
  font-size: 18px;
}
.side_banner p a {
  display: block;
  text-decoration: none;
  padding: 1em 0.8em;
  color: #FFF;
  font-weight: bold;
  background: #ff8f76;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.side_banner p a:hover {
  opacity: 0.5;
}
.side_banner p:nth-of-type(2) a {
  background: #4584ce;
}
.side_banner p:nth-of-type(3) a {
  background: #bf9faf;
}
.side_banner p:nth-of-type(4) a {
  background: #DBCCB9;
}
@media screen and (max-width: 1460px) {
  .side_banner {
    top: 8.22vw;
  }
  .side_banner p {
    margin-bottom: 0.34vw;
    font-size: 1.23vw;
  }
}
@media screen and (max-width: 750px) {
  .side_banner {
    top: auto;
    bottom: 0;
    right: auto;
    width: 100%;
    z-index: 40;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
  }
  .side_banner p {
    width: 25%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
    text-align: center;
    font-size: 3.85vw;
    border-top: 1px solid #FFF;
    border-right: 1px solid #FFF;
  }
  .side_banner p a {
    width: 100%;
    padding: 0.8em 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .side_banner p:last-child {
    border-right: none;
  }
}

.demo_banner {
  position: fixed;
  right: 0;
  top: 0;
  background: red;
  color: #FFF;
  padding: 0.4em 1.2em;
  font-size: 24px;
  font-weight: bold;
  z-index: 35;
}

/* sp menu */
#menu {
  display: none;
  position: fixed;
  width: 100px;
  height: 100px;
  background: #7eafe8;
  right: 0;
  top: 18px;
  cursor: pointer;
  margin: 0px;
  z-index: 40;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
#menu::before, #menu::after,
#menu .icon {
  position: absolute;
  top: 35px;
  left: 33px;
  width: 34px;
  height: 3px;
  background: #FFF;
  text-indent: -9999px;
  display: inline-block;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#menu::after {
  content: "";
  top: 47px;
}
#menu::before {
  content: "";
  top: 59px;
}
#menu .open {
  display: block;
}
#menu .close {
  display: none;
}
#menu.on {
  background: #FFF;
}
#menu.on::before {
  -webkit-transform: translateY(0) rotate(-30deg);
  transform: translateY(-12px) rotate(-30deg);
  background-color: #000;
}
#menu.on::after {
  filter: alpha(opacity=0);
  -moz-opacity: 0;
  opacity: 0;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
#menu.on .icon {
  -webkit-transform: translateY(0) rotate(30deg);
  transform: translateY(12px) rotate(30deg);
  background-color: #000;
}
#menu.on .open {
  display: none;
}
#menu.on .close {
  display: block;
}
#menu p {
  display: none;
}
@media screen and (max-width: 750px) {
  #menu {
    display: block;
    width: 11.54vw;
    height: 11.54vw;
    top: 3vw;
  }
  #menu::before, #menu::after,
  #menu .icon {
    top: 3.08vw;
    left: 3.08vw;
    width: 5.64vw;
  }
  #menu::after {
    top: 5.13vw;
  }
  #menu::before {
    top: 7.18vw;
  }
  #menu.on {
    background: none;
  }
  #menu.on::before {
    -webkit-transform: translateY(-2.05vw) rotate(-30deg);
            transform: translateY(-2.05vw) rotate(-30deg);
    background-color: #FFF;
  }
  #menu.on .icon {
    -webkit-transform: translateY(2.05vw) rotate(30deg);
            transform: translateY(2.05vw) rotate(30deg);
    background-color: #FFF;
  }
}

#spnav {
  opacity: 0;
  position: fixed;
  top: 0;
  right: 0;
  width: 375px;
  height: 100vh;
  overflow-y: auto;
  margin: 0;
  background: #7eafe8;
  z-index: 38;
  text-align: center;
  -webkit-transform: translate(400px);
  transform: translate(400px);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
#spnav .nav_header {
  background: #FFF;
  height: 100px;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}
#spnav .nav_header h2 {
  line-height: 0;
  width: 240px;
  margin: 0 0 0 20px;
}
#spnav .spnav_inner {
  text-align: left;
  width: 240px;
  padding: 33px 0 60px 40px;
}
#spnav .spnav_inner a {
  display: block;
  color: #FFF;
  text-decoration: none;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
#spnav .spnav_inner a:hover {
  opacity: 0.5;
}
#spnav .spnav_inner h3 {
  font-size: 16px;
}
#spnav .spnav_inner h4 {
  font-size: 18px;
  padding-top: 19px;
  margin: 19px 0 13px 0;
  border-top: 1px solid #FFF;
}
#spnav .spnav_inner ul {
  list-style: none;
  border-top: 1px solid #FFF;
}
#spnav .spnav_inner ul li {
  font-size: 16px;
  padding: 0.7em 0;
  border-bottom: 1px solid #FFF;
}
#spnav .spnav_inner ul li ul {
  border-top: none;
}
#spnav .spnav_inner ul li ul li {
  border: none;
  padding: 0;
  padding-left: 2em;
}
#spnav .spnav_inner .copyright {
  color: #FFF;
  font-size: 11px;
  white-space: nowrap;
}
#spnav .snav_sns {
  position: absolute;
  top: 125px;
  right: 23px;
  list-style: none;
  width: 30px;
}
#spnav .snav_sns li {
  width: 30px;
  margin: 0 0 20px 0;
  line-height: 0;
}
#spnav .snav_sns li a {
  display: block;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
#spnav .snav_sns li a:hover {
  opacity: 0.5;
}
#spnav.view {
  opacity: 1;
  -webkit-transform: translate(0);
  transform: translate(0);
}
@media screen and (max-width: 1460px) {
  #spnav .nav_header {
    height: 6.85vw;
  }
  #spnav .snav_sns {
    top: 8.56vw;
  }
}
@media screen and (max-width: 1400px) {
  #spnav .nav_header h2 {
    width: 20.55vw;
  }
}
@media screen and (max-width: 750px) {
  #spnav {
    width: 100%;
    height: 100vh;
    -webkit-transform: translate(110%);
    transform: translate(110%);
  }
  #spnav .nav_header {
    height: 17.95vw;
  }
  #spnav .nav_header h2 {
    width: 61.54vw;
    margin: 0 0 0 5.13vw;
  }
  #spnav .spnav_inner {
    width: 86%;
    padding: 3.85vw 0 0 0;
    margin: 0 auto;
  }
  #spnav .spnav_inner h3 {
    font-size: 4.1vw;
  }
  #spnav .spnav_inner h4 {
    font-size: 4.62vw;
    padding-top: 4.87vw;
    margin: 4.87vw 0 3.33vw 0;
  }
  #spnav .spnav_inner ul {
    list-style: none;
    border-top: 1px solid #FFF;
  }
  #spnav .spnav_inner ul li {
    font-size: 3.59vw;
    padding: 0.5em 0;
    border-bottom: 1px solid #FFF;
  }
  #spnav .spnav_inner ul li ul {
    border-top: none;
  }
  #spnav .spnav_inner ul li ul li {
    border: none;
    padding: 0;
    padding-left: 2em;
    font-size: 3.33vw;
  }
  #spnav .spnav_inner .copyright {
    font-size: 2.82vw;
  }
  #spnav .snav_sns {
    top: 32.05vw;
    right: 5.9vw;
    width: 7.69vw;
  }
  #spnav .snav_sns li {
    width: 7.69vw;
    margin: 0 0 5.13vw 0;
  }
}

.spnav2 {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  margin: 0;
  background: rgba(255, 255, 255, 0.95);
  z-index: 38;
}
.spnav2 .spnav_inner {
  position: relative;
}
.spnav2 .spnav_inner p {
  text-align: left;
  font-size: 20px;
  margin: 0 0 1em 0;
}
.spnav2 .spnav_inner p a {
  color: #000;
  text-decoration: none;
}
.spnav2 .spnav_inner p a:hover {
  color: #808080;
}
.spnav2 .spnav_inner .spnav_wrap {
  position: relative;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
}
.spnav2 .spnav_inner .spnav_wrap ul {
  padding-right: 2em;
  list-style: none;
  width: 15em;
}
.spnav2 .spnav_inner .spnav_wrap ul:nth-child(2) {
  padding-right: 0;
}
.spnav2 .spnav_inner .spnav_wrap ul li {
  text-align: left;
  font-size: 20px;
  margin-bottom: 1em;
}
.spnav2 .spnav_inner .spnav_wrap ul li a {
  color: #000;
  text-decoration: none;
}
.spnav2 .spnav_inner .spnav_wrap ul li a:hover {
  color: #808080;
}
@media screen and (max-width: 756px) {
  .spnav2 .spnav_inner p {
    font-size: 3.2vw;
    margin-bottom: 0.5em;
  }
  .spnav2 .spnav_inner .spnav_wrap ul {
    width: 28vw;
    padding-right: 0;
  }
  .spnav2 .spnav_inner .spnav_wrap ul:nth-child(2) {
    width: 35vw;
  }
  .spnav2 .spnav_inner .spnav_wrap ul li {
    font-size: 3.2vw;
    margin-bottom: 0.5em;
  }
}
@media screen and (max-width: 540px) {
  .spnav2 .spnav_inner p {
    font-size: 3.7vw;
  }
  .spnav2 .spnav_inner .spnav_wrap ul {
    width: 28vw;
    padding-right: 0;
  }
  .spnav2 .spnav_inner .spnav_wrap ul:nth-child(2) {
    width: 35vw;
  }
  .spnav2 .spnav_inner .spnav_wrap ul li {
    font-size: 3.7vw;
  }
}

.side_nav {
  position: absolute;
  top: 50%;
  left: auto;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  position: fixed;
  right: 25px;
  z-index: 38;
}
.side_nav ul {
  list-style: none;
}
.side_nav ul li {
  position: relative;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
          writing-mode: vertical-rl;
  line-height: 19px;
}
.side_nav ul li:nth-child(1) {
  padding: 30px 0 20px 0;
  background: url(/common/images/share/icon_sideshop.svg) no-repeat top center;
  background-size: 19px;
}
.side_nav ul li:nth-child(1)::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 13px;
  height: 1px;
  border-bottom: 1px solid #000;
}
.side_nav ul li:nth-child(2) {
  padding: 20px 0 28px 0;
  background: url(/common/images/share/icon_sidemail.svg) no-repeat bottom 3px center;
  background-size: 19px;
}
.side_nav ul li a {
  text-decoration: none;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.side_nav ul li a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 1330px) {
  .side_nav {
    right: 10px;
  }
}
@media screen and (max-width: 756px) {
  .side_nav {
    position: fixed;
    top: auto;
    right: auto;
    left: 0;
    bottom: 0;
    width: 100%;
    background: #FFF;
  }
  .side_nav ul {
    padding: 5vw 0;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
  }
  .side_nav ul li {
    width: 50%;
    -ms-writing-mode: lr-tb;
    -webkit-writing-mode: horizontal-tb;
            writing-mode: horizontal-tb;
    text-align: right;
    font-size: 3.9vw;
  }
  .side_nav ul li:nth-child(1) {
    width: 55%;
    text-align: right;
    padding: 0;
    background: none;
  }
  .side_nav ul li:nth-child(1) a {
    padding: 0 1.5em 0 1.3em;
    background: url(/common/images/share/icon_sideshop.svg) no-repeat center left;
    background-size: 1em;
  }
  .side_nav ul li:nth-child(1)::after {
    content: "";
    position: absolute;
    left: auto;
    bottom: 2px;
    right: 0;
    width: 1px;
    height: 4vw;
    border-bottom: none;
    border-right: 1px solid #000;
  }
  .side_nav ul li:nth-child(2) {
    width: 45%;
    text-align: left;
    padding: 0;
    background: none;
  }
  .side_nav ul li:nth-child(2) a {
    padding: 0 1.5em 0 1.5em;
    background: url(/common/images/share/icon_sidemail.svg) no-repeat top 0.5em right;
    background-size: 1.1em;
  }
}

footer {
  background: #7eafe8;
  padding: 65px 0 45px 0;
}
footer a {
  color: #FFF;
  text-decoration: none;
}
@media screen and (max-width: 1460px) {
  footer {
    padding: 4.45vw 0 3.08vw 0;
  }
}
@media screen and (max-width: 750px) {
  footer {
    padding: 11.54vw 0 21.79vw 0;
  }
}

.footer_logo {
  width: 1320px;
  margin: 0 auto 70px auto;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.footer_logo .logo {
  margin-right: 170px;
}
.footer_logo .logo h2 {
  font-size: 31.2px;
}
.footer_logo .logo p {
  color: #FFF;
  font-size: 13px;
}
.footer_logo h3 {
  color: #FFF;
  font-size: 19px;
  width: 650px;
}
@media screen and (max-width: 1460px) {
  .footer_logo {
    width: 90.41vw;
    margin: 0 auto 4.79vw auto;
  }
  .footer_logo .logo {
    margin-right: 11.64vw;
  }
  .footer_logo .logo h2 {
    font-size: 2.14vw;
  }
  .footer_logo .logo p {
    font-size: 0.89vw;
  }
  .footer_logo h3 {
    font-size: 1.3vw;
    width: 44.52vw;
  }
}
@media screen and (max-width: 750px) {
  .footer_logo {
    width: 100%;
    margin: 0 auto 7.69vw auto;
  }
  .footer_logo .logo {
    margin-right: 0;
    width: 100%;
    margin-bottom: 4vw;
  }
  .footer_logo .logo h2 {
    font-size: 5.64vw;
    text-align: center;
  }
  .footer_logo .logo p {
    font-size: 2.31vw;
    text-align: center;
  }
  .footer_logo h3 {
    font-size: 3.08vw;
    width: 100%;
    text-align: center;
  }
}

.footer_nav {
  width: 1320px;
  margin: 0 auto 150px auto;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media screen and (max-width: 1460px) {
  .footer_nav {
    width: 90.41vw;
    margin: 0 auto 10.27vw auto;
  }
}
@media screen and (max-width: 750px) {
  .footer_nav {
    display: none;
  }
}

.footer_navright,
.footer_navleft {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.footer_navright article,
.footer_navleft article {
  width: 165px;
  margin-right: 100px;
}
.footer_navright article:nth-child(2), .footer_navright article:nth-child(3),
.footer_navleft article:nth-child(2),
.footer_navleft article:nth-child(3) {
  width: 205px;
}
.footer_navright article:last-of-type,
.footer_navleft article:last-of-type {
  margin-right: 0;
}
.footer_navright article h4,
.footer_navleft article h4 {
  font-size: 16px;
  padding-bottom: 0.7em;
  margin-bottom: 0.7em;
  border-bottom: 1px solid #FFF;
}
.footer_navright article ul,
.footer_navleft article ul {
  list-style: none;
}
.footer_navright article ul li,
.footer_navleft article ul li {
  font-size: 13px;
  line-height: 2.6em;
}
.footer_navright article ul li a,
.footer_navleft article ul li a {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.footer_navright article ul li a:hover,
.footer_navleft article ul li a:hover {
  opacity: 0.5;
}
@media screen and (max-width: 1460px) {
  .footer_navright article,
  .footer_navleft article {
    width: 11.3vw;
    margin-right: 6.85vw;
  }
  .footer_navright article:nth-child(2), .footer_navright article:nth-child(3),
  .footer_navleft article:nth-child(2),
  .footer_navleft article:nth-child(3) {
    width: 14.04vw;
  }
  .footer_navright article h4,
  .footer_navleft article h4 {
    font-size: 1.1vw;
  }
  .footer_navright article ul li,
  .footer_navleft article ul li {
    font-size: 0.89vw;
  }
}

.footer_navright {
  display: block;
}
.footer_navright article:nth-child(1) {
  width: 195px;
  margin-bottom: 40px;
}
@media screen and (max-width: 1460px) {
  .footer_navright article:nth-child(1) {
    width: 13.36vw;
    margin-bottom: 2.74vw;
  }
}

.footer_copy {
  width: 1320px;
  margin: 0 auto;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.footer_copy ul {
  list-style: none;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.footer_copy ul li {
  font-size: 16px;
  margin-right: 105px;
}
.footer_copy ul li a {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.footer_copy ul li a:hover {
  opacity: 0.5;
}
.footer_copy p {
  font-size: 16px;
  margin: 0;
  color: #FFF;
}
@media screen and (max-width: 1460px) {
  .footer_copy {
    width: 90.41vw;
  }
  .footer_copy ul li {
    font-size: 1.1vw;
    margin-right: 7.19vw;
  }
  .footer_copy p {
    font-size: 1.1vw;
  }
}
@media screen and (max-width: 750px) {
  .footer_copy {
    width: 86%;
  }
  .footer_copy ul {
    width: 100%;
    margin-bottom: 4vw;
    border-top: 1px solid rgba(255, 255, 255, 0.6);
  }
  .footer_copy ul li {
    width: 100%;
    font-size: 3.59vw;
    margin-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.6);
  }
  .footer_copy ul li a {
    display: block;
    padding: 0.5em 0;
  }
  .footer_copy p {
    font-size: 2.56vw;
    text-align: center;
    width: 100%;
  }
}

main {
  z-index: 1;
}

.contents_title {
  position: relative;
  border-left: 11px solid #7eafe8;
  margin-bottom: 55px;
  padding: 0.15em 0 0.15em 24px;
}
.contents_title .alphabet {
  font-size: 16px;
  line-height: 1.2em;
  margin: 0.5em 0 0 0;
  color: #666;
}
.contents_title h2 {
  font-size: 35px;
  line-height: 1.2em;
  color: #666;
}
@media screen and (max-width: 1460px) {
  .contents_title {
    border-left: 0.75vw solid #7eafe8;
    margin-bottom: 3.77vw;
    padding: 0.15em 0 0.15em 1.64vw;
  }
  .contents_title .alphabet {
    font-size: 1.1vw;
  }
  .contents_title h2 {
    font-size: 2.4vw;
  }
}
@media screen and (max-width: 750px) {
  .contents_title {
    border-left: 2.05vw solid #7eafe8;
    margin-bottom: 10.26vw;
    padding: 0.15em 0 0.15em 4.36vw;
  }
  .contents_title .alphabet {
    font-size: 3.59vw;
  }
  .contents_title h2 {
    font-size: 7.18vw;
  }
}

.detail_btn2,
.detail_btn {
  font-size: 18px;
  text-align: center;
}
.detail_btn2 a,
.detail_btn a {
  position: relative;
  width: 350px;
  padding: 0.7em 0;
  border-radius: 3em;
  letter-spacing: 0.3em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid #7eafe8;
  color: #7eafe8;
  background: #FFF;
  text-decoration: none;
  display: inline-block;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.detail_btn2 a::after,
.detail_btn a::after {
  display: block;
  cursor: pointer;
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  border-top: solid 1px #7eafe8;
  border-right: solid 1px #7eafe8;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  top: calc(50% - 4px);
  right: 7%;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.detail_btn2 a:hover,
.detail_btn a:hover {
  background: #7eafe8;
  color: #FFF;
}
.detail_btn2 a:hover::after,
.detail_btn a:hover::after {
  border-top: solid 1px #FFF;
  border-right: solid 1px #FFF;
}
@media screen and (max-width: 1460px) {
  .detail_btn2,
  .detail_btn {
    font-size: 1.23vw;
  }
  .detail_btn2 a,
  .detail_btn a {
    width: 23.97vw;
  }
  .detail_btn2 a::after,
  .detail_btn a::after {
    width: 0.55vw;
    height: 0.55vw;
    top: calc(50% - 0.27vw);
  }
}
@media screen and (max-width: 750px) {
  .detail_btn2,
  .detail_btn {
    font-size: 4.62vw;
  }
  .detail_btn2 a,
  .detail_btn a {
    width: 100%;
  }
  .detail_btn2 a::after,
  .detail_btn a::after {
    width: 2.05vw;
    height: 2.05vw;
    top: calc(50% - 1.03vw);
  }
}

.detail_btn2 a {
  background: #7eafe8;
  color: #FFF;
  border: 1px solid #7eafe8;
}
.detail_btn2 a::after {
  border-top: solid 1px #FFF;
  border-right: solid 1px #FFF;
}
.detail_btn2 a:hover {
  color: #7eafe8;
  background: #FFF;
}
.detail_btn2 a:hover::after {
  border-top: solid 1px #7eafe8;
  border-right: solid 1px #7eafe8;
}

.link_list_gan {
  position: relative;
  list-style: none;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.link_list_gan li {
  width: 31.5%;
  margin-right: 2.6%;
  font-size: 20px;
  margin-bottom: 25px;
}
.link_list_gan li:nth-of-type(3n) {
  margin-right: 0;
}
.link_list_gan li a {
  position: relative;
  padding: 1em;
  display: block;
  text-decoration: none;
  text-align: left;
  background: #FFF;
  border: 1px solid #7eafe8;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.link_list_gan li a::before {
  content: "";
  position: absolute;
  right: 1em;
  top: calc(50% - 12px);
  background: #7eafe8;
  width: 24px;
  height: 24px;
  border-radius: 12px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.link_list_gan li a::after {
  content: "";
  position: absolute;
  right: 1.2em;
  top: calc(50% - 7px);
  content: "";
  border-left: 12px solid #FFF;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  height: 0;
  width: 0;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.link_list_gan li a:hover {
  color: #FFF;
  background: #7eafe8;
}
.link_list_gan li a:hover::before {
  background: #FFF;
}
.link_list_gan li a:hover::after {
  border-left: 12px solid #7eafe8;
}
@media screen and (max-width: 1460px) {
  .link_list_gan li {
    font-size: 1.37vw;
    margin-bottom: 1.71vw;
  }
  .link_list_gan li a::before {
    top: calc(50% - 0.82vw);
    width: 1.64vw;
    height: 1.64vw;
    border-radius: 0.82vw;
  }
  .link_list_gan li a::after {
    top: calc(50% - 0.48vw);
    border-left: 0.82vw solid #FFF;
    border-top: 0.48vw solid transparent;
    border-bottom: 0.48vw solid transparent;
  }
  .link_list_gan li a:hover::after {
    border-left: 0.82vw solid #7eafe8;
  }
}
@media screen and (max-width: 750px) {
  .link_list_gan li {
    font-size: 4.1vw;
    margin-right: 0;
    margin-bottom: 3.08vw;
    width: 100%;
  }
  .link_list_gan li a::before {
    top: calc(50% - 3.08vw);
    width: 6.15vw;
    height: 6.15vw;
    border-radius: 3.08vw;
  }
  .link_list_gan li a::after {
    top: calc(50% - 1.79vw);
    right: 1.3em;
    border-left: 3.08vw solid #FFF;
    border-top: 1.79vw solid transparent;
    border-bottom: 1.79vw solid transparent;
  }
  .link_list_gan li a:hover::after {
    border-left: 3.08vw solid #7eafe8;
  }
}

.home_kv {
  position: relative;
  width: 100%;
  padding: 0 45px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.home_kv figure {
  width: 100%;
}
.home_kv figure img {
  width: 100%;
  border-radius: 40px;
}
.home_kv h2 {
  font-size: 37px;
  position: absolute;
  top: 50%;
  left: auto;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  margin-top: -4vw;
  left: calc(50% + 40px);
  color: #7eafe8;
  text-shadow: 0px 0px 13px rgb(255, 255, 255);
}
@media screen and (max-width: 1460px) {
  .home_kv {
    padding: 0 3.08vw;
  }
  .home_kv figure img {
    border-radius: 2.74vw;
  }
  .home_kv h2 {
    font-size: 2.6vw;
    left: calc(50% + 2.74vw);
    text-shadow: 0px 0px 0.89vw rgb(255, 255, 255);
  }
}
@media screen and (max-width: 750px) {
  .home_kv {
    padding: 0;
    width: 90%;
    margin: 0 auto;
  }
  .home_kv figure {
    height: 70vw;
  }
  .home_kv figure img {
    height: 70vw;
    border-radius: 10.26vw;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: left center;
       object-position: left center;
  }
  .home_kv h2 {
    position: absolute;
    font-size: 4.62vw;
    left: auto;
    top: auto;
    margin: 0;
    text-align: center;
    width: 100%;
    bottom: 0.5vw;
    -webkit-transform: none;
    transform: none;
  }
}

.kv_banner {
  position: absolute;
  top: calc(37vw - 50px);
  right: 100px;
  width: 350px;
}
.kv_banner img {
  -webkit-box-shadow: 6px 6px 10px 0px rgba(0, 0, 0, 0.3);
          box-shadow: 6px 6px 10px 0px rgba(0, 0, 0, 0.3);
}
.kv_banner a {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.kv_banner a:hover {
  opacity: 0.5;
}
@media screen and (max-width: 1460px) {
  .kv_banner {
    top: calc(37vw - 3.42vw);
    right: 6.85vw;
    width: 23.97vw;
  }
}
@media screen and (max-width: 750px) {
  .kv_banner {
    position: relative;
    width: 65%;
    margin: 8vw auto 0 auto;
    right: auto;
    top: auto;
  }
}

.home_news {
  position: relative;
  width: 1280px;
  margin: 0 auto 110px auto;
  padding-top: 135px;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.home_news .contents_title {
  width: 250px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.home_news .detail_btn {
  width: 100%;
  margin-bottom: 0;
}
@media screen and (max-width: 1460px) {
  .home_news {
    width: 87.67vw;
    margin: 0 auto 7.53vw auto;
    padding-top: 9.25vw;
  }
  .home_news .contents_title {
    width: 17.12vw;
  }
}
@media screen and (max-width: 750px) {
  .home_news {
    width: 86%;
    margin: 0 auto 15.38vw auto;
    padding-top: 10.26vw;
    display: block;
  }
  .home_news .contents_title {
    width: 100%;
  }
}

.news_list {
  width: 1030px;
  margin-bottom: 85px;
}
.news_list article {
  text-align: left;
  padding-bottom: 19px;
  margin-bottom: 22px;
  border-bottom: 1px solid #7eafe8;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.news_list article time {
  color: #7eafe8;
  font-size: 19px;
  width: 8em;
  display: inline-block;
}
.news_list article p {
  margin: 0 2em 0 0;
  font-size: 19px;
}
.news_list article p a {
  display: block;
  width: 8em;
  border-radius: 0.3em;
  font-weight: bold;
  text-align: center;
  background: #7eafe8;
  color: #FFF;
  text-decoration: none;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.news_list article p a:hover {
  opacity: 0.5;
}
.news_list article p.cat_workshop a {
  background: #b3e2f5;
}
.news_list article p.cat_report a {
  background: #83c5f5;
}
.news_list article h3 {
  font-size: 19px;
  width: calc(100% - 18em);
}
.news_list article h3 a {
  display: block;
  font-size: 16px;
  line-height: 1.5em;
  color: #535353;
  text-decoration: none;
  text-align: left;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.news_list article h3 a:hover {
  color: #7eafe8;
}
@media screen and (max-width: 1460px) {
  .news_list {
    width: 70.55vw;
    margin-bottom: 5.82vw;
  }
  .news_list article {
    padding-bottom: 1.3vw;
    margin-bottom: 1.51vw;
  }
  .news_list article time {
    font-size: 1.3vw;
  }
  .news_list article p {
    font-size: 1.3vw;
  }
  .news_list article h3 {
    font-size: 1.3vw;
  }
  .news_list article h3 a {
    font-size: 1.1vw;
  }
}
@media screen and (max-width: 750px) {
  .news_list {
    width: 100%;
    margin-bottom: 7.69vw;
  }
  .news_list article {
    padding-bottom: 4.87vw;
    margin-bottom: 5.64vw;
  }
  .news_list article time {
    font-size: 4.1vw;
    width: 50%;
  }
  .news_list article p {
    margin: 0;
    font-size: 4.1vw;
    width: 50%;
  }
  .news_list article p a {
    margin: 0 0 0 auto;
  }
  .news_list article h3 {
    width: 100%;
    padding-top: 0.7em;
    font-size: 4.1vw;
  }
  .news_list article h3 a {
    font-size: 4.1vw;
  }
}

.home_message {
  position: relative;
  width: 100%;
  background: #f2f7fd;
}
.home_message .detail_btn {
  margin: 0 auto;
}
.home_message .detail_btn a {
  text-align: center;
}
@media screen and (max-width: 750px) {
  .home_message .detail_btn {
    width: 100%;
  }
}

.home_message_inner {
  width: 1280px;
  margin: 0 auto;
  padding: 80px 0;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.home_message_inner .home_message_text {
  width: 545px;
}
.home_message_inner .home_message_text p {
  font-size: 25px;
}
.home_message_inner .home_message_text .detail_btn {
  font-size: 18px;
  letter-spacing: 1em;
  text-align: left;
}
.home_message_inner .home_message_text .detail_btn a {
  text-align: center;
}
.home_message_inner figure {
  width: 680px;
}
@media screen and (max-width: 1460px) {
  .home_message_inner {
    width: 87.67vw;
    padding: 5.48vw 0;
  }
  .home_message_inner .home_message_text {
    width: 37.33vw;
  }
  .home_message_inner .home_message_text p {
    font-size: 1.71vw;
  }
  .home_message_inner .home_message_text .detail_btn {
    font-size: 1.23vw;
  }
  .home_message_inner figure {
    width: 46.58vw;
  }
}
@media screen and (max-width: 750px) {
  .home_message_inner {
    width: 86%;
    padding: 15.38vw 0;
  }
  .home_message_inner .home_message_text {
    width: 100%;
  }
  .home_message_inner .home_message_text p {
    font-size: 4.1vw;
  }
  .home_message_inner .home_message_text .detail_btn {
    font-size: 4.1vw;
  }
  .home_message_inner figure {
    width: 100%;
  }
}

.home_subcommittee,
.home_map {
  position: relative;
  width: 1280px;
  padding: 150px 0;
  margin: 0 auto;
}
.home_subcommittee h3,
.home_map h3 {
  font-size: 25px;
  color: #7eafe8;
  margin-bottom: 1em;
}
.home_subcommittee .detail_btn2,
.home_map .detail_btn2 {
  padding-top: 80px;
}
.home_subcommittee .detail_btn2 a,
.home_map .detail_btn2 a {
  letter-spacing: 0;
}
@media screen and (max-width: 1460px) {
  .home_subcommittee,
  .home_map {
    width: 87.67vw;
    padding: 10.27vw 0;
  }
  .home_subcommittee h3,
  .home_map h3 {
    font-size: 1.71vw;
  }
  .home_subcommittee .detail_btn2,
  .home_map .detail_btn2 {
    padding-top: 5.48vw;
  }
}
@media screen and (max-width: 750px) {
  .home_subcommittee,
  .home_map {
    width: 86%;
    padding: 15.38vw 0;
  }
  .home_subcommittee h3,
  .home_map h3 {
    font-size: 5.38vw;
  }
  .home_subcommittee .detail_btn2,
  .home_map .detail_btn2 {
    padding-top: 2.56vw;
  }
}

.home_info {
  position: relative;
  width: 100%;
  padding: 85px 0 110px 0;
  margin: 0 auto;
  background: #f2f7fd;
}
@media screen and (max-width: 1460px) {
  .home_info {
    padding: 5.82vw 0 7.53vw 0;
  }
}
@media screen and (max-width: 750px) {
  .home_info {
    padding: 15.38vw 0 15.38vw 0;
  }
}

.home_info_inner {
  position: relative;
  width: 1280px;
  margin: 0 auto;
}
.home_info_inner h3 {
  font-size: 25px;
  color: #7eafe8;
  margin-bottom: 1em;
}
@media screen and (max-width: 1460px) {
  .home_info_inner {
    width: 87.67vw;
  }
  .home_info_inner h3 {
    font-size: 1.71vw;
  }
}
@media screen and (max-width: 750px) {
  .home_info_inner {
    width: 86%;
  }
  .home_info_inner h3 {
    font-size: 5.38vw;
  }
}

.dwrap {
  position: relative;
  width: 1280px;
  margin: 0 auto;
}
@media screen and (max-width: 1460px) {
  .dwrap {
    width: 87.67vw;
  }
}
@media screen and (max-width: 750px) {
  .dwrap {
    width: 86%;
  }
}

.page_title {
  position: relative;
  background: #f2f7fd;
  width: 100%;
  padding: 100px 0 70px 0;
  margin-bottom: 15px;
}
.page_title .contents_title {
  width: 1280px;
  margin: 0 auto;
}
.page_title .detail_page_title {
  font-size: 28px;
}
@media screen and (max-width: 1460px) {
  .page_title {
    padding: 4.11vw 0;
    margin-bottom: 1.03vw;
  }
  .page_title .contents_title {
    width: 87.67vw;
  }
  .page_title .detail_page_title {
    font-size: 1.92vw;
  }
}
@media screen and (max-width: 750px) {
  .page_title {
    padding: 25.64vw 0 17.95vw 0;
    margin-bottom: 3.85vw;
  }
  .page_title .contents_title {
    width: 86%;
    margin: 0 auto;
  }
  .page_title .detail_page_title {
    font-size: 5.38vw;
  }
}

.topic_path {
  position: relative;
  width: 1280px;
  margin: 0 auto 75px auto;
}
.topic_path ul {
  list-style: none;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}
.topic_path ul li {
  font-size: 16px;
  line-height: 1.3em;
  color: #000;
  padding-right: 1em;
  margin-right: 1em;
  border-right: 1px solid #000;
}
.topic_path ul li:last-of-type {
  border-right: none;
}
.topic_path ul li a {
  text-decoration: none;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.topic_path ul li a:hover {
  opacity: 0.5;
}
@media screen and (max-width: 1460px) {
  .topic_path {
    width: 87.67vw;
    margin: 0 auto 5.14vw auto;
  }
  .topic_path ul li {
    font-size: 1.1vw;
  }
}
@media screen and (max-width: 750px) {
  .topic_path {
    width: 86%;
    margin: 0 auto 5.13vw auto;
  }
  .topic_path ul {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .topic_path ul li {
    font-size: 3.08vw;
    margin-bottom: 2vw;
  }
}

.news_list_base {
  position: relative;
  width: 1280px;
  margin: 0 auto;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.news_list_base .news_list {
  width: 960px;
}
@media screen and (max-width: 1460px) {
  .news_list_base {
    width: 87.67vw;
  }
  .news_list_base .news_list {
    width: 65.75vw;
  }
}
@media screen and (max-width: 750px) {
  .news_list_base {
    width: 86%;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .news_list_base .news_list {
    width: 100%;
  }
}

.news_nav {
  width: 220px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-bottom: 60px;
}
.news_nav li {
  font-size: 19px;
  list-style: none;
}
.news_nav li a {
  position: relative;
  display: block;
  padding: 10px 0.7em;
  text-decoration: none;
  border-bottom: 1px solid #7eafe8;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.news_nav li a:hover {
  color: #7eafe8;
}
.news_nav li a::before {
  content: "";
  display: block;
  position: absolute;
  right: 5px;
  top: calc(50% - 11px);
  width: 22px;
  height: 22px;
  border-radius: 11px;
  border: 1px solid #7eafe8;
}
.news_nav li a::after {
  display: block;
  cursor: pointer;
  position: absolute;
  content: "";
  width: 7px;
  height: 7px;
  border-top: solid 1px #7eafe8;
  border-right: solid 1px #7eafe8;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  top: calc(50% - 3px);
  right: 16px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.news_nav li.current a {
  color: #ff8f76;
}
@media screen and (max-width: 1460px) {
  .news_nav {
    width: 15.07vw;
  }
  .news_nav li {
    font-size: 1.3vw;
  }
  .news_nav li a {
    padding: 0.68vw 0.7em;
  }
  .news_nav li a::before {
    right: 0.34vw;
    top: calc(50% - 0.75vw);
    width: 1.51vw;
    height: 1.51vw;
    border-radius: 0.75vw;
  }
  .news_nav li a::after {
    width: 0.48vw;
    height: 0.48vw;
    top: calc(50% - 0.21vw);
    right: 1.1vw;
  }
}
@media screen and (max-width: 750px) {
  .news_nav {
    width: 100%;
    border-top: 1px solid #7eafe8;
  }
  .news_nav li {
    font-size: 4.1vw;
  }
  .news_nav li a {
    padding: 2.56vw 0.7em;
  }
  .news_nav li a::before {
    right: 1.28vw;
    top: calc(50% - 2.82vw);
    width: 5.64vw;
    height: 5.64vw;
    border-radius: 2.82vw;
  }
  .news_nav li a::after {
    width: 1.79vw;
    height: 1.79vw;
    top: calc(50% - 0.77vw);
    right: 4.1vw;
  }
}

.news_detail {
  position: relative;
  width: 1280px;
  margin: 0 auto;
}
.news_detail article {
  position: relative;
}
@media screen and (max-width: 1460px) {
  .news_detail {
    width: 87.67vw;
  }
}
@media screen and (max-width: 750px) {
  .news_detail {
    width: 86%;
  }
}

.entry_title {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.entry_title time {
  font-size: 14px;
  display: inline-block;
  width: 8em;
  color: #7eafe8;
}
.entry_title .cat {
  font-size: 14px;
  width: calc(100% - 8em);
  margin: 0;
}
.entry_title .cat a {
  display: inline-block;
  padding: 0.1em 2em;
  text-decoration: none;
  color: #7eafe8;
  border: 1px solid #7eafe8;
}
.entry_title h1 {
  width: 100%;
  font-size: 32px;
  padding-top: 30px;
  margin-bottom: 45px;
  color: #7eafe8;
  padding-bottom: 0.5em;
  border-bottom: 1px solid rgba(126, 175, 232, 0.5);
}
.entry_title h1 a {
  color: #7eafe8;
}
@media screen and (max-width: 1460px) {
  .entry_title time {
    font-size: 0.96vw;
  }
  .entry_title .cat {
    font-size: 0.96vw;
  }
  .entry_title h1 {
    font-size: 2.19vw;
    padding-top: 2.05vw;
    margin-bottom: 3.08vw;
  }
}
@media screen and (max-width: 750px) {
  .entry_title time {
    font-size: 3.59vw;
  }
  .entry_title .cat {
    font-size: 3.59vw;
  }
  .entry_title h1 {
    font-size: 6.15vw;
    padding-top: 7.69vw;
    margin-bottom: 11.54vw;
  }
}

.entry_detail {
  position: relative;
  margin-bottom: 100px;
}
.entry_detail table {
  margin-bottom: 2em;
  border-top: 1px solid #ccc;
}
.entry_detail table tr {
  border-bottom: 1px solid #ccc;
  text-align: left;
}
.entry_detail table th {
  padding: 0.7em 1em;
}
.entry_detail table td {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0.7em 1em;
}
@media screen and (max-width: 1460px) {
  .entry_detail {
    margin-bottom: 6.85vw;
  }
}
@media screen and (max-width: 750px) {
  .entry_detail {
    margin-bottom: 15.38vw;
  }
}

.page_navigation_inner {
  position: relative;
  width: 100%;
  margin-bottom: 80px;
}
.page_navigation_inner ul {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}
.page_navigation_inner ul li {
  list-style: none;
}
.page_navigation_inner ul li a {
  display: block;
  text-align: center;
  text-decoration: none;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.page_navigation_inner ul li a:hover {
  opacity: 0.5;
}
.page_navigation_inner ul li:first-of-type {
  text-align: right;
  padding-right: 2em;
}
.page_navigation_inner ul li:last-of-type {
  text-align: left;
  padding-left: 2em;
}
@media screen and (max-width: 1460px) {
  .page_navigation_inner {
    margin-bottom: 5.48vw;
  }
}
@media screen and (max-width: 750px) {
  .page_navigation_inner {
    margin-bottom: 15.38vw;
  }
}

.entry_detail a {
  color: #7eafe8;
}
.entry_detail .wp-block-button__link {
  color: #FFF;
  border: 1px solid #7eafe8;
  background: #7eafe8;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.entry_detail .wp-block-button__link:hover {
  color: #7eafe8;
  background: #FFF;
}
.entry_detail h2 {
  position: relative;
  font-size: 28px;
  line-height: 1.2em;
  color: #3C3C3C;
  padding-bottom: 0.5em;
  margin-bottom: 1em;
}
.entry_detail h2::before {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  border-bottom: 3px solid #EBEBEB;
}
.entry_detail h2::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 200px;
  height: 1px;
  border-bottom: 3px solid #7eafe8;
}
.entry_detail h2.nodecoration {
  line-height: 1.6em;
  padding-bottom: 0;
  margin-bottom: 1em;
}
.entry_detail h2.nodecoration::before, .entry_detail h2.nodecoration::after {
  display: none;
}
.entry_detail h3 {
  font-size: 24px;
  padding-left: 20px;
  line-height: 1.2em;
  margin-bottom: 0.5em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-left: 5px solid #7eafe8;
}
.entry_detail h3.nodecoration {
  padding-left: 0;
  border: none;
}
.entry_detail h3.nodecoration::before, .entry_detail h3.nodecoration::after {
  display: none;
}
.entry_detail h4 {
  font-size: 22px;
  margin-bottom: 0.5em;
}
.entry_detail h4::before {
  content: "■ ";
  color: #7eafe8;
}
.entry_detail h5 {
  color: #7eafe8;
  font-size: 22px;
  margin-bottom: 0.5em;
}
.entry_detail p {
  font-size: 20px;
}
.entry_detail p.message_name {
  margin-bottom: 4em;
}
.entry_detail p.message_name strong {
  font-weight: normal;
  font-size: 20px;
}
.entry_detail figure img {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.entry_detail figure a:hover img {
  -webkit-filter: brightness(1.2);
  filter: brightness(1.2);
}
.entry_detail ul {
  font-size: 20px;
  margin-bottom: 2.5em;
  list-style: none;
}
.entry_detail ul li {
  font-size: 20px;
  line-height: 2em;
  padding-left: 1.2em;
  text-indent: -1.2em;
}
.entry_detail ul li::before {
  content: "●";
  color: #7eafe8;
}
.entry_detail ul li ul li {
  padding-left: 0;
  text-indent: inherit;
  list-style: disc;
}
.entry_detail ul li ul li::before {
  display: none;
  content: "";
}
.entry_detail ul.page_nav {
  margin-bottom: 90px;
}
.entry_detail ul.page_nav li {
  font-size: 18px;
  padding-left: 0;
  text-indent: 0;
}
.entry_detail ul.page_nav li::before {
  display: none;
}
.entry_detail ol {
  font-size: 20px;
  margin-bottom: 2.5em;
  list-style: none;
  padding-left: 2em;
  counter-reset: li;
}
.entry_detail ol.reset02 {
  counter-reset: item 3;
}
.entry_detail ol.reset03 {
  counter-reset: item 4;
}
.entry_detail ol.reset04 {
  counter-reset: item 5;
}
.entry_detail ol.reset05 {
  counter-reset: item 6;
}
.entry_detail ol.reset06 {
  counter-reset: item 7;
}
.entry_detail ol.reset07 {
  counter-reset: item 8;
}
.entry_detail ol.reset08 {
  counter-reset: item 9;
}
.entry_detail ol.reset09 {
  counter-reset: item 10;
}
.entry_detail ol.reset10 {
  counter-reset: item 11;
}
.entry_detail ol.reset11 {
  counter-reset: item 12;
}
.entry_detail ol.reset12 {
  counter-reset: item 13;
}
.entry_detail ol.reset13 {
  counter-reset: item 14;
}
.entry_detail ol.reset14 {
  counter-reset: item 15;
}
.entry_detail ol.reset15 {
  counter-reset: item 16;
}
.entry_detail ol.reset16 {
  counter-reset: item 17;
}
.entry_detail ol.reset17 {
  counter-reset: item 18;
}
.entry_detail ol.reset18 {
  counter-reset: item 19;
}
.entry_detail ol li {
  position: relative;
  font-size: 20px;
  padding-left: 30px;
  margin: 0 0 10px;
  list-style: none;
}
.entry_detail ol li::before {
  position: absolute;
  top: 0;
  left: 0;
  font-weight: bold;
  color: #7eafe8;
  counter-increment: li;
  content: counter(li) ".";
}
.entry_detail ol li ul {
  padding-left: 1.5em;
  margin-top: 0.5em;
}
.entry_detail ol li ul li {
  padding-left: 0;
  text-indent: inherit;
  list-style: disc;
}
.entry_detail ol li ul li::before {
  display: none;
  content: "";
}
.entry_detail ol.nomark {
  list-style: none;
}
.entry_detail ol.nomark li {
  padding-left: 1em;
  text-indent: -1em;
}
.entry_detail ol.nomark li::before {
  display: none;
}
.entry_detail table td,
.entry_detail table th {
  font-size: 20px;
}
.entry_detail .kakko_list li {
  text-indent: -3.2em;
  padding-left: 3.2em;
  line-height: 1.5em;
  margin-bottom: 0.7em;
}
.entry_detail .kakko_list li::before {
  display: none;
}
.entry_detail .border_list {
  border-top: 1px solid #CCC;
}
.entry_detail .border_list li {
  text-indent: inherit;
  padding-left: 0;
}
.entry_detail .border_list li::before {
  display: none;
}
.entry_detail .border_list li {
  padding: 0.5em 0;
  border-bottom: 1px solid #CCC;
}
@media screen and (max-width: 1160px) {
  .entry_detail {
    margin: 0 auto 15.52vw auto;
    width: 100%;
    padding-top: 6.47vw;
  }
  .entry_detail h2 {
    font-size: 2.41vw;
  }
  .entry_detail h2::before {
    border-bottom: 0.26vw solid #EBEBEB;
  }
  .entry_detail h2::after {
    width: 17.24vw;
  }
  .entry_detail h3 {
    font-size: 2.07vw;
    padding-left: 1.72vw;
    border-left: 0.43vw solid #7eafe8;
  }
  .entry_detail h3::before {
    left: -0.43vw;
    bottom: -1.38vw;
  }
  .entry_detail h3::after {
    left: -0.43vw;
    width: 0.43vw;
  }
  .entry_detail h4 {
    font-size: 1.9vw;
  }
  .entry_detail h5 {
    font-size: 1.9vw;
  }
  .entry_detail p {
    font-size: 1.72vw;
  }
  .entry_detail p.message_name strong {
    font-size: 1.72vw;
  }
  .entry_detail ul {
    font-size: 1.72vw;
  }
  .entry_detail ul li {
    font-size: 1.72vw;
  }
  .entry_detail ul.page_nav {
    margin-bottom: 7.76vw;
  }
  .entry_detail ul.page_nav li {
    font-size: 1.38vw;
  }
  .entry_detail ol {
    font-size: 1.72vw;
  }
  .entry_detail ol li {
    font-size: 1.72vw;
    padding-left: 2.59vw;
    margin: 0 0 0.86vw;
  }
  .entry_detail table td,
  .entry_detail table th {
    font-size: 1.72vw;
  }
}
@media screen and (max-width: 750px) {
  .entry_detail {
    margin: 0 auto 25.64vw auto;
    width: 100%;
    padding-top: 0;
  }
  .entry_detail h2 {
    font-size: 5.13vw;
  }
  .entry_detail h2::after {
    width: 25.64vw;
  }
  .entry_detail h3 {
    font-size: 4.62vw;
    padding-left: 3.85vw;
    border-left: 3px solid #7eafe8;
  }
  .entry_detail h3::before {
    left: -3px;
    bottom: -4.1vw;
  }
  .entry_detail h3::after {
    left: -3px;
    width: 3px;
  }
  .entry_detail h4 {
    font-size: 4.1vw;
  }
  .entry_detail h5 {
    font-size: 4.1vw;
  }
  .entry_detail p {
    font-size: 3.59vw;
  }
  .entry_detail p.message_name strong {
    font-size: 4.62vw;
  }
  .entry_detail ul {
    font-size: 3.59vw;
  }
  .entry_detail ul li {
    font-size: 3.59vw;
  }
  .entry_detail ul.page_nav {
    margin-bottom: 10.26vw;
  }
  .entry_detail ul.page_nav li {
    font-size: 3.59vw;
  }
  .entry_detail ol {
    font-size: 3.59vw;
    padding-left: 0;
  }
  .entry_detail ol.reset02 {
    counter-reset: item 3;
  }
  .entry_detail ol.reset03 {
    counter-reset: item 4;
  }
  .entry_detail ol.reset04 {
    counter-reset: item 5;
  }
  .entry_detail ol.reset05 {
    counter-reset: item 6;
  }
  .entry_detail ol.reset06 {
    counter-reset: item 7;
  }
  .entry_detail ol.reset07 {
    counter-reset: item 8;
  }
  .entry_detail ol.reset08 {
    counter-reset: item 9;
  }
  .entry_detail ol.reset09 {
    counter-reset: item 10;
  }
  .entry_detail ol.reset10 {
    counter-reset: item 11;
  }
  .entry_detail ol.reset11 {
    counter-reset: item 12;
  }
  .entry_detail ol.reset12 {
    counter-reset: item 13;
  }
  .entry_detail ol.reset13 {
    counter-reset: item 14;
  }
  .entry_detail ol.reset14 {
    counter-reset: item 15;
  }
  .entry_detail ol.reset15 {
    counter-reset: item 16;
  }
  .entry_detail ol.reset16 {
    counter-reset: item 17;
  }
  .entry_detail ol.reset17 {
    counter-reset: item 18;
  }
  .entry_detail ol.reset18 {
    counter-reset: item 19;
  }
  .entry_detail ol li {
    font-size: 3.59vw;
    padding-left: 7.69vw;
    margin: 0 0 2.56vw;
  }
  .entry_detail table td,
  .entry_detail table th {
    font-size: 3.59vw;
  }
}

.link_list {
  position: relative;
  clear: both;
  width: 100%;
  list-style: none;
}
.link_list li {
  padding-left: 0 !important;
  text-indent: inherit !important;
  line-height: 1.4em;
}
.link_list li::before {
  display: none !important;
}
.link_list li a {
  position: relative;
  font-weight: bold;
  display: inline-block;
  padding: 1em 3em 1em 1.5em;
  text-decoration: none;
  margin-bottom: 10px;
  border-radius: 15px;
  color: #7eafe8;
  border: 1px solid #7eafe8;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.link_list li a::before {
  position: absolute;
  right: 15px;
  top: calc(50% - 17px);
  content: "";
  width: 34px;
  height: 34px;
  border-radius: 17px;
  border: 1px solid #7eafe8;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.link_list li a::after {
  position: absolute;
  top: calc(50% - 4px);
  right: 30px;
  content: "";
  width: 8px;
  height: 8px;
  border-top: solid 1px #7eafe8;
  border-right: solid 1px #7eafe8;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.link_list li a:hover {
  background: #7eafe8;
  border-color: #7eafe8;
  color: #FFF;
}
.link_list li a:hover::before {
  border: 1px solid #FFF;
}
.link_list li a:hover::after {
  border-top: solid 1px #FFF;
  border-right: solid 1px #FFF;
}
.link_list li a.icon_pdf {
  background: url(/common/images/share/icon_down.svg) no-repeat right 1.5em center #E4F0F6;
  background-size: 30px;
  border: none;
  color: #000;
}
.link_list li a.icon_pdf::before, .link_list li a.icon_pdf::after {
  display: none;
}
.link_list li a.icon_pdf:hover {
  opacity: 0.5;
}
.link_list li a.icon_doc {
  background: url(/common/images/share/icon_doc.svg) no-repeat right 1.5em center;
  background-size: 24px;
}
.link_list li a.icon_doc::before, .link_list li a.icon_doc::after {
  display: none;
}
.link_list li a.icon_doc:hover {
  background: url(/common/images/share/icon_doc_w.svg) no-repeat right 1.5em center #7eafe8;
  background-size: 24px;
}
.link_list li a.icon_xls {
  background: url(/common/images/share/icon_xls.svg) no-repeat right 1.5em center;
  background-size: 24px;
}
.link_list li a.icon_xls::before, .link_list li a.icon_xls::after {
  display: none;
}
.link_list li a.icon_xls:hover {
  background: url(/common/images/share/icon_xls_w.svg) no-repeat right 1.5em center #7eafe8;
  background-size: 24px;
}
.link_list.retsu_1L {
  text-align: left;
}
.link_list.retsu_1R {
  text-align: right;
}
.link_list.retsu_1C {
  text-align: center;
}
.link_list.retsu_1 {
  width: 100%;
}
.link_list.retsu_1 a {
  display: block;
}
.link_list.retsu_2 {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.link_list.retsu_2 li {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 49.5%;
  margin-right: 1%;
  margin-bottom: 1%;
}
.link_list.retsu_2 li:nth-child(even) {
  margin-right: 0;
}
.link_list.retsu_2 li a {
  display: block;
}
.link_list.retsu_3 {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.link_list.retsu_3 li {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 32.66%;
  margin-right: 1%;
  margin-bottom: 1%;
}
.link_list.retsu_3 li:nth-child(3n) {
  margin-right: 0;
}
.link_list.retsu_3 li a {
  display: block;
}
.link_list.retsu_4 {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.link_list.retsu_4 li {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 24.25%;
  margin-right: 1%;
  margin-bottom: 1%;
}
.link_list.retsu_4 li:nth-child(4n) {
  margin-right: 0;
}
.link_list.retsu_4 li a {
  display: block;
}
.link_list.retsu_none {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.link_list.retsu_none li {
  margin-right: 1%;
  margin-bottom: 1%;
}
.link_list.retsu_none_center {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.link_list.retsu_none_center li {
  margin: 0 1% 2% 0;
  margin-bottom: 1%;
}
.link_list.retsu_line {
  border-bottom: 1px solid #D8D8D8;
}
.link_list.retsu_line li {
  margin: 0;
  padding: 0;
}
.link_list.retsu_line li a {
  display: block;
  padding: 0.7em 0 0.7em 40px;
  margin: 0;
  border: none;
  border-radius: 0;
  border-top: 1px solid #D8D8D8;
}
.link_list.retsu_line li a::before {
  display: none;
}
.link_list.retsu_line li a::after {
  position: absolute;
  top: calc(50% - 4px);
  left: 11px;
  content: "";
  width: 8px;
  height: 8px;
  border-top: solid 2px #7eafe8;
  border-right: solid 2px #7eafe8;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.link_list.retsu_line li a:hover {
  background: #7eafe8;
  border-color: #7eafe8;
  color: #FFF;
}
.link_list.retsu_line li a:hover::before {
  border: none;
}
.link_list.retsu_line li a:hover::after {
  border-top: solid 2px #FFF;
  border-right: solid 2px #FFF;
}
.link_list.retsu_line li a.icon_pdf {
  padding: 0.7em 0 0.7em 40px;
  background: url(/common/images/share/icon_down.svg) no-repeat right 1.5em center #E4F0F6;
  background-size: 30px;
  border: none;
  color: #000;
}
.link_list.retsu_line li a.icon_pdf::before, .link_list.retsu_line li a.icon_pdf::after {
  display: none;
}
.link_list.retsu_line li a.icon_pdf:hover {
  opacity: 0.5;
}
.link_list.retsu_line li a.icon_doc {
  padding: 0.7em 0 0.7em 40px;
  background: url(/common/images/share/icon_doc.svg) no-repeat left 0.3em center;
  background-size: 24px;
}
.link_list.retsu_line li a.icon_doc::before, .link_list.retsu_line li a.icon_doc::after {
  display: none;
}
.link_list.retsu_line li a.icon_doc:hover {
  background: url(/common/images/share/icon_doc_w.svg) no-repeat left 0.3em center #7eafe8;
  background-size: 24px;
}
.link_list.retsu_line li a.icon_xls {
  padding: 0.7em 0 0.7em 40px;
  background: url(/common/images/share/icon_xls.svg) no-repeat left 0.3em center;
  background-size: 24px;
}
.link_list.retsu_line li a.icon_xls::before, .link_list.retsu_line li a.icon_xls::after {
  display: none;
}
.link_list.retsu_line li a.icon_xls:hover {
  background: url(/common/images/share/icon_xls_w.svg) no-repeat left 0.3em center #7eafe8;
  background-size: 24px;
}
.link_list.retsu_anchor {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.link_list.retsu_anchor li {
  font-size: 16px;
  list-style: none;
  width: auto;
  min-width: 20%;
  margin: 0 1.3% 1.3% 1.3%;
  line-height: 1.4em;
}
.link_list.retsu_anchor li a {
  position: relative;
  height: 100%;
  padding: 0.5em 3em 0.5em 1em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  text-decoration: none;
  border: 3px solid #E2E2E2;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-radius: 0;
  text-decoration: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.link_list.retsu_anchor li a::after {
  display: none;
}
.link_list.retsu_anchor li a::before {
  position: absolute;
  display: block;
  right: 1em;
  top: calc(50% - 6px);
  content: "";
  border: none;
  border-left: 7px solid #ff8f76;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  height: 0;
  width: 0;
}
.link_list.retsu_anchor li a:hover {
  background: #7eafe8;
  color: #FFF;
  border: 3px solid #7eafe8;
}
.link_list.retsu_anchor li a:hover::before {
  border-left: 7px solid #FFF;
}
@media screen and (max-width: 1160px) {
  .link_list li a {
    margin-bottom: 0.86vw;
    border-radius: 1.29vw;
  }
  .link_list li a::before {
    right: 1.29vw;
    top: calc(50% - 1.47vw);
    width: 2.93vw;
    height: 2.93vw;
    border-radius: 1.47vw;
  }
  .link_list li a::after {
    top: calc(50% - 0.34vw);
    right: 2.59vw;
    width: 0.69vw;
    height: 0.69vw;
  }
  .link_list li a.icon_pdf {
    background-size: 2.59vw;
  }
  .link_list li a.icon_doc {
    background-size: 2.07vw;
  }
  .link_list li a.icon_doc:hover {
    background-size: 2.07vw;
  }
  .link_list li a.icon_xls {
    background-size: 2.07vw;
  }
  .link_list li a.icon_xls:hover {
    background-size: 2.07vw;
  }
  .link_list.retsu_line li a {
    padding: 0.7em 0 0.7em 3.45vw;
  }
  .link_list.retsu_line li a::after {
    top: calc(50% - 0.34vw);
    left: 0.95vw;
    width: 0.69vw;
    height: 0.69vw;
  }
  .link_list.retsu_line li a.icon_pdf {
    padding: 0.7em 0 0.7em 3.45vw;
    background-size: 2.59vw;
  }
  .link_list.retsu_line li a.icon_doc {
    padding: 0.7em 0 0.7em 3.45vw;
    background-size: 2.07vw;
  }
  .link_list.retsu_line li a.icon_doc:hover {
    background-size: 2.07vw;
  }
  .link_list.retsu_line li a.icon_xls {
    padding: 0.7em 0 0.7em 3.45vw;
    background-size: 2.07vw;
  }
  .link_list.retsu_line li a.icon_xls:hover {
    background-size: 2.07vw;
  }
  .link_list.retsu_anchor {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: stretch;
    -webkit-box-align: stretch;
            align-items: stretch;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .link_list.retsu_anchor li {
    font-size: 1.38vw;
  }
  .link_list.retsu_anchor li a {
    border: 0.26vw solid #E2E2E2;
  }
  .link_list.retsu_anchor li a::before {
    top: calc(50% - 0.52vw);
    border-left: 0.6vw solid #ff8f76;
    border-top: 0.52vw solid transparent;
  }
  .link_list.retsu_anchor li a:hover {
    border: 0.26vw solid #7eafe8;
  }
  .link_list.retsu_anchor li a:hover::before {
    border-left: 0.6vw solid #FFF;
  }
}
@media screen and (max-width: 750px) {
  .link_list li {
    line-height: 1.3em !important;
  }
  .link_list li a {
    padding: 0.9em 3.5em 0.9em 1.5em;
    margin-bottom: 2.56vw;
    border-radius: 2.56vw;
  }
  .link_list li a::before {
    right: 3.08vw;
    top: calc(50% - 2.82vw);
    width: 5.13vw;
    height: 5.13vw;
    border-radius: 10.26vw;
  }
  .link_list li a::after {
    top: calc(50% - 1.03vw);
    right: 5.13vw;
    width: 1.54vw;
    height: 1.54vw;
  }
  .link_list li a:hover::before {
    border: 1px solid #FFF;
  }
  .link_list li a:hover::after {
    border-top: solid 1px #FFF;
    border-right: solid 1px #FFF;
  }
  .link_list li a.icon_pdf {
    background-size: 5.13vw;
  }
  .link_list li a.icon_doc {
    background-size: 4.1vw;
  }
  .link_list li a.icon_doc:hover {
    background-size: 4.1vw;
  }
  .link_list li a.icon_xls {
    background-size: 4.1vw;
  }
  .link_list li a.icon_xls:hover {
    background-size: 4.1vw;
  }
  .link_list.retsu_2 li {
    width: 100%;
    margin-right: 0;
    margin-bottom: 2vw;
  }
  .link_list.retsu_3 li {
    width: 100%;
    margin-right: 0;
    margin-bottom: 2vw;
  }
  .link_list.retsu_4 li {
    width: 100%;
    margin-right: 0;
    margin-bottom: 2vw;
  }
  .link_list.retsu_none {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-align: stretch;
    -webkit-box-align: stretch;
            align-items: stretch;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .link_list.retsu_none li {
    margin-right: 0;
    margin-bottom: 2vw;
  }
  .link_list.retsu_none_center {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: stretch;
    -webkit-box-align: stretch;
            align-items: stretch;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .link_list.retsu_none_center li {
    margin: 0 0 2vw 0;
  }
  .link_list.retsu_line li a {
    padding: 0.7em 0 0.7em 6.15vw;
  }
  .link_list.retsu_line li a::after {
    top: calc(50% - 1.03vw);
    left: 2.82vw;
    width: 2.05vw;
    height: 2.05vw;
    border-top: solid 2px #7eafe8;
    border-right: solid 2px #7eafe8;
  }
  .link_list.retsu_line li a.icon_pdf {
    padding: 0.7em 0 0.7em 6.15vw;
    background-size: 5.13vw;
  }
  .link_list.retsu_line li a.icon_doc {
    padding: 0.7em 0 0.7em 6.15vw;
    background: url(/common/images/share/icon_doc.svg) no-repeat left 0.3em center;
    background-size: 4.1vw;
  }
  .link_list.retsu_line li a.icon_doc:hover {
    background: url(/common/images/share/icon_doc_w.svg) no-repeat left 0.3em center #7eafe8;
    background-size: 4.1vw;
  }
  .link_list.retsu_line li a.icon_xls {
    padding: 0.7em 0 0.7em 6.15vw;
    background: url(/common/images/share/icon_xls.svg) no-repeat left 0.3em center;
    background-size: 4.1vw;
  }
  .link_list.retsu_line li a.icon_xls:hover {
    background: url(/common/images/share/icon_xls_w.svg) no-repeat left 0.3em center #7eafe8;
    background-size: 4.1vw;
  }
  .link_list.retsu_anchor li {
    font-size: 3.59vw;
    min-width: 100%;
    margin: 0 0 2vw 0;
  }
  .link_list.retsu_anchor li a {
    border: 3px solid #E2E2E2;
  }
  .link_list.retsu_anchor li a::before {
    top: calc(50% - 1.54vw);
    border-left: 1.79vw solid #ff8f76;
    border-top: 1.54vw solid transparent;
    border-bottom: 1.54vw solid transparent;
  }
  .link_list.retsu_anchor li a:hover {
    border: 3px solid #7eafe8;
  }
  .link_list.retsu_anchor li a:hover::before {
    border-left: 1.79vw solid #FFF;
  }
}

.image_text {
  position: relative;
  clear: both;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.image_text .link_btn a {
  width: 100%;
  min-width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.image_text.kadomaru article figure img {
  border-radius: 10px;
}
.image_text.retsu_3 article {
  width: 31.5%;
  margin-right: 2.75%;
}
.image_text.retsu_3 article:nth-child(even) {
  margin-right: 2.75%;
}
.image_text.retsu_3 article:nth-child(3n) {
  margin-right: 0;
}
.image_text.retsu_4 article {
  width: 23.5%;
  margin-right: 2%;
}
.image_text.retsu_4 article:nth-child(even) {
  margin-right: 2%;
}
.image_text.retsu_4 article:nth-child(4n) {
  margin-right: 0;
}
.image_text.box3 article {
  width: 31.5%;
  margin-right: 2.75%;
}
.image_text.box3 article:nth-child(even) {
  margin-right: 2.75%;
}
.image_text.box3 article:nth-child(3n) {
  margin-right: 0;
}
.image_text.box3 article a {
  display: block;
  border-radius: 15px;
  border: 1px solid #CCC;
  text-decoration: none;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.image_text.box3 article a figure img {
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
}
.image_text.box3 article a:hover {
  opacity: 0.5;
}
.image_text.box3 article h4 {
  padding-left: 0;
  padding: 1em;
}
.image_text.box3 article h4::before {
  display: none;
}
.image_text article {
  width: 48.5%;
  margin-right: 3%;
  margin-bottom: 3%;
}
.image_text article:nth-child(even) {
  margin-right: 0;
}
.image_text article figure {
  line-height: 0;
  margin-bottom: 15px;
}
@media screen and (max-width: 1160px) {
  .image_text.kadomaru article figure img {
    border-radius: 0.86vw;
  }
  .image_text.box3 article a {
    border-radius: 1.29vw;
  }
  .image_text.box3 article a figure img {
    border-top-left-radius: 1.29vw;
    border-top-right-radius: 1.29vw;
  }
  .image_text article figure {
    margin-bottom: 1.29vw;
  }
}
@media screen and (max-width: 750px) {
  .image_text.kadomaru article figure img {
    border-radius: 2.56vw;
  }
  .image_text.retsu_3 article {
    width: 100%;
    margin-right: 0%;
  }
  .image_text.retsu_3 article:nth-child(even) {
    margin-right: 0%;
  }
  .image_text.retsu_4 article {
    width: 100%;
    margin-right: 0;
  }
  .image_text.retsu_4 article:nth-child(even) {
    margin-right: 0;
  }
  .image_text.box3 article {
    width: 100%;
    margin-right: 0;
  }
  .image_text.box3 article:nth-child(even) {
    margin-right: 0;
  }
  .image_text.box3 article a {
    border-radius: 3.85vw;
  }
  .image_text.box3 article a figure img {
    border-top-left-radius: 3.85vw;
    border-top-right-radius: 3.85vw;
  }
  .image_text article {
    width: 100%;
    margin-right: 0;
    margin-bottom: 8vw;
  }
  .image_text article figure {
    margin-bottom: 3.85vw;
  }
  .image_text article h4 {
    margin-bottom: 0.5em;
    font-size: 3.59vw;
  }
  .image_text article p {
    font-size: 3.08vw;
  }
}

.link_btn a {
  position: relative;
  display: inline-block;
  padding: 1em 1.5em;
  background: #FFF;
  min-width: 280px;
  text-decoration: none;
  border-radius: 10px;
  font-size: 17px;
  border: 1px solid #000;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.link_btn a::before {
  position: absolute;
  right: 20px;
  top: calc(50% - 17px);
  content: "";
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1px solid #000;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.link_btn a::after {
  position: absolute;
  top: calc(50% - 4px);
  right: 36px;
  content: "";
  width: 8px;
  height: 8px;
  border-top: solid 1px #000;
  border-right: solid 1px #000;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.link_btn a:hover {
  background: #7eafe8;
  color: #FFF;
  border: 1px solid #7eafe8;
}
.link_btn a:hover::before {
  border: 1px solid #FFF;
}
.link_btn a:hover::after {
  border-top: solid 1px #FFF;
  border-right: solid 1px #FFF;
}
@media screen and (max-width: 1160px) {
  .link_btn a {
    min-width: 24.14vw;
    border-radius: 0.86vw;
    font-size: 1.47vw;
  }
  .link_btn a::before {
    right: 1.72vw;
    top: calc(50% - 1.47vw);
    width: 2.93vw;
    height: 2.93vw;
  }
  .link_btn a::after {
    top: calc(50% - 0.34vw);
    right: 3.1vw;
    width: 0.69vw;
    height: 0.69vw;
  }
}
@media screen and (max-width: 750px) {
  .link_btn a {
    min-width: 46.15vw;
    border-radius: 2.56vw;
    font-size: 3.59vw;
  }
  .link_btn a::before {
    right: 3.08vw;
    top: calc(50% - 3.08vw);
    width: 6.15vw;
    height: 6.15vw;
  }
  .link_btn a::after {
    top: calc(50% - 0.77vw);
    right: 5.9vw;
    width: 1.54vw;
    height: 1.54vw;
  }
}

.kanwacaremap .home_kv {
  margin-bottom: 15px;
}
.kanwacaremap .home_kv h2 {
  left: 10vw;
}
.kanwacaremap .dwrap h2 {
  font-size: 35px;
  margin-bottom: 65px;
  line-height: 1.5em;
  border-left: 11px solid #ff8f76;
  padding: 0.3em 0 0.3em 24px;
}
@media screen and (max-width: 1460px) {
  .kanwacaremap .dwrap h2 {
    font-size: 2.4vw;
    margin-bottom: 4.45vw;
    border-left: 0.75vw solid #ff8f76;
    padding: 0.3em 0 0.3em 1.64vw;
  }
}
@media screen and (max-width: 750px) {
  .kanwacaremap .home_kv h2 {
    left: auto;
  }
  .kanwacaremap .dwrap h2 {
    font-size: 5.38vw;
    margin-bottom: 5.13vw;
    border-left: 1.28vw solid #ff8f76;
    padding: 0.3em 0 0.3em 3.85vw;
  }
}

.map_about {
  position: relative;
  padding: 120px 0 180px 0;
}
@media screen and (max-width: 1460px) {
  .map_about {
    padding: 8.22vw 0 12.33vw 0;
  }
}
@media screen and (max-width: 750px) {
  .map_about {
    padding: calc(0 / 1px)vw 0 15.38vw 0;
  }
}

.map_about_inner p {
  font-size: 22px;
}
@media screen and (max-width: 1460px) {
  .map_about_inner p {
    font-size: 1.51vw;
  }
}
@media screen and (max-width: 750px) {
  .map_about_inner p {
    font-size: 4.1vw;
  }
}

.yamagata_map {
  position: relative;
  background: #ffe8e1;
  padding: 80px 0 200px 0;
}
.yamagata_map object {
  width: 50%;
  text-align: center;
  margin: 0 auto;
}
@media screen and (max-width: 1460px) {
  .yamagata_map {
    padding: 5.48vw 0 13.7vw 0;
  }
}
@media screen and (max-width: 750px) {
  .yamagata_map {
    padding: 15.38vw 0 15.38vw 0;
  }
  .yamagata_map object {
    width: 80%;
  }
}

.map_wrap {
  text-align: center;
}

/*
.kanwacaremap_detail{
    .topic_path{
        padding-bottom: 0.5em;
        margin-bottom: 75px;
        border-bottom: 1px solid #666;
    }
    @media screen and (max-width: lib.$pcbPoint){
        .topic_path{
            margin-bottom: lib.pcbVw(75px);
        }
    }
    @media screen and (max-width: lib.$spPoint){
        .topic_path{
            margin-bottom: lib.spVw(20px);
        }
    }
}
*/
.mhosp_list_inner {
  position: relative;
}

.map_page_title {
  background: #ffe8e1;
  padding: 120px 0;
  margin-bottom: 90px;
  text-align: center;
}
.map_page_title h1 {
  font-size: 55px;
  line-height: 1.4em;
}
.map_page_title p {
  font-size: 20px;
  margin: 0;
}
@media screen and (max-width: 1460px) {
  .map_page_title {
    padding: 8.22vw 0;
    margin-bottom: 6.16vw;
  }
  .map_page_title h1 {
    font-size: 3.77vw;
  }
  .map_page_title p {
    font-size: 1.37vw;
  }
}
@media screen and (max-width: 750px) {
  .map_page_title {
    padding: 11.54vw 0;
    margin-bottom: 7.69vw;
  }
  .map_page_title h1 {
    font-size: 6.41vw;
  }
  .map_page_title p {
    font-size: 2.82vw;
  }
}

.area_nav {
  position: relative;
  width: 1280px;
  margin: 0 auto 120px auto;
}
.area_nav h2 {
  margin-bottom: 45px !important;
}
.area_nav ul {
  list-style: none;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.area_nav ul li {
  margin-right: 10px;
  margin-bottom: 10px;
}
.area_nav ul li a {
  display: block;
  padding: 0.3em 0.7em;
  color: #ff8f76;
  border: 1px solid #ff8f76;
  text-decoration: none;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.area_nav ul li a:hover {
  background: #ff8f76;
  color: #FFF;
}
@media screen and (max-width: 1460px) {
  .area_nav {
    width: 87.67vw;
    margin: 0 auto 8.22vw auto;
  }
  .area_nav h2 {
    margin-bottom: 3.08vw !important;
  }
  .area_nav ul li {
    margin-right: 0.68vw;
  }
}
@media screen and (max-width: 750px) {
  .area_nav {
    width: 86%;
    margin: 0 auto 11.54vw auto;
  }
  .area_nav h2 {
    margin-bottom: 5.13vw !important;
  }
  .area_nav ul li {
    line-height: 1.3em;
    font-size: 3.59vw;
    margin-right: 1.28vw;
    margin-bottom: 1.28vw;
  }
  .area_nav ul li a {
    padding: 0.15em 0.5em;
  }
}

.map_hospital_list .map_list {
  position: relative;
  margin-bottom: 60px;
}
.map_hospital_list .map_list article {
  margin: 0 0 25px 0;
}
.map_hospital_list .map_list article a {
  position: relative;
  padding: 40px 60px;
  display: block;
  text-decoration: none;
  border: 5px solid #ffe8e1;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.map_hospital_list .map_list article a::after {
  display: block;
  cursor: pointer;
  position: absolute;
  content: "";
  width: 30px;
  height: 30px;
  border-top: solid 2px #ff8f76;
  border-right: solid 2px #ff8f76;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  top: calc(50% - 15px);
  right: 3%;
}
.map_hospital_list .map_list article a:hover {
  border: 5px solid #7eafe8;
  background: rgba(126, 175, 232, 0.1);
}
.map_hospital_list .map_list article a:hover::after {
  border-top: solid 2px #7eafe8;
  border-right: solid 2px #7eafe8;
}
.map_hospital_list .map_list article a h3 {
  font-size: 35px;
}
.map_hospital_list .map_list article a p,
.map_hospital_list .map_list article a address {
  font-size: 22px;
  margin: 0;
  font-style: normal;
}
.map_hospital_list .map_list article:nth-child(2n) a {
  background: #ffe8e1;
}
.map_hospital_list .map_list article:nth-child(2n) a:hover {
  background: rgba(126, 175, 232, 0.1);
}
@media screen and (max-width: 1460px) {
  .map_hospital_list .map_list {
    margin-bottom: 4.11vw;
  }
  .map_hospital_list .map_list article {
    margin: 0 0 1.71vw 0;
  }
  .map_hospital_list .map_list article a {
    padding: 2.74vw 4.11vw;
    border: 0.34vw solid #ffe8e1;
  }
  .map_hospital_list .map_list article a:hover {
    border: 0.34vw solid #7eafe8;
  }
  .map_hospital_list .map_list article a h3 {
    font-size: 2.4vw;
  }
  .map_hospital_list .map_list article a p,
  .map_hospital_list .map_list article a address {
    font-size: 1.51vw;
  }
}
@media screen and (max-width: 750px) {
  .map_hospital_list .map_list {
    margin-bottom: 11.54vw;
  }
  .map_hospital_list .map_list article {
    margin: 0 0 3.85vw 0;
  }
  .map_hospital_list .map_list article a {
    padding: 5.13vw 5.13vw;
    border: 0.77vw solid #ffe8e1;
  }
  .map_hospital_list .map_list article a:hover {
    border: 0.77vw solid #7eafe8;
  }
  .map_hospital_list .map_list article a h3 {
    font-size: 5.38vw;
  }
  .map_hospital_list .map_list article a p,
  .map_hospital_list .map_list article a address {
    font-size: 3.59vw;
  }
}

.number_nav {
  text-align: center;
  margin: 0 0 120px 0;
  width: 100%;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.number_nav ul {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.number_nav li {
  list-style: none;
}
.number_nav a,
.number_nav span {
  display: inline-block;
  text-decoration: none;
  line-height: 1.7em;
  width: 1.6em;
  margin: 0 4px;
  color: #ff8f76;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid #ff8f76;
}
.number_nav a {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.number_nav a:hover {
  background: #ff8f76;
  color: #FFF;
}
.number_nav span {
  background: rgba(126, 175, 232, 0.05);
  border: 1px solid #7eafe8;
  color: #7eafe8;
}
@media screen and (max-width: 1460px) {
  .number_nav {
    margin: 0 0 8.22vw 0;
  }
}
@media screen and (max-width: 750px) {
  .number_nav {
    margin: 0 0 11.54vw 0;
  }
}

.map_hospital_detail {
  margin-bottom: 300px;
}
.map_hospital_detail h2 {
  margin-bottom: 40px !important;
}
.map_hospital_detail h1 {
  font-size: 50px;
  line-height: 1.4em;
  margin-bottom: 45px;
  color: #ff8f76;
}
.map_hospital_detail table {
  width: 100%;
  text-align: left;
  margin-bottom: 150px;
  border-top: 1px solid #ffe8e1;
  border-left: 1px solid #ffe8e1;
}
.map_hospital_detail table th,
.map_hospital_detail table td {
  border-bottom: 1px solid #ffe8e1;
  border-right: 1px solid #ffe8e1;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0.7em 1em;
}
.map_hospital_detail table th {
  width: 35%;
  background: #ffe8e1;
  border-bottom: 1px solid #FFF;
}
.map_hospital_detail table td {
  width: 65%;
  word-break: break-all;
}
.map_hospital_detail h3 {
  font-size: 35px;
  margin-bottom: 1em;
  line-height: 1.4em;
  color: #ff8f76;
}
@media screen and (max-width: 1460px) {
  .map_hospital_detail {
    margin-bottom: 20.55vw;
  }
  .map_hospital_detail h2 {
    margin-bottom: 2.74vw !important;
  }
  .map_hospital_detail h1 {
    font-size: 3.42vw;
    margin-bottom: 3.08vw;
  }
  .map_hospital_detail table {
    margin-bottom: 10.27vw;
  }
  .map_hospital_detail h3 {
    font-size: 2.4vw;
  }
}
@media screen and (max-width: 750px) {
  .map_hospital_detail {
    margin-bottom: 30.77vw;
  }
  .map_hospital_detail h2 {
    margin-bottom: 5.13vw !important;
  }
  .map_hospital_detail h1 {
    font-size: 5.38vw;
    margin-bottom: 5.13vw;
  }
  .map_hospital_detail table {
    margin-bottom: 15.38vw;
  }
  .map_hospital_detail table th,
  .map_hospital_detail table td {
    display: list-item;
    width: 100%;
    list-style: none;
    font-size: 3.59vw;
  }
  .map_hospital_detail h3 {
    font-size: 4.62vw;
  }
}

.taiou_list {
  margin-bottom: 160px;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.taiou_list dl {
  width: 32%;
  margin: 0 2% 0 0;
  padding: 0.3em 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-bottom: 1px solid #ff8f76;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}
.taiou_list dl:nth-of-type(1), .taiou_list dl:nth-of-type(2), .taiou_list dl:nth-of-type(3) {
  border-top: 1px solid #ff8f76;
}
.taiou_list dl:nth-of-type(3n) {
  margin-right: 0;
}
.taiou_list dl dt {
  padding-left: 1em;
  font-size: 20px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: calc(100% - 3em);
}
.taiou_list dl dd {
  width: 3em;
  font-size: 20px;
  text-align: right;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-right: 1em;
}
@media screen and (max-width: 1460px) {
  .taiou_list {
    margin-bottom: 10.96vw;
  }
  .taiou_list dl dt {
    font-size: 1.37vw;
  }
  .taiou_list dl dd {
    font-size: 1.37vw;
  }
}
@media screen and (max-width: 750px) {
  .taiou_list {
    margin-bottom: 15.38vw;
    border-top: 1px solid #ff8f76;
  }
  .taiou_list dl {
    width: 100%;
    margin: 0;
  }
  .taiou_list dl:nth-of-type(1), .taiou_list dl:nth-of-type(2), .taiou_list dl:nth-of-type(3) {
    border-top: none;
  }
  .taiou_list dl dt {
    font-size: 3.59vw;
  }
  .taiou_list dl dd {
    font-size: 3.59vw;
  }
}

.taiou_comment {
  font-size: 20px;
  padding: 2em 1em;
  margin-bottom: 120px;
  border-top: 1px solid #ffe8e1;
  border-bottom: 1px solid #ffe8e1;
}
.taiou_comment p {
  font-size: 20px;
}
.taiou_comment p:last-child {
  margin: 0;
}
@media screen and (max-width: 1460px) {
  .taiou_comment {
    font-size: 1.37vw;
    margin-bottom: 8.22vw;
  }
  .taiou_comment p {
    font-size: 1.37vw;
  }
}
@media screen and (max-width: 750px) {
  .taiou_comment {
    font-size: 3.59vw;
    margin-bottom: 15.38vw;
  }
  .taiou_comment p {
    font-size: 3.59vw;
  }
}

.hospital_map iframe {
  width: 100%;
  height: 500px;
}
@media screen and (max-width: 1460px) {
  .hospital_map iframe {
    height: 34.25vw;
  }
}
@media screen and (max-width: 750px) {
  .hospital_map iframe {
    height: 70vw;
  }
}

.disnone {
  display: none;
}

.entry_detail .wp-block-file__button,
.entry_detail .wp-element-button {
  background: #7eafe8;
  color: #FFF;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.entry_detail .wp-block-file__button:hover,
.entry_detail .wp-element-button:hover {
  opacity: 0.5;
}

/*
.dwrap{
    width: 1080px;
    margin: 0 auto;
    h2{
        font-size: 24px;
        border-left: 5px solid #666;
        padding-left: 0.5em;
        line-height: 1.4em;
        margin-bottom: 1em;
    }
    @media screen and (max-width: lib.$pcPoint){
        width: 94%;
        h2{
            font-size: lib.pcVw(24px);
        }
    }
    @media screen and (max-width: lib.$spPoint){
        width: 86%;
        h2{
            font-size: lib.spVw(18px);
        }
    }
}
.area_list{
    margin-bottom: 2em;
    @include lib.flex(start, start ,wrap);
    li{
        list-style: none;
        a{
            display: block;
            padding: 0.2em 0.8em;
            text-decoration: none;
            border: 1px solid #999;
            margin-right: 1em;
            margin-bottom: 1em;
            transition: all .2s;
            &:hover{
                background: #666;
                color: #FFF;
            }
        }
        &.current{
            a{
                background: #1A438C;
                color: #FFF;
            }
        }
    }
    @media screen and (max-width: lib.$spPoint){
        margin-bottom: lib.spVw(50px);
        li{
            font-size: lib.spVw(13px);
            a{
                padding: 0.1em 0.4em;
                margin-right: 0.3em;
                margin-bottom: 0.3em;
            }
        }
    }
}



.topic_path{
    ul{
        list-style: none;
        margin-bottom: 80px;
        border-bottom: 1px solid #CCC;
        padding-bottom: 0.5em;
        @include lib.flex(start,center);
        li{
            a{
                position: relative;
                display: inline-block;
                text-decoration: none;
                padding-left: 2em;
                transition: all .2s;
                &:hover{
                    opacity: .5;
                }
                &::after{
                    display: block;
                    cursor: pointer;
                    position: absolute;
                    content: '';
                    width: 6px;
                    height: 6px;
                    border-top: solid 1px #666;
                    border-right: solid 1px #666;
                    transform: rotate(45deg);
                    top: calc(50% - 3px);
                    left: 0.7em;
                }
            }
            &:first-child{
                a{
                    padding-left: 0;
                    &::after{
                        display: none;
                    }
                }
            }
        }
    }
    @media screen and (max-width: lib.$pcPoint){
        ul{
            margin-bottom: lib.pcVw(80px);
            li{
                font-size: lib.pcVw(14px);;
            }
        }
    }
    @media screen and (max-width: lib.$spPoint){
        ul{
            margin-bottom: lib.spVw(80px);
            li{
                font-size: lib.spVw(14px);;
            }
        }
    }
}


// ======================================================
// 01.demo home -----------------------------------------
.main_image{
    background: #666;
    padding: 150px 0;
    margin-bottom: 100px;
    @include lib.flex(center,center);
    p{
        margin: 0;
        font-size: 24px;
        color: #FFF;
        line-height: 1.4em;
        text-align: center;
    }
    @media screen and (max-width: lib.$pcPoint){
        padding: lib.pcVw(150px) 0;
        margin-bottom: lib.pcVw(100px);
        p{
            font-size: lib.pcVw(24px);
        }
    }
    @media screen and (max-width: lib.$spPoint){
        padding: lib.spVw(75px) 0;
        margin-bottom: lib.spVw(50px);
        p{
            font-size: lib.spVw(20px);
        }
    }
}
.home_text{
    position: relative;
    width: 1080px;
    margin: 0 auto 100px auto;
    h2{
        font-size: 24px;
        margin-bottom: 0.5em;
    }
    p{
        font-size: 18px;
    }
    @media screen and (max-width: lib.$pcWidth){
        width: 90%;
        margin: 0 auto lib.pcVw(100px) auto;
        h2{
            font-size: lib.pcVw(24px);
        }
        p{
            font-size: lib.pcVw(18px);
        }
    }
    @media screen and (max-width: lib.$spPoint){
        margin: 0 auto lib.spVw(60px) auto;
        h2{
            font-size: lib.spVw(20px);
        }
        p{
            font-size: lib.spVw(14px);
        }
    }
}
.map_wrap{
    width:800px;
    margin: 0 auto 100px auto;
    svg{
        width: 800px;
        a{
            path,
            polygon{
                transition: all .2s;
            }
            &:hover{
                path,
                polygon{
                    fill:#CCC;
                }
            }
        }
    }
    @media screen and (max-width: 900px){
        width: 90%;
        svg{
            width: 100%;
        }
    }
    @media screen and (max-width: lib.$spPoint){
        margin: 0 auto lib.spVw(60px) auto;
        svg{
            width: 100%;
        }
    }
}

.map_area_title{
    background: #666;
    padding: 80px 0;
    text-align: center;
    margin-bottom: 80px;
    h1{
        font-size: 36px;
        color: #FFF;
        line-height: 1.2em;
    }
    p{
        color: #FFF;
        font-size: 14px;
        margin: 0;
    }
    @media screen and (max-width: lib.$pcPoint){
        padding: lib.pcVw(80px) 0;
        margin-bottom: lib.pcVw(80px);
        h1{
            font-size: lib.pcVw(36px);
        }
        p{
            font-size: lib.pcVw(14px);
        }
    }
    @media screen and (max-width: lib.$spPoint){
        padding: lib.spVw(40px) 0;
        margin-bottom: lib.spVw(40px);
        h1{
            font-size: lib.spVw(24px);
        }
        p{
            font-size: lib.spVw(11px);
        }
    }
}

.entry_list_base{
    margin-bottom: 150px;
    @media screen and (max-width: lib.$pcPoint){
        margin-bottom: lib.pcVw(150px);
    }
    @media screen and (max-width: lib.$spPoint){
        margin-bottom: lib.spVw(100px);
    }
}
.entry_list{
    position: relative;
    article{
        position: relative;
        display: block;
        a{
            display: block;
            padding: 50px;
            text-decoration: none;
            transition: all .2s;
            background: #F9F9F9;
            &:hover{
                //filter: brightness(.5);
                //opacity: .5;
                background: #FFEBE3;
            }
        }
        &:nth-child(2n){
            a{
                background: #FFF;
                &:hover{
                    background: #FFEBE3;
                }
            }
        }
        h3{
            font-size: 24px;
        }
        address{
            font-style: normal;
            font-size: 18px;
            margin-bottom: 10px
        }
        &::after{
            display: block;
            cursor: pointer;
            position: absolute;
            content: '';
            width: 25px;
            height: 25px;
            border-top: solid 1px #000;
            border-right: solid 1px #000;
            transform: rotate(45deg);
            top: calc(50% - 12.5px);
            right: 5%;
            margin-top: -4px;
        }
        .icon_list{
            @include lib.flex(start,center);
            li{
                list-style: none;
                font-size: 20px;
                line-height: 1em;
                width: 50px;
                height: 50px;
                padding: 0;
                margin-right: 0.5em;
                background: #FFF;
                color: #FFF;
                font-weight: bold;
                border-radius: 30px;
                @include lib.flex(center,center);
                &.icona{
                    background: #FF5C26;
                }
                &.iconb{
                    background: #00D96D;
                }
                &.iconc{
                    background: #2693FF;
                }
            }
        }
    }
    @media screen and (max-width: lib.$pcPoint){
        article{
            a{
                padding: lib.pcVw(50px);
            }
            h3{
                font-size: lib.pcVw(24px);
            }
            address{
                font-size: lib.pcVw(18px);
                margin-bottom: lib.pcVw(10px);
            }
            &::after{
                width: lib.pcVw(25px);
                height: lib.pcVw(25px);
                top: calc(50% - lib.pcVw(12.5px));
                margin-top: lib.pcVw(-4px);
            }
            .icon_list{
                li{
                    font-size: lib.pcVw(20px);
                    width: lib.pcVw(50px);
                    height: lib.pcVw(50px);
                    border-radius: lib.pcVw(30px);
                }
            }
        }
    }
    @media screen and (max-width: lib.$spPoint){
        article{
            a{
                padding: lib.spVw(15px) lib.spVw(45px) lib.spVw(15px) lib.spVw(15px);
            }
            h3{
                font-size: lib.spVw(17px);
            }
            address{
                font-size: lib.spVw(13px);
                margin-bottom: lib.spVw(5px);
            }
            &::after{
                width: lib.spVw(14px);
                height: lib.spVw(14px);
                top: calc(50% - lib.spVw(7px));
                margin-top: lib.spVw(-4px);
            }
            .icon_list{
                li{
                    font-size: lib.spVw(14px);
                    width: lib.spVw(30px);
                    height: lib.spVw(30px);
                    border-radius: lib.spVw(15px);
                }
            }
        }
    }
}



// ======================================================
// 02.detail --------------------------------------------





// ======================================================
// 03.news column ---------------------------------------
.news_list_wrap{
    width: 680px;
    margin: 0 auto;
    @media screen and (max-width: lib.$pcPoint){
        width: lib.pcVw(680px);
    }
    @media screen and (max-width: lib.$spPoint){
        width: 86%;
    }
}
.page_navigation{
    text-align: center;
    .page_navigation_inner{
        //background: #f5f5f5;
        padding: 50px 0 50px 0;
        width: 480px;
        margin: 0 auto;
        @include lib.flex(center, center);
    }
    ul{
        @include lib.flex(center, center);
        li{
            list-style: none;
            &.listbtn{
                a{
                    width: auto;
                    padding-left: 1em;
                    padding-right: 1em;
                }
            }
        }
    }
    span,
    a{
        display: block;
        width: 60px;
        height: 60px;
        margin: 0;
        font-size: 22px;
        color: lib.$sitecolor1;
        text-decoration: none;
        @include lib.flex(center, center);
    }
    span{
        background: rgba($color: lib.$sitecolor1, $alpha: 0.1);
    }
    a{
        transition: all .2s;
        &:hover{
            background: rgba($color: lib.$sitecolor1, $alpha: 1);
            color: #FFF;
        }
    }
    @media screen and (max-width: lib.$pcbPoint){
        .page_navigation_inner{
            margin-top: 12vw;
            padding: lib.pcbVw(50px) 0 lib.pcbVw(50px) 0;
            width: lib.pcbVw(480px);
        }
        span,
        a{
            width: lib.pcbVw(60px);
            height: lib.pcbVw(60px);
            font-size: lib.pcbVw(22px);
        }
    }
    @media screen and (max-width: lib.$spPoint){
        .page_navigation_inner{
            padding: lib.spVw(20px) 0 lib.spVw(20px) 0;
            width: 86%;
        }
        span,
        a{
            width: lib.spVw(30px);
            height: lib.spVw(30px);
            font-size: lib.spVw(14px);
        }
    }
}

.news_detail{
    position: relative;
    width: 900px;
    margin: 0 auto;
    @media screen and (max-width: lib.$pcbPoint){
        width: lib.pcbVw(1100px);
    }
    @media screen and (max-width: lib.$spPoint){
        width: 86%;
    }
}
.entry_title{
    position: relative;
    padding-bottom: 10px;
    margin-bottom: 60px;
    border-bottom: 1px solid #c8c8c8;
    time{
        display: block;
        width: 150px;
        height: 48px;
        margin-bottom: 15px;
        box-sizing: border-box;
        background: lib.$sitecolor1;
        color: #FFF;
        text-align: center;
        @include lib.flex(center,center);
    }
    h2{
        font-size: 20px;
        line-height: 2em;
    }
    @media screen and (max-width: lib.$pcbPoint){
        padding-bottom: lib.pcbVw(10px);
        margin-bottom: lib.pcbVw(60px);
        time{
            width: lib.pcbVw(150px);
            height: lib.pcbVw(48px);
            margin-bottom: lib.pcbVw(15px);
        }
        h2{
            font-size: lib.pcbVw(20px);
        }
    }
    @media screen and (max-width: lib.$spPoint){
        padding-bottom: lib.spVw(10px);
        margin-bottom: lib.spVw(60px);
        time{
            width: 8em;
            height: 2.5em;
            margin-bottom: 4vw;
        }
        h2{
            font-size: lib.spVw(18px);
            line-height: 1.5em;
        }
    }
}
.entry_detail{
    padding-bottom: 95px;
    figure{
        margin-bottom: 2em;
    }
    p{
        line-height: 2em;
    }
    h2{
        font-size: 24px;
        line-height: 1.5em;
        color: lib.$sitecolor1;
        border-bottom: 1px solid lib.$sitecolor1;
        padding-bottom: 0.3em;
        margin-bottom: 1em;
    }
    h3{
        font-size: 21px;
        line-height: 1.5em;
        padding-left: 0.7em;
        border-left: 5px solid lib.$sitecolor1;
        margin-bottom: 1em;
    }
    h4{
        font-size: 18px;
        color: lib.$sitecolor1;
        margin-bottom: 1em;
    }
    h5{
        font-size: 16px;
        color: lib.$sitecolor1;
        margin-bottom: 1em;
    }
    @media screen and (max-width: lib.$pcPoint){
        padding-bottom: lib.pcbVw(95px);
        h2{
            font-size: lib.pcbVw(24px);
        }
        h3{
            font-size: lib.pcbVw(21px);
        }
        h4{
            font-size: lib.pcbVw(18px);
        }
        h5{
            font-size: lib.pcbVw(16px);
        }
    }
    @media screen and (max-width: lib.$spPoint){
        padding-bottom: lib.spVw(70px);
        h2{
            font-size: lib.spVw(21px);
        }
        h3{
            font-size: lib.spVw(18px);
        }
        h4{
            font-size: lib.spVw(16px);
        }
        h5{
            font-size: lib.spVw(14px);
        }
    }
}


.map_google_my,
.map_google{
    position: relative;
    width: 1060px;
    margin: 0 auto 150px auto;
    @media screen and (max-width: lib.$pcPoint){
        width: 100%;
        margin: 0 auto lib.pcVw(100px) auto;
    }
    @media screen and (max-width: lib.$spPoint){
        width: 100%;
        margin: 0 auto lib.spVw(50px) auto;
    }
}
#map{
    width: 800px;
    height: 800px;
    margin: 0 auto;
    @media screen and (max-width: lib.$pcPoint){
        width: 100%;
        height: 95vw;
    }
    @media screen and (max-width: lib.$spPoint){
        height: 120vw;
    }
}
.map_google_my{
    iframe{
        width: 100%;
        height: 800px;
    }
    @media screen and (max-width: lib.$pcPoint){
        iframe{
                width: 100%;
                height: 95vw;
        }
    }
    @media screen and (max-width: lib.$spPoint){
        iframe{
            height: 120vw;
        }
    }
}

.kanwa_entry{
    position: relative;
    h1{
        font-size: 42px;
        line-height: 1.4em;
        margin-bottom: 1em;
    }
    table{
        width: 100%;
        border-top: 1px solid #CCC;
        border-left: 1px solid #CCC;
        td,
        th{
            padding: 0.7em 1em;
            border-bottom: 1px solid #CCC;
            border-right: 1px solid #CCC;
        }
    }
    iframe{
        width: 100%;
    }
    @media screen and (max-width: lib.$pcPoint){
        h1{
            font-size: lib.pcVw(42px);
        }
    }
    @media screen and (max-width: lib.$spPoint){
        h1{
            font-size: lib.spVw(26px);
        }
    }
}
.hosp_detail{
    position: relative;
    margin-bottom: 60px;
    @include lib.flex(between,start ,wrap);
        &::after{
            content:"";
            display: block;
            width:32%;
        }
    h3{
        width: 100%;
        font-size: 24px;
        margin-bottom: 0.5em;
    }
    dl{
        width: 32%;
        box-sizing: border-box;
        padding: 0;
        margin: 0;
        @include lib.flex(between,start);
        &:nth-of-type(1),
        &:nth-of-type(2),
        &:nth-of-type(3){
            dt,
            dd{
                border-top: 1px solid #CCC;
            }
        }
        dt,
        dd{
            font-size: 16px;
            padding: 0.5em ;
            box-sizing: border-box;
            border-bottom: 1px solid #CCC;
        }
        dt{
            width: 75%;
        }
        dd{
            width: 25%;
            text-align: center;
        }
    }
    @media screen and (max-width: lib.$pcPoint){
        margin-bottom: lib.pcVw(60px);
            &::after{
                display: none;
            }
        h3{
            font-size: lib.pcVw(24px);
        }
        dl{
            width: 48.5%;
            &:nth-of-type(1),
            &:nth-of-type(2){
                dt,
                dd{
                    border-top: 1px solid #CCC;
                }
            }
            &:nth-of-type(3){
                dt,
                dd{
                    border-top: none;
                }
            }
            dt,
            dd{
                font-size: lib.pcVw(16px);
            }
        }
    }
    @media screen and (max-width: lib.$spPoint){
        margin-bottom: lib.spVw(60px);
        h3{
            font-size: lib.spVw(20px);
        }
        dl{
            width: 100%;
            &:nth-of-type(2){
                dt,
                dd{
                    border-top: none;
                }
            }
            dt,
            dd{
                font-size: lib.spVw(14px);
            }
        }
    }
}

.hosp_subtitle{
    width: 100%;
    font-size: 24px;
    margin-bottom: 0.5em;
    @media screen and (max-width: lib.$pcPoint){
        font-size: lib.pcVw(24px);
    }
    @media screen and (max-width: lib.$spPoint){
        font-size: lib.spVw(20px);
    }
}
.hosp_caution{
    position: relative;
    margin-bottom: 60px;
    border-top: 1px solid #CCC;
    border-bottom: 1px solid #CCC;
    padding: 50px 0;
    p{
        font-size: 16px;
        &:last-of-type{
            margin-bottom: 0;
        }
    }
    @media screen and (max-width: lib.$pcPoint){
        margin-bottom: lib.pcVw(60px);
        padding: lib.pcVw(50px) 0;
        p{
            font-size: lib.pcVw(16px);
        }
    }
    @media screen and (max-width: lib.$spPoint){
        margin-bottom: lib.spVw(60px);
        padding: lib.spVw(50px) 0;
        p{
            font-size: lib.spVw(14px);
        }
    }
}
*/
.min {
  font-family: "Noto Serif JP", "Yu Mincho Medium", "YuMincho Medium", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", "メイリオ", "Meiryo", sans-serif;
}

.minb {
  font-weight: bold;
  font-family: "Noto Serif JP", "Yu Mincho Demibold", "YuMincho Demibold", "ヒラギノ明朝 Pro W7", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", "メイリオ", "Meiryo", sans-serif;
}

.gotham {
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
}