@charset "UTF-8";
/*
$font-family-sans-serif: -apple-system,
"BlinkMacSystemFont",
"Helvetica Neue",
Helvetica,
"Arial",
"Hiragino Kaku Gothic ProN",
"Hiragino Sans",
"ヒラギノ角ゴ ProN W3",
"メイリオ",
Meiryo,
sans-serif,
"Apple Color Emoji",
"Segoe UI Emoji",
"Segoe UI Symbol",
"Noto Color Emoji";*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

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

nav ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

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

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

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

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

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

input,
select {
  vertical-align: middle;
}

select,
input,
button,
textarea {
  font-family: "メイリオ", Meiryo, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "ヒラギノ角ゴ ProN W3", -apple-system, "BlinkMacSystemFont", "Helvetica Neue", Helvetica, "Arial", sans-serif;
}

table {
  font-size: inherit;
  font: 100%;
}

pre,
code,
kbd,
samp,
tt {
  font-family: monospace;
  *font-size: 108%;
  line-height: 100%;
}

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

html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

body {
  word-break: break-all;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

abbr,
acronym {
  border-bottom: 1px dotted rgba(0, 0, 0, 0.2);
  cursor: help;
}

em {
  font-style: italic;
}

p {
  font-size: 100%;
  line-height: 1.7;
  margin-bottom: 1.2rem;
}

fieldset,
table,
pre {
  font-size: 100%;
  margin-bottom: 1.2em;
}

img {
  vertical-align: bottom;
}

blockquote {
  background-color: #f0f0f0;
  margin-bottom: 1em;
  margin-left: 1em;
  padding: 5px;
  border: solid 1px #acacac;
  display: block;
}

pre {
  background-color: #f9fffd;
  margin-bottom: 1em;
  margin-left: 1em;
  padding: 5px;
  border: solid 1px #acacac;
  display: block;
}

.resimgs {
  width: 100%;
  height: auto;
  display: block;
}

.imgs {
  margin-bottom: 12px;
}

.spblock {
  display: none;
}

@media screen and (max-width: 767px) {
  .brblock {
    display: none;
  }

  .spblock {
    display: block;
  }
}
ul {
  margin: 0 0 16px 0;
  padding: 0;
}
ul li {
  position: relative;
  margin: 0 0 4px 0;
  padding: 0;
  line-height: 1.5;
  list-style: none;
}

ol,
ol.numList {
  padding: 0 0 0 16px;
  margin: 8px 0 16px 0;
}
ol li,
ol.numList li {
  list-style-type: none;
  list-style-position: inside;
  counter-increment: cnt;
  padding-left: 1em;
  text-indent: -1em;
  margin: 0 0 4px 0;
  line-height: 1.5;
}
ol li::before,
ol.numList li::before {
  display: marker;
  content: "" counter(cnt) ". ";
  color: #949494;
  padding-left: -0.5em;
}

/* diamond */
ul.diamond {
  margin: 8px 0 16px 0;
  padding: 0 0 0 16px;
}
ul.diamond li {
  position: relative;
  margin: 0 0 4px 0;
  list-style: none;
}
ul.diamond li::after {
  display: block;
  content: "";
  position: absolute;
  top: 0.6em;
  left: -1em;
  width: 4px;
  height: 4px;
  background-color: #949494;
  transform: rotate(-45deg);
}

ul {
  margin: 8px 0 16px 0;
}
ul.noteList {
  margin-top: 4px;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 400;
  padding-left: 18px;
}
ul.noteList li {
  padding-left: 0;
  text-indent: -1.2em;
  margin: 0 0 4px 0;
  padding: 0;
  list-style: none;
}
ul.noteList li:before {
  content: "※";
  margin-right: 3px;
  color: #b60d23;
}

html {
  font-size: 60.7%;
}

body {
  font-size: 1.6rem;
  font-family: "メイリオ", Meiryo, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "ヒラギノ角ゴ ProN W3", -apple-system, "BlinkMacSystemFont", "Helvetica Neue", Helvetica, "Arial", sans-serif;
  line-height: 1.2;
}

@media screen and (max-width: 767px) {
  body {
    font-size: 1.4rem;
    font-family: "メイリオ", Meiryo, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "ヒラギノ角ゴ ProN W3", -apple-system, "BlinkMacSystemFont", "Helvetica Neue", Helvetica, "Arial", sans-serif;
    line-height: 1.4;
  }
}
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  margin-bottom: 1em;
  font-family: inherit;
  font-weight: bold;
  line-height: 1.2;
}

h5,
h6,
.h5,
.h6 {
  margin-bottom: 0.2em;
}

h1,
.h1 {
  font-size: 2.8rem;
}

h2,
.h2 {
  font-size: 2.4rem;
}

h3,
.h3 {
  font-size: 2.1rem;
}

h4,
.h4 {
  font-size: 2rem;
}

h5,
.h5 {
  font-size: 1.8rem;
}

h6,
.h6 {
  font-size: 1.6rem;
}

@media screen and (max-width: 767px) {
  h1,
.h1 {
    font-size: 2.3rem;
  }

  h2,
.h2 {
    font-size: 2.2rem;
  }

  h3,
.h3 {
    font-size: 2rem;
  }

  h4,
.h4 {
    font-size: 1.8rem;
  }

  h5,
.h5 {
    font-size: 1.6rem;
  }

  h6,
.h6 {
    font-size: 1.5rem;
  }
}
table {
  width: 100%;
  margin-bottom: 2rem;
}

th,
td {
  padding: 0.5rem;
  border: 1px solid #bbb;
  vertical-align: middle;
}

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

caption {
  margin-bottom: 0.5em;
  text-align: center;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #bbb;
  margin: 2rem 0;
  padding: 0;
}

/*
p {
	line-height: 1.4;
	margin-bottom: 1.2em;
}


@media screen and (max-width: 767px) {
	p {
		line-height: 1.4;
		margin-bottom: 1em;
	}
}
*/
ol,
ul {
  margin-left: 0em;
  margin-bottom: 0em;
}

ol {
  list-style: decimal outside;
}

ul {
  list-style-type: disc;
}

/*
ul li {
	margin-bottom: 0.3em;
	padding-left: 0;
}
*/
ol li {
  margin-bottom: 0.3em;
  padding-left: 0;
}

li ul,
li ol {
  margin-left: 0;
  padding-top: 0.3em;
  padding-bottom: 0.2em;
  margin: 0 0px 0 0em;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-left: 2em;
  margin-bottom: 0;
}

ul.no_dots {
  list-style: none;
  margin-left: 0em;
}

.txt_icon {
  padding-left: 1.8em;
  position: relative;
}

.txt_icon:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0px;
  margin-top: -0.7em;
  width: 1.4em;
  height: 1.4em;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: center center;
}

.icon_home:after {
  background-image: url(../img/def/css/svg/home.svg);
}

.icon_arrow:after {
  background-image: url(../img/def/css/svg/circle-right.svg);
}

.icon_arrow_rev:after {
  background-image: url(../img/def/css/svg/circle-right.svg);
}

.icon_arrow_up:after {
  background-image: url(../img/def/css/svg/circle-up.svg);
}

.icon_arrow_down:after {
  background-image: url(../img/def/css/svg/circle-down.svg);
}

.icon_pdf:after {
  background-image: url(../img/def/css/svg/file-pdf.svg);
}

.icon_word:after {
  background-image: url(../img/def/css/svg/file-word.svg);
}

.icon_excel:after {
  background-image: url(../img/def/css/svg/file-excel.svg);
}

.icon_zip:after {
  background-image: url(../img/def/css/svg/file-zip.svg);
}

.icon_down:after {
  background-image: url(../img/def/css/svg/download.svg);
}

.icon_image:after {
  background-image: url(../img/def/css/svg/image.svg);
}

.icon_page:after {
  background-image: url(../img/def/css/svg/page.svg);
}

.icon_feed:after {
  background-image: url(../img/def/css/svg/feed.svg);
}

.icon_facebook:after {
  background-image: url(../img/def/css/svg/facebook.svg);
}

.icon_twitter:after {
  background-image: url(../img/def/css/svg/twitter.svg);
}

.icon_youtube:after {
  background-image: url(../img/def/css/svg/youtube.svg);
}

.help_popup {
  width: 16px;
  height: 16px;
  margin: 8px;
  position: relative;
}

.help_txt {
  position: absolute;
  right: 16px;
  top: -60px;
  width: 200px;
  height: auto;
  display: none;
  background-color: #fff;
  border: #bbb 1px solid;
  border-radius: 8px;
  padding: 8px;
  font-size: 14px;
}

.help_icon {
  display: inline-block;
  width: 16px;
  height: 16px;
  border: 1px #bbb solid;
  border-radius: 9px;
  text-align: center;
  font-size: 14px;
  display: flex;
  align-items: center;
  padding-left: 4px;
  cursor: pointer;
  background-color: #fff;
}

.min {
  font-family: "ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", HGS明朝M, "ＭＳ Ｐ明朝", serif;
  transform: rotate(0.03deg);
}

.atten {
  color: #A10000;
}

.green {
  color: #0f660a;
}

.blue {
  color: #1369af;
}

.orange {
  color: #F90;
}

.red {
  color: red;
}

.clb {
  clear: both;
}

ul.mg_bot,
p.mg_bot,
.mg_bot {
  margin-bottom: 4rem;
}

ul.nmg,
p.nmg,
.nmg {
  margin-bottom: 0;
}

.txt_center {
  text-align: center;
}

.txt_right {
  text-align: right;
}

.full_width {
  width: 100%;
  height: auto;
}

.pc_content {
  display: inline;
}

.sp_content {
  display: none;
}

@media screen and (max-width: 767px) {
  .pc_content {
    display: none;
  }

  .sp_content {
    display: inline;
  }
}
a:link {
  color: #333;
  text-decoration: none;
  outline: 0;
}

a:visited {
  color: #333;
  text-decoration: none;
  outline: 0;
}

a:hover {
  color: #175734;
  text-decoration: underline;
  outline: 0;
}

.lazyload {
  opacity: 0;
}

.lazyloaded {
  opacity: 0;
  animation-name: fade-in1;
  animation-duration: 1s;
  animation-timing-function: ease-out;
  animation-delay: 0s;
  animation-iteration-count: 1;
  animation-direction: normal;
  animation-fill-mode: forwards;
}

@keyframes fade-in1 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.clf:before,
.clf:after {
  content: "";
  display: table;
}

.clf:after {
  clear: both;
}

.selector {
  font-feature-settings: "palt";
}

.container {
  padding-top: 100px;
}

@media screen and (max-width: 767px) {
  .container {
    padding-top: 60px;
  }
}
/*2020119*/
header#hd_keiso {
  position: fixed;
  top: 0;
  left: 0;
  display: block;
  margin: 0;
  padding: 0;
  width: 100%;
  background-color: #fff;
  box-shadow: 0px 2px 3px -3px rgba(0, 0, 0, 0.8);
  z-index: 9;
}

@media screen and (max-width: 767px) {
  header#hd_keiso {
    padding: 4px 0;
    width: 100%;
    height: 60px;
  }
}
.intro {
  max-width: 1024px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.intro .logo {
  width: 210px;
  text-align: center;
}
.intro .logo a {
  text-decoration: none;
  color: #333;
}
.intro .logo img {
  width: 100%;
  height: auto;
  display: block;
}
.intro .logo h1 {
  margin: 0;
  font-weight: 200;
}
.intro .hd-link {
  width: 540px;
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 8px 0;
}
.intro .subtitle {
  font-size: 14px;
  text-align: center;
  font-weight: 900;
}
.intro .subtitle span {
  color: #175734;
}

.icon_tel a {
  display: block;
  background: #fff url(../img/module/icon/icon_rikon.svg) no-repeat 0 50%;
  background-size: 22px auto;
  margin: 0;
  padding: 4px 12px 4px 32px;
  line-height: 1;
  text-align: left;
  font-size: 23px;
  color: #4B4B4B;
  text-decoration: none;
  font-weight: 900;
}

.online {
  font-size: 13px;
  margin: 0;
}

.time {
  font-size: 13px;
  margin: 0;
}

.icon_contact a {
  display: block;
  background: #fff url(../img/module/icon/icon_mail_y.svg) no-repeat 10px 50%;
  background-size: 22px auto;
  padding: 16px 12px 16px 40px;
  line-height: 1;
  border: 1px solid #dedede;
  border-radius: 4px;
  text-align: left;
  font-size: 15px;
  color: #4B4B4B;
  text-decoration: none;
  font-weight: 900;
}

@media screen and (max-width: 767px) {
  .intro {
    max-width: 100%;
    margin: 0 auto;
    display: block;
  }
  .intro .logo {
    width: 150px;
    text-align: center;
    margin-top: 6px;
    margin-left: 6px;
  }
  .intro .logo a {
    text-decoration: none;
    color: #333;
  }
  .intro .logo img {
    width: 100%;
    height: auto;
    display: block;
  }
  .intro .logo h1 {
    margin: 0;
    font-weight: 200;
  }
  .intro .hd-link {
    display: none;
  }
  .intro .subtitle {
    font-size: 10px;
    text-align: center;
    margin-left: 1.2em;
  }
}
.primary {
  position: relative;
  width: 100%;
  padding: 0;
  background-color: #2b784e;
  box-shadow: 0px 2px 3px -3px rgba(0, 0, 0, 0.9);
}

.gn {
  position: relative;
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
  height: auto;
}
.gn ul {
  margin: 0;
  padding: 0;
  display: flex;
  align-content: center;
  align-items: center;
  text-align: center;
}
.gn ul li {
  position: relative;
  line-height: 1;
  display: inline-block;
  flex-grow: 1;
  transition: all 0.1s;
}
.gn ul li a {
  position: relative;
  white-space: nowrap;
  text-align: center;
  display: block;
  color: #fff;
  font-size: 15px;
  font-weight: 200;
  font-style: normal;
  padding: 16px 6px;
  text-decoration: none;
}

.gn li a::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  display: inline-block;
  width: 1px;
  height: 50%;
  background-color: #fff;
  -webkit-transform: translate(0%, -50%);
  -ms-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
}

.gn li a.last::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  display: inline-block;
  width: 0px;
  height: 50%;
  background-color: #fff;
  -webkit-transform: translate(0%, -50%);
  -ms-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
}

.gn li a.active,
.gn li a:hover {
  color: #fff;
  box-shadow: inset 0 -2px #fff;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  opacity: 1;
}

/*sp*/
@media screen and (max-width: 767px) {
  .gn,
.intro .hd-link {
    display: none;
  }
}
.is-show {
  transform: translateY(0);
}

.gn li .nav_drop_down_contents {
  display: none;
  background-color: #FAFAFA;
  width: 280px;
  padding: 12px 16px;
  position: absolute;
  top: 51px;
  left: 0;
  z-index: 1150;
  border: 1px solid rgba(0, 0, 0, 0.2);
}
.gn li .nav_drop_down_contents a {
  text-align: left;
  color: #333;
  text-decoration: none;
  font-size: 14px;
  line-height: 3;
  white-space: nowrap;
  position: relative;
  display: block;
  padding: 0 24px 0 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}
.gn li .nav_drop_down_contents a::after {
  position: absolute;
  top: 50%;
  right: 6px;
  content: "";
  width: 6px;
  height: 6px;
  border-top: solid 1px #333;
  border-right: solid 1px #333;
  transform: translate(0%, -50%) rotate(45deg);
}
.gn li .nav_drop_down_contents a:hover {
  color: #175734;
}
.gn li .nav_drop_down_contents a:last-child {
  border: none;
}

.tel-btn,
.menu-btn,
.dropmenu {
  display: none;
}

@media screen and (max-width: 767px) {
  .menu-btn {
    display: inherit;
  }

  .menu-btn {
    position: fixed;
    top: 0;
    right: 0;
    display: table;
    height: 60px;
    padding: 0 2em;
    font-size: 10px;
    text-transform: uppercase;
    /*color: var.$point-color;*/
    font-weight: 900;
    z-index: 10;
    border-left: 1px solid #dedede;
  }
  .menu-btn span {
    display: table-cell;
    vertical-align: middle;
  }

  .menu-btn em,
.menu-btn em::after,
.menu-btn em::before {
    display: block;
    position: relative;
    height: 2px;
    width: 20px;
    background-color: #333;
    backface-visibility: hidden;
  }

  .menu-btn em {
    margin: 0 auto;
    -webkit-transition: background-color 0.2s;
    transition: background-color 0.2s;
  }

  .menu-btn em::before,
.menu-btn em::after {
    position: absolute;
    content: "";
    left: 0;
    transition: -webkit-transform 0.2s;
    transition: transform 0.2s;
    transition: transform 0.2s, -webkit-transform 0.2s;
  }

  .menu-btn em::before {
    -webkit-transform: translateY(-6px);
    -ms-transform: translateY(-6px);
    transform: translateY(-6px);
  }

  .menu-btn em::after {
    -webkit-transform: translateY(6px);
    -ms-transform: translateY(6px);
    transform: translateY(6px);
  }

  .menu-btn.active {
    position: fixed;
    z-index: 9999;
  }

  .menu-btn.active em {
    background-color: rgba(255, 255, 255, 0);
  }

  .menu-btn.active em::before {
    transform: rotate(-45deg);
  }

  .menu-btn.active em::after {
    transform: rotate(45deg);
  }

  .tel-btn {
    display: inherit;
  }

  .tel-btn {
    position: fixed;
    top: 9px;
    right: 70px;
    display: table;
    height: 60px;
    font-size: 14px;
    text-transform: uppercase;
    /*color: var.$point-color;*/
  }
  .tel-btn a {
    background: url(../img/module/icon/icon_tel_com.svg) no-repeat 50% 50%;
    background-size: 32px 32px;
    margin: auto;
    display: block;
    width: 44px;
    height: 44px;
  }
  .tel-btn a span {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .dropmenu {
    position: fixed;
    top: 70px;
    left: -44px;
    width: 100%;
    height: 100%;
    background-color: #fff;
    padding: 0;
    z-index: 9;
    text-align: left;
    display: inherit;
    overflow-y: auto;
    transform: translate(0);
    opacity: 1;
    padding: 0 0 30px 12px;
    border-right: 1px solid #dedede;
  }
  .dropmenu.hide {
    transform: translate(-81%);
    visibility: hidden;
    overflow: hidden;
    opacity: 0;
  }
  .dropmenu.animation {
    -webkit-transition-property: opacity, visibility;
    transition-property: opacity, visibility;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
    transform: translateZ(0);
    transition: all 0.2s;
  }
  .dropmenu .accordion-menu li {
    list-style: none;
    margin: 0;
  }
  .dropmenu a {
    text-decoration: none;
  }
  .dropmenu .subBox {
    margin: 0 0 0 0;
    padding-left: 30px;
  }

  .no-scroll #wrapper {
    position: fixed;
    z-index: 8;
    background: rgba(1, 144, 67, 0.3);
    backdrop-filter: saturate(180%) blur(20px);
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  .no-scroll {
    overflow: hidden;
    width: 100%;
    height: 100%;
  }

  .accordion-menu {
    margin: 0;
    padding: 0;
    background-color: #fff;
    overflow-y: auto;
  }

  li.header_menu_item {
    position: relative;
    border-bottom: 1px dotted rgba(0, 0, 0, 0.2);
    margin: 0;
  }
  li.header_menu_item a {
    position: relative;
    text-decoration: none;
    display: block;
    font-size: 12px;
    padding: 10px 16px;
    color: #333;
    font-weight: 200;
  }
  li.header_menu_item a::after {
    position: absolute;
    top: 50%;
    right: 14px;
    content: "";
    width: 6px;
    height: 6px;
    border-top: solid 1px #a29e9d;
    border-right: solid 1px #a29e9d;
    -webkit-transform: translate(0%, -50%) rotate(45deg);
    -ms-transform: translate(0%, -50%) rotate(45deg);
    transform: translate(0%, -50%) rotate(45deg);
  }

  li.header_menu_window {
    position: relative;
    border-bottom: 1px dotted rgba(0, 0, 0, 0.2);
    margin: 0;
  }
  li.header_menu_window a {
    position: relative;
    text-decoration: none;
    display: block;
    font-size: 12px;
    padding: 10px 16px;
    color: #333;
    font-weight: 200;
    background: url(../img/module/icon/icon_window_b.svg) no-repeat 98% 50%;
    background-size: auto 16px;
  }

  li.header_menu_itemSub {
    position: relative;
    border-bottom: 1px dotted rgba(0, 0, 0, 0.2);
    margin: 0;
  }
  li.header_menu_itemSub a {
    position: relative;
    text-decoration: none;
    display: block;
    font-size: 12px;
    padding: 10px 16px;
    color: #333;
    font-weight: 200;
  }
  li.header_menu_itemSub a::after {
    position: absolute;
    top: 50%;
    right: 14px;
    content: "";
    width: 6px;
    height: 6px;
    border-top: solid 1px #a29e9d;
    border-right: solid 1px #a29e9d;
    transform: translate(0%, -50%) rotate(45deg);
  }
  li.header_menu_itemSub .dropdownlink a {
    position: relative;
    text-decoration: none;
    display: block;
    font-size: 12px;
    padding: 10px 16px;
    color: #333;
    font-weight: 200;
  }
  li.header_menu_itemSub .dropdownlink a::after {
    position: absolute;
    top: 50%;
    right: 14px;
    content: "";
    width: 6px;
    height: 6px;
    border-top: solid 1px #a29e9d;
    border-right: solid 1px #a29e9d;
    transform: translate(0%, -50%) rotate(135deg);
  }
  li.header_menu_itemSub.open .dropdownlink {
    border-bottom: 1px dotted rgba(0, 0, 0, 0.2);
  }
  li.header_menu_itemSub.open .dropdownlink a {
    color: #175734;
    font-weight: 900;
  }
  li.header_menu_itemSub.open .dropdownlink a::after {
    position: absolute;
    top: 50%;
    right: 14px;
    content: "";
    width: 6px;
    height: 6px;
    border-top: solid 1px #175734;
    border-right: solid 1px #175734;
    transform: translate(0%, -50%) rotate(-45deg);
  }

  .submenuItems {
    display: none;
    margin: 0;
    padding: 0;
  }
  .submenuItems li {
    border-bottom: 1px solid #dedede;
  }
  .submenuItems li:last-child {
    border-bottom: none;
  }
  .submenuItems li a {
    background-color: #f3eeeb;
    display: block;
    width: 100%;
    font-size: 12px;
    line-height: 1.4;
    padding: 12px 16px 12px 24px;
    text-decoration: none;
    /*width: 50%;
    float: left;*/
  }
  .submenuItems li a::after {
    position: absolute;
    top: 50%;
    right: 14px;
    content: "";
    width: 6px;
    height: 6px;
    border-top: solid 1px #a29e9d;
    border-right: solid 1px #a29e9d;
    -webkit-transform: translate(0%, -50%) rotate(45deg);
    -ms-transform: translate(0%, -50%) rotate(45deg);
    transform: translate(0%, -50%) rotate(45deg);
  }

  .sidenav_bottom {
    background-color: #f3f3f3;
    padding: 16px 16px 48px 16px;
  }
  .sidenav_bottom .subBox {
    margin: 0 0 18px 0;
    padding-left: 30px;
  }
  .sidenav_bottom .subBox ul,
.sidenav_bottom .subBox li {
    margin-left: 0;
    padding-left: 0;
  }
  .sidenav_bottom .subBox h1 {
    font-size: 12px;
    font-weight: 900;
    line-height: 1.4;
    margin-bottom: 6px;
    padding: 0;
  }
  .sidenav_bottom .subBox p {
    font-size: 11px;
    margin: 0 0 12px 0;
  }
  .sidenav_bottom .subBox span {
    font-size: 11px;
    font-weight: 200;
  }
  .sidenav_bottom .subBox table {
    font-size: 12px;
    margin-bottom: 8px;
    background-color: #e6e6e6;
  }
  .sidenav_bottom .subBox table th,
.sidenav_bottom .subBox table td {
    border: none;
    padding: 4px 6px;
  }
  .sidenav_bottom .subBox table th {
    width: 4em;
    font-size: 11px;
  }

  .side_tel {
    font-size: 12px;
    margin-bottom: 12px;
  }
  .side_tel a {
    color: #333;
    background: #fff url(../img/module/icon/icon_tel_com.svg) no-repeat 6px 50%;
    background-size: 16px auto;
    margin: 6px 0;
    display: inline-block;
    padding: 6px 12px 6px 24px;
    border-radius: 4px;
    border: 1px solid rgba(0, 0, 0, 0.2);
  }
  .side_tel .online {
    font-weight: 900;
    color: #444;
  }
  .side_tel .time {
    font-weight: 200;
    color: #444;
  }

  .side_contact {
    font-size: 12px;
  }
  .side_contact a {
    color: #333;
    background: #fff url(../img/module/icon/icon_mail_y.svg) no-repeat 6px 50%;
    background-size: 16px auto;
    margin: 6px 0;
    display: inline-block;
    padding: 6px 12px 6px 24px;
    border-radius: 4px;
    border: 1px solid rgba(0, 0, 0, 0.2);
  }
}
.is_zoom {
  position: absolute;
  right: 6px;
  bottom: 6px;
  z-index: 9;
  width: 44px;
  height: 44px;
  background: #607d8b url(../img/module/icon/icon_zoom.svg) no-repeat 50% 50%;
  background-size: auto 18px;
}

footer {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
}
footer .footer_inner {
  width: 100%;
  max-width: 1024px;
  margin-left: auto;
  margin-right: auto;
  padding: 24px 16px;
  text-align: left;
  display: flex;
  justify-content: space-between;
}
footer .footer_navi {
  width: 32%;
}
footer .footer_navi dt {
  font-weight: 900;
  margin-bottom: 12px;
  padding: 6px 4px;
  font-size: 14px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}
footer .footer_navi ul {
  margin: 0 0 0 1em;
  padding: 0;
}
footer .footer_navi li {
  list-style: none;
  margin: 0 0 2px;
  padding: 0;
}
footer .footer_navi a {
  position: relative;
  font-size: 13px;
  line-height: 1;
  font-weight: 200;
  text-decoration: underline;
  text-align: left;
}
footer .footer_add {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: space-between;
  margin-bottom: 12px;
}
footer .footer_add .ft_logo {
  width: 225px;
  margin-right: 24px;
}
footer .footer_add .ft_logo a {
  display: block;
  margin-bottom: 16px;
}
footer .footer_add .add {
  font-size: 13px;
  line-height: 1.4;
  width: 500px;
}

.copyrightBox {
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
  font-size: 11px;
  padding: 12px 0;
  text-align: center;
  color: #a0a0a0;
}
.copyrightBox .ft_logo {
  width: 50px;
  margin: 0 auto 8px;
}
.copyrightBox .ft_logo img {
  width: 100%;
  height: auto;
  display: block;
}

@media screen and (max-width: 767px) {
  footer {
    display: none;
  }

  .copyright {
    width: 100%;
    max-width: auto;
    margin: 0 auto;
    font-size: 12px;
    padding: 12px 0;
    text-align: center;
  }
}
.footer_fixed {
  position: fixed;
  z-index: 8;
  width: 100%;
  bottom: 0;
  left: 0;
  background-color: #1D507E;
  color: #fff;
  text-align: left;
  border: 2px solid #1D507E;
  padding: 0;
  overflow: hidden;
  /*.box_link_right {
  	width: 50%;
  	float: right;
  	background-color: #fff;
  }*/
}
.footer_fixed .box_link_left {
  width: 50%;
  float: left;
  background-color: #1D507E;
}
.footer_fixed .box_link_right {
  width: 100%;
  margin: 0 auto;
  float: none;
  background-color: #fff;
}
.footer_fixed .download a {
  display: block;
  color: #fff;
  padding: 12px 10px 12px 10px;
  background: url(../img/module/icon/icon_download.svg) no-repeat 10px 50%;
  background-size: auto 12px;
  font-size: 13px;
  text-align: center;
}
.footer_fixed .contact a {
  display: block;
  color: #1D507E;
  padding: 12px 10px 12px 10px;
  background: url(../img/module/icon/icon_mail_blue.svg) no-repeat 24% 50%;
  background-size: auto 20px;
  /*font-size: 13px;*/
  font-size: 16px;
  font-weight: 900;
  text-align: center;
}

.owabi {
  margin-top: 24px;
}
.owabi .Box {
  border: 1px solid #dedede;
  padding: 1%;
  background-color: #f1f1f1;
  border-radius: 0;
}
.owabi h1 {
  font-size: 20px;
  color: #dc3f33;
  border: 1px solid #dc3f33;
  padding: 2%;
  background-color: #fff;
}

/* index.css*/
.mainContent {
  position: relative;
  margin: 0 auto;
  padding: 0;
  text-align: left;
  overflow: hidden;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .mainContent {
    overflow: hidden;
    padding-bottom: 0;
  }
}
.idxContent {
  position: relative;
  width: 100%;
  margin-bottom: 24px;
}

.idxContentGroup {
  position: relative;
  text-align: left;
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
  padding: 12px 12px;
}
.idxContentGroup.is_sidenoPad {
  padding: 0 12px;
}

@media screen and (max-width: 767px) {
  .idxContent {
    position: relative;
    width: 100%;
  }

  .idxContentGroup {
    position: relative;
    width: 100%;
    margin: 0 auto;
    padding: 16px 16px;
  }

  .idxContent.indexList {
    position: relative;
    width: 100%;
    margin: 0 auto 8px;
    padding: 0;
  }
}
.idxContent::after,
.idxContentGroup::after,
.idxContentBox::after {
  clear: both;
  content: "";
  display: block;
}

.idxContent::before,
.idxContentBox::before,
.idxContentGroup:before,
.idxContent::after,
.idxContentBox::after,
.idxContentGroup::after {
  content: "";
  display: table;
}

.idxContent::after,
.idxContentBox::after,
.idxContentGroup::after {
  clear: both;
}

.idxContentDetail {
  width: 70%;
  float: left;
  margin-bottom: 0;
  padding: 0;
}

.idxSideDetail {
  width: 28%;
  float: right;
  padding: 0;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .idxContentDetail {
    width: 100%;
    float: none;
    margin: 0 auto 36px;
    padding: 0;
  }

  .idxSideDetail {
    width: 100%;
    float: none;
    display: inherit;
    margin-bottom: 0;
    padding: 0;
  }
}
.is_center {
  text-align: center;
}

@media screen and (max-width: 767px) {
  .is_center {
    text-align: left;
  }
}
/*.idxContentBox + .Box*/
.idxContentBox {
  position: relative;
  width: 100%;
  max-width: 1024px;
  margin: 0 auto 36px;
  padding: 24px 60px 24px;
  display: block;
  overflow: hidden;
  background-color: #fff;
  border-radius: 4px;
  box-shadow: 0px 2px 8px -3px rgba(0, 0, 0, 0.4);
  -webkit-box-shadow: 0px 2px 8px -3px rgba(0, 0, 0, 0.4);
  -moz-box-shadow: 0px 2px 8px -3px rgba(0, 0, 0, 0.4);
}

@media screen and (max-width: 767px) {
  .idxContentBox {
    width: auto;
    max-width: 100%;
    margin: 0 12px 36px;
    padding: 24px 12px 12px;
  }
}
/* detail thumbnail+summary*/
.BoxSingle {
  position: relative;
  width: 100%;
  max-width: 1024px;
  margin: 0 auto 36px;
  display: block;
  overflow: hidden;
  background-color: #fff;
  border-radius: 4px;
  box-shadow: 0px 2px 8px -3px rgba(0, 0, 0, 0.4);
  -webkit-box-shadow: 0px 2px 8px -3px rgba(0, 0, 0, 0.4);
  -moz-box-shadow: 0px 2px 8px -3px rgba(0, 0, 0, 0.4);
}

@media screen and (max-width: 767px) {
  .BoxSingle {
    width: auto;
    max-width: 100%;
    margin: 0 0 24px;
    padding: 12px 12px 12px;
    border-radius: 0px;
  }
}
/* --------------------------------

.BOX / .BoxWrap

-------------------------------- */
.item {
  position: relative;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.Box {
  position: relative;
  display: block;
  overflow: hidden;
  background-color: #fff;
  margin-bottom: 24px;
  border: 1px solid rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
}
.Box a {
  text-decoration: none;
  display: block;
  overflow: hidden;
}

.boxS {
  margin-bottom: 8px;
}

.bnr_sp_column {
  margin-bottom: 12px;
}
.bnr_sp_column li {
  margin-bottom: 8px;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .boxS {
    margin-bottom: 12px;
  }

  .bnr_sp_column {
    display: flex;
    align-content: center;
    align-items: center;
    text-align: center;
    justify-content: space-between;
    margin-bottom: 12px;
  }
  .bnr_sp_column li {
    width: 48.2%;
  }
}
.padBox {
  padding: 0 72px;
}

@media screen and (max-width: 767px) {
  .padBox {
    padding: 0 0px;
  }
}
.overview {
  position: relative;
  padding: 16px;
  overflow: hidden;
}
.overview .item_title {
  position: relative;
  font-size: 2rem;
  line-height: 1.4;
  font-weight: 900;
  padding-right: 0;
  margin-bottom: 4px;
}
.overview .detailData {
  color: rgba(0, 0, 0, 0.5);
  line-height: 1.4;
  margin-bottom: 12px;
}
.overview .detailData span {
  display: block;
}
.overview ::before {
  position: absolute;
  content: "";
  vertical-align: middle;
}

@media screen and (max-width: 767px) {
  .overview {
    padding: 12px 12px;
  }
  .overview .item_title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
.news_list {
  position: relative;
  width: 100%;
  display: flex;
  margin-bottom: 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}
.news_list dt {
  width: 200px;
  padding: 0.4em 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 16px;
  color: rgba(0, 0, 0, 0.5);
}
.news_list dd {
  width: 70%;
  width: calc(100% - 300px);
  padding: 0.4em 1em;
  font-size: 16px;
  font-weight: 900;
}
.news_list dd a {
  color: #333;
}

@media screen and (max-width: 767px) {
  .news_list {
    flex-direction: column;
    margin-bottom: 4px;
    padding-bottom: 4px;
  }

  .news_list dt {
    background: none;
    color: #000;
    width: 100%;
    padding: 8px 8px 0 8px;
    display: block;
    border: none;
  }

  .news_list dd {
    padding: 0 8px 8px 8px;
    width: 100%;
  }
}
/* --------------------------------

page path

-------------------------------- */
.breadcrumbs {
  display: inherit;
  width: 100%;
  max-width: 1024px;
  margin: 16px auto 24px;
  padding: 6px;
  border-width: 1px 0;
  font-size: 12px;
}
.breadcrumbs a {
  color: #6A6361;
  text-decoration: underline;
  font-size: 12px;
}
.breadcrumbs a::after {
  position: absolute;
  top: 50%;
  right: 4px;
  content: "";
  width: 6px;
  height: 6px;
  border-top: solid 1px #dedede;
  border-right: solid 1px #dedede;
  transform: translate(0%, -50%) rotate(45deg);
}

.breadcrumbs li:last-child::after {
  border: none;
}

/*Mobile*/
@media screen and (max-width: 767px) {
  .breadcrumbs {
    width: auto;
    max-width: 100%;
    margin: 0 auto 2px;
    padding: 8px 16px;
  }

  .breadcrumbs ul {
    display: block;
    flex-wrap: inherit;
    width: 100%;
    max-width: 100%;
    margin: auto;
  }
}
/* --------------------------------

step flow

-------------------------------- */
.step {
  list-style-type: none;
  display: table;
  width: 1000px;
  margin: 0 auto 48px;
  overflow: hidden;
  background-color: #fff;
  border-radius: 4px;
}

.step li {
  display: table-cell;
  position: relative;
  background: #504944;
  padding: 1em 0.5em 1em 2em;
  color: #fff;
}

.step li:last-child {
  padding-right: 1em;
}

.step li:last-child:before,
.step li:last-child:after {
  display: none;
}

.step li:before,
.step li:after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  margin: auto;
}

.step li:before {
  top: -15px;
  right: -1em;
  border-style: solid;
  border-color: transparent transparent transparent #fff;
  border-width: 40px 0 40px 1em;
  z-index: 10;
}

.step li:after {
  top: -15px;
  right: -0.8em;
  border-style: solid;
  border-color: transparent transparent transparent #504944;
  border-width: 40px 0 40px 1em;
  z-index: 10;
}

.step li.is-current {
  background: #9bbb30;
  font-weight: bold;
}

.step li.is-current:after {
  border-color: transparent transparent transparent #9bbb30;
}

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

etc

-------------------------------- */
.is_ricon_faq {
  background-color: #f8f3ef;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
  border: 1px solid rgba(0, 0, 0, 0.2);
}

.is_ricon_topics {
  background-color: #fff;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
  border: 1px solid rgba(0, 0, 0, 0.2);
}
.is_ricon_topics h1 {
  background-color: #586ea0;
  color: #fff;
  padding: 16px 12px;
  font-size: 20px;
}
.is_ricon_topics h2 {
  font-size: 17px;
}
.is_ricon_topics h2 span {
  color: #586ea0;
}

.question {
  position: relative;
  cursor: pointer;
  margin-bottom: 10px;
  padding: 4px 4px 4px 32px;
  line-height: 1.4;
}
.question h1 {
  font-size: 20px;
  margin-bottom: 4px;
}
.question:before {
  content: "Q";
  background: #d9b14a;
  color: #fff;
  padding-top: 4px;
  top: 0;
  left: 0;
}
.question:before {
  position: absolute;
  display: block;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  text-align: center;
}

.answer {
  position: relative;
  font-size: 1.4rem;
  line-height: 1.6;
  margin: 24px 0 0 0px;
  padding-left: 40px;
}
.answer:before {
  content: "A";
  background: #fff;
  border: 1px solid #175734;
  color: #175734;
  padding-top: 4px;
  top: -4px;
  left: 0;
  font-weight: 700;
}
.answer:before {
  position: absolute;
  display: block;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  text-align: center;
}

.faq {
  position: relative;
}

.faq-item {
  background: #fff;
  border-radius: 6px;
  padding: 16px 8px 16px 48px;
  margin-bottom: 18px;
}

.faq-question {
  position: relative;
  cursor: pointer;
}

.faq-question h2 {
  font-size: 1.5rem;
  line-height: 1.4;
  padding: 0 24px 0 0;
}

.faq-answer {
  position: relative;
  font-size: 1.4rem;
  line-height: 1.6;
  margin: 24px 0 0 0px;
}

.faq-question:before {
  content: "Q";
  background: #07397c;
  color: #fff;
  padding-top: 4px;
  top: -6px;
  left: -40px;
}

.faq-answer:before {
  content: "A";
  background: #fff;
  border: 1px solid #07397c;
  color: #07397c;
  padding-top: 4px;
  top: -4px;
  left: -40px;
  font-weight: 700;
}

.faq-answer:before,
.faq-question:before {
  position: absolute;
  display: block;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  text-align: center;
}

.faq-question h2::after {
  position: absolute;
  top: 45%;
  right: 16px;
  content: "";
  width: 8px;
  height: 8px;
  border-top: solid 2px #b4b4b4;
  border-right: solid 2px #b4b4b4;
  -webkit-transform: rotate(45deg);
  transform: rotate(135deg);
}

.faq-question.open h2::after {
  position: absolute;
  top: 45%;
  right: 16px;
  content: "";
  width: 8px;
  height: 8px;
  border-top: solid 2px #b4b4b4;
  border-right: solid 2px #b4b4b4;
  -webkit-transform: rotate(45deg);
  transform: rotate(-45deg);
}

/* pager */
.pagenaviBox {
  width: 100%;
  text-align: center;
}

.wp-pagenavi {
  width: 100%;
  margin: 16px auto 24px;
  padding: 0 12px;
  text-align: center;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: start;
}
.wp-pagenavi a.nextpostslink, .wp-pagenavi a.previouspostslink {
  font-size: 22px;
  color: #175734;
}

.wp-pagenavi a,
.wp-pagenavi span {
  width: 44px;
  margin: 0 5px 5px 0;
  display: block;
  text-align: center;
  line-height: 44px;
  font-size: 15px;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.2);
  text-decoration: none;
}

.wp-pagenavi a:hover,
.wp-pagenavi a.previouspostslink:hover,
.wp-pagenavi a.nextpostslink:hover,
.wp-pagenavi span.current {
  color: #fff;
  background-color: #175734;
}

.wp-pagenavi a {
  color: #333;
}

.wp-pagenavi::after {
  clear: both;
  content: "";
  display: block;
}

/*Mobile*/
@media screen and (max-width: 767px) {
  .wp-pagenavi {
    width: 100%;
    justify-content: start;
  }
}
/* --------------------------------

grid setting

-------------------------------- */
.grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-content: flex-start;
}

.gridindex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-content: space-between;
}
.gridindex img {
  margin-bottom: 8px;
}

@media screen and (max-width: 767px) {
  .grid,
.gridindex {
    padding: 0;
  }
}
.cell_left {
  width: 24.4%;
}

.cell_center {
  width: 49.6%;
}

.cell_right {
  width: 24.4%;
}

@media screen and (max-width: 767px) {
  .cell_left {
    width: 100%;
  }

  .cell_center {
    width: 49%;
  }

  .cell_right {
    width: 49%;
  }
}
.ph_1column .cell {
  width: 100%;
}

.ph_2column .cell {
  width: 48.4%;
}

.ph_3column .cell {
  width: 31.4%;
}

.ph_4column .cell {
  width: 23.8%;
}
.ph_4column .cell img {
  margin-bottom: 12px;
}

.ph_5column .cell {
  width: 19.6%;
}

.left {
  width: 49%;
  float: left;
}

.right {
  width: 49%;
  float: right;
}

.is_pageContact {
  margin-bottom: 24px;
  padding: 16px;
  border: 1px solid #dedede;
  border-radius: 4px;
}
.is_pageContact .cell {
  width: 47%;
}

@media screen and (max-width: 767px) {
  .is_pageContact {
    margin-bottom: 32px;
    padding: 16px 16px 0;
    border: 1px solid #dedede;
    border-radius: 4px;
  }
  .is_pageContact .cell {
    width: 100%;
    margin-bottom: 14px;
  }
  .is_pageContact .cell .icon_tel a {
    text-decoration: underline;
  }
}
@media screen and (max-width: 767px) {
  .ph_1column .cell {
    width: 100%;
  }

  .ph_2column .cell {
    width: 100%;
  }

  .root_rikon .ph_2column .cell {
    width: 49%;
  }

  .ph_3column .cell {
    width: 100%;
  }

  .ph_4column .cell {
    width: 49%;
  }

  .ph_5column .cell {
    width: 49%;
  }
  .ph_5column .cell img {
    margin-bottom: 8px;
  }
}
.thumb {
  float: left;
  width: 50%;
  height: auto;
  display: block;
  overflow: hidden;
  margin-right: 24px;
}

.summary {
  display: block;
  overflow: hidden;
  padding-left: 0;
  padding-right: 0;
}

@media screen and (max-width: 767px) {
  .thumb {
    float: none;
    width: 100%;
    height: auto;
    display: block;
    overflow: hidden;
    margin-right: 0;
  }

  .summary {
    display: block;
    overflow: hidden;
    padding-left: 0;
    padding-right: 0;
  }
}
.cmn_jimu {
  margin: 0 0 24px;
  padding: 20px 0 0 0;
  border-top: 2px solid #d5d668;
}
.cmn_jimu .thumb {
  float: left;
  width: 50%;
  height: auto;
  display: block;
  overflow: hidden;
  margin-right: 24px;
}
.cmn_jimu .summary {
  display: block;
  overflow: hidden;
  padding-left: 0;
  padding-right: 0;
}

@media screen and (max-width: 767px) {
  .cmn_jimu .thumb {
    float: none;
    width: 100%;
    height: auto;
    display: block;
    overflow: hidden;
    margin-right: 0;
  }
  .cmn_jimu .thumb img {
    width: 80%;
    margin: 0 auto 16px;
  }
  .cmn_jimu .summary {
    display: block;
    overflow: hidden;
    padding-left: 0;
    padding-right: 0;
  }
}
.box-keisou {
  box-shadow: 0px 0px 3px 1px rgba(0, 0, 0, 0.2);
  background-color: #fff;
  margin: 0 auto 36px;
  border-radius: 4px;
}
.box-keisou .thumb {
  float: left;
  width: 250px;
  height: auto;
  display: block;
  overflow: hidden;
  margin-right: 24px;
}
.box-keisou .summary {
  display: block;
  overflow: hidden;
  padding-left: 0;
  padding-right: 0;
}
.box-keisou p {
  font-size: 14px;
}

@media screen and (max-width: 767px) {
  .box-keisou {
    box-shadow: 0px 0px 3px 1px rgba(0, 0, 0, 0.2);
    background-color: #fff;
    margin: 0 auto;
    border-radius: 4px;
  }
  .box-keisou .thumb {
    float: none;
    width: 100%;
    height: auto;
    display: block;
    overflow: hidden;
    margin-right: 0;
  }
  .box-keisou .summary {
    display: block;
    overflow: hidden;
    padding-left: 0;
    padding-right: 0;
  }
  .box-keisou p {
    font-size: 14px;
  }
}
.view_thumb_left {
  float: left;
  width: 49%;
}

.view_thumb_right {
  float: right;
  width: 49%;
}

@media screen and (max-width: 767px) {
  .view_thumb_left,
.view_thumb_right {
    float: none;
    width: 100%;
  }
}
.cmn_keisou {
  position: relative;
  padding: 24px 0 0 0;
  border-top: 2px solid #68b8d6;
}
.cmn_keisou h1 {
  margin: 24px auto 24px;
  padding: 0 12px;
}
.cmn_keisou .view_thumb_left {
  float: left;
  width: 48%;
}
.cmn_keisou .view_thumb_right {
  float: right;
  width: 48%;
}

@media screen and (max-width: 767px) {
  .cmn_keisou {
    position: relative;
    padding: 24px 0 0 0;
    border-top: 2px solid #68b8d6;
  }
  .cmn_keisou h1 {
    margin: 24px auto 24px;
    padding: 0 44px;
  }
  .cmn_keisou .view_thumb_left,
.cmn_keisou .view_thumb_right {
    float: none;
    width: 100%;
  }
}
.btn_inline {
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 12px auto;
}

@media screen and (max-width: 767px) {
  .btn_inline {
    display: block;
    justify-content: auto;
    align-items: center;
    margin: 12px auto 24px;
  }
  .btn_inline .arrow_right {
    width: 100%;
    margin-bottom: 8px;
  }
}
.cell.is-empty {
  height: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.grid_max3 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-content: space-around;
}
.grid_max3 img {
  margin-bottom: 8px;
}
.grid_max3 .cell {
  width: 306px;
  margin: 0 8px;
}

.cimg {
  border: 5px solid #d8b34b;
}

.bdimg {
  border: 1px solid rgba(0, 0, 0, 0.2);
}

/* title */
#pagetitle {
  font-size: 23px;
  margin: 0 0 24px 0;
  padding: 18px 8px;
  font-weight: 200;
  color: #333;
  border-top: dotted 1px rgba(0, 0, 0, 0.2);
  border-bottom: dotted 1px rgba(0, 0, 0, 0.2);
}
#pagetitle span {
  float: right;
  font-size: 14px;
  font-weight: normal;
}

@media screen and (max-width: 767px) {
  #pagetitle {
    font-size: 18px;
    margin: 0 0 18px 0;
    padding: 16px 6px;
  }
  #pagetitle span {
    float: right;
    font-size: 14px;
    font-weight: 200;
    color: #6d6d6d;
    margin-top: 4px;
  }
}
.icon_zoom {
  font-size: 16px;
  line-height: 1.2;
  margin-bottom: 16px;
  padding: 8px 0 8px 32px;
  font-weight: 900;
  text-align: left;
  color: #4f99b0;
  background: url(../img/module/icon/icon_zoom.svg) no-repeat 0 50%;
  background-size: auto 24px;
}

.icon_teams {
  font-size: 16px;
  line-height: 1.2;
  margin-bottom: 16px;
  padding: 8px 0 8px 32px;
  font-weight: 900;
  text-align: left;
  color: #5658ae;
  background: url(../img/module/icon/icon_teams.svg) no-repeat 0 50%;
  background-size: auto 24px;
}

@media screen and (max-width: 767px) {
  .icon_zoom,
.icon_teams {
    font-size: 15px;
    margin-top: 12px;
    margin-bottom: 8px;
  }
}
/* acf.css*/
/* --------------------------------
Advanced Custom Fields
-------------------------------- */
.headblock {
  margin-top: 0;
  margin-bottom: 24px;
}
.headblock #pagetitle {
  margin-bottom: 4px;
}
.headblock .caption {
  font-size: 14px;
  color: rgba(0, 0, 0, 0.5);
  padding: 8px;
}

.headblock::after {
  clear: both;
  content: "";
  display: block;
}

@media screen and (max-width: 767px) {
  .headblock {
    margin-top: 0;
    margin-bottom: 16px;
  }
}
.headinfo {
  position: relative;
  width: 100%;
  background-color: #175734;
  padding: 60px;
  margin-bottom: 32px;
  text-align: center;
}
.headinfo .caption {
  margin: 0 auto;
  width: 100%;
  max-width: 1024px;
  font-size: 2.8rem;
  color: #fff;
}
.headinfo .caption h1 {
  margin: 0;
  padding: 0;
}

@media screen and (max-width: 767px) {
  .headinfo {
    position: relative;
    width: 100%;
    background-color: #175734;
    padding: 48px;
    margin-bottom: 24px;
    text-align: center;
  }
  .headinfo .caption {
    margin: 0 auto;
    width: 100%;
    max-width: 1024px;
    font-size: 2.3rem;
    color: #fff;
  }
  .headinfo .caption h1 {
    margin: 0;
    padding: 0;
  }
}
/*見出し1 中央揃え*/
.headings_center_1 {
  font-size: 2.8rem;
  line-height: 1.2;
  margin-bottom: 40px;
  font-weight: 900;
  text-align: center;
  color: #111;
  font-feature-settings: "palt";
}
.headings_center_1.is_lit {
  margin-bottom: 20px;
}

.headings_center_2 {
  font-size: 2.8rem;
  line-height: 1.2;
  margin-bottom: 40px;
  font-weight: 900;
  text-align: center;
  color: #1D507E;
  font-feature-settings: "palt";
}
.headings_center_2 span {
  color: #dc9523;
}

.headings_center_3 {
  font-size: 16px;
  line-height: 1.2;
  margin: 0 0 8px 0;
  padding: 4px 8px;
  font-weight: 600;
  text-align: center;
  font-feature-settings: "palt";
}
.headings_center_3 span {
  color: #dc9523;
}

.headings_display_1 {
  font-size: 2.8rem;
  line-height: 1.2;
  margin-bottom: 16px;
  padding-bottom: 6px;
  font-weight: 200;
  text-align: left;
  color: #175734;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  font-feature-settings: "palt";
}
.headings_display_1.is_nbo {
  margin-bottom: 24px;
  border: none;
}

@media screen and (max-width: 767px) {
  .headings_display_1 {
    font-size: 2.3rem;
    margin-bottom: 8px;
  }
}
/*見出し2*/
.headings_display_2 {
  position: relative;
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 10px;
  padding: 8px;
  color: #2d2d2d;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  line-height: 1.7;
  text-align: justify;
  letter-spacing: 0.055em;
}
.headings_display_2 span {
  font-size: 14px;
  font-weight: 200;
}

@media screen and (max-width: 767px) {
  .headings_display_2 {
    position: relative;
    font-size: 1.8rem;
    font-weight: 600;
    margin-bottom: 10px;
    padding: 8px;
  }
}
.title_min {
  font-size: 24px;
  color: #333;
  margin-bottom: 10px;
  font-weight: 200;
  font-family: “Times New Roman”, “游明朝”, YuMincho, “ヒラギノ明朝 ProN W3″, “Hiragino Mincho ProN”, “HG明朝E”, “メイリオ”, Meiryo, serif;
}

@media screen and (max-width: 767px) {
  .title_min {
    font-size: 18px;
    margin-bottom: 12px;
  }
}
/*見出し2 装飾*/
.headings_display_3 {
  position: relative;
  font-size: 18px;
  color: #607d8b;
  font-weight: 900;
  overflow: hidden;
  margin-bottom: 12px;
  padding: 8px 4px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}
.headings_display_3 span {
  font-size: 14px;
}

/*見出し3*/
.headings_display_4 {
  position: relative;
  font-size: 1.8rem;
  margin-bottom: 1em;
  color: #7e6b5a;
  font-weight: 200;
  padding: 0;
  display: block;
}
.headings_display_4 span {
  font-size: 1.6rem;
  font-weight: 200;
}

.catch {
  font-size: 15px;
  font-weight: 900;
  line-height: 1.2;
  margin-bottom: 8px;
}

.centering {
  text-align: center;
}

@media screen and (max-width: 767px) {
  .catch {
    font-size: 1.8rem;
  }

  .catch.centering {
    text-align: left;
  }

  .catch.centering br {
    display: none;
  }
}
.info {
  position: relative;
  margin-bottom: 16px;
}
.info .data {
  color: rgba(0, 0, 0, 0.5);
}

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

thumb summary

-------------------------------- */
.postHorizon {
  margin: 0 -60px 16px -60px;
}

/* thumbnail+summary*/
.post_Box {
  position: relative;
  overflow: hidden;
  border-radius: 0;
}

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

img thumbnail over

-------------------------------- */
.thumbnail {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  overflow: hidden;
  object-fit: cover;
}

.is_thumbnail {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  overflow: hidden;
  object-fit: cover;
  padding-top: 58.25%;
}

.is_thumbnail_fit {
  background-position: 100% 0;
  background-size: cover;
  background-repeat: no-repeat;
  overflow: hidden;
}

.objectFit {
  object-fit: cover;
  object-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
}

.sizeFit {
  width: 100%;
  height: 100%;
}

/* zoom */
a .thumbnail {
  opacity: 1;
  transition: all 1s ease-out;
  backface-visibility: hidden;
}

a .is_thumbnail {
  opacity: 1;
  transition: all 1s ease-out;
  backface-visibility: hidden;
}

/*
a .thumbnail {
	opacity: 1;
	-webkit-transition: 0.3s opacity;
	-moz-transition: 0.3s opacity;
	-ms-transition: 0.3s opacity;
	transition: 0.3s opacity;
}
*/
a .thumbnail:hover {
  opacity: 0.6;
  transition: all 0.8 ease-in;
}

a .is_thumbnail:hover {
  opacity: 0.6;
  transition: all 0.8 ease-in;
}

@media screen and (max-width: 767px) {
  a .thumbnail,
a .thumbnail:hover {
    opacity: 1;
    transition: inherit;
  }

  a .is_thumbnail,
a .is_thumbnail:hover {
    opacity: 1;
    transition: inherit;
  }
}
.contain {
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  overflow: hidden;
  object-fit: cover;
}

.gradient::after {
  background: linear-gradient(rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0.4) 20%, rgba(0, 0, 0, 0.6) 80%);
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  content: "";
  width: 100%;
  height: 50%;
}

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

thumbnail
表示画像の高さ ÷ 表示画像の幅 × 100

-------------------------------- */
/*横長*/
.post_horizon {
  position: relative;
  display: block;
  overflow: hidden;
  width: 100%;
  height: 0;
  padding-top: 38.25%;
}

/*横長*/
.post_trim {
  position: relative;
  display: block;
  overflow: hidden;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
}

/*正方形*/
.post_square {
  position: relative;
  display: block;
  overflow: hidden;
  width: 100%;
  height: 0;
  padding-top: 100%;
}

.post_length {
  position: relative;
  display: block;
  overflow: hidden;
  width: 100%;
  height: 0;
  padding-top: 135.8%;
}

.post_radius {
  position: relative;
  display: block;
  overflow: hidden;
  width: 100%;
  height: 0;
  padding-top: 100%;
  border-radius: 50%;
}

@media screen and (max-width: 767px) {
  .post_trim {
    position: relative;
    display: block;
    overflow: hidden;
    width: 100%;
    height: 0;
    padding-top: 56.25%;
  }
  .post_trim.is_ajust {
    padding-top: 78%;
  }

  .visual .post_trim {
    position: relative;
    display: block;
    overflow: hidden;
    width: 100%;
    height: 0;
    padding-top: 80.25%;
  }

  .post_horizon {
    position: relative;
    display: block;
    overflow: hidden;
    width: 100%;
    height: 0;
    padding-top: 56.25%;
  }
  .post_horizon.is_ajust {
    padding-top: 78%;
  }

  .post_trim {
    position: relative;
    display: block;
    overflow: hidden;
    width: 100%;
    height: 0;
    padding-top: 56.25%;
  }
  .post_trim.is_ajust_half {
    padding-top: 60.8%;
  }

  .post_length {
    position: relative;
    display: block;
    overflow: hidden;
    width: 100%;
    height: 0;
    padding-top: 56.25%;
  }
  .post_length.is_ajust {
    padding-top: 78%;
  }
}
/* --------------------------------

arrow

-------------------------------- */
/*arrow*/
.arrowLeft,
.arrowRight {
  position: relative;
  margin-bottom: 0.5em;
  padding: 0 0 0 18px;
  color: #000;
  vertical-align: middle;
  text-decoration: none;
  font-size: 1.6rem;
}

.arrowLeft a {
  display: block;
}

.arrowLeft::before,
.arrowLeft::after,
.arrowRight::before,
.arrowRight::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}

.arrowLeft::before {
  left: 3px;
  width: 6px;
  height: 6px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.arrowRight::before {
  left: 3px;
  width: 6px;
  height: 6px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  -webkit-transform: rotate(225deg);
  transform: rotate(225deg);
}

.arrowFile a {
  font-size: 1.6rem;
  background-image: url(../img/module/icon/is_file.svg);
  background-position: 0% 50%;
  background-repeat: no-repeat;
  background-size: 24px auto;
  padding: 4px 4px 4px 28px;
  display: block;
}

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

acf map

-------------------------------- */
.acf-map {
  width: 100%;
  height: 500px;
}

.idxContentBox hr {
  margin: 2em -60px;
}

@media screen and (max-width: 767px) {
  .idxContentBox hr {
    margin: 1em -48px;
  }
}
/* --------------------------------

table

-------------------------------- */
table {
  position: relative;
  width: 100%;
  text-align: left;
  font-size: 1.6rem;
  line-height: 1.2;
}
table.cell2 th {
  font-weight: 200;
  vertical-align: top;
  text-align: left;
  width: 50%;
  padding: 16px 24px;
  background-color: #F3EEDE;
}
table.cell2 td {
  vertical-align: top;
  padding: 16px 24px;
}

@media screen and (max-width: 767px) {
  table {
    position: relative;
    width: 100%;
    text-align: left;
    font-size: 1.6rem;
    line-height: 1.2;
  }
  table.cell2 th {
    font-weight: 200;
    vertical-align: middle;
    text-align: left;
    width: 50%;
    padding: 12px;
    background-color: #F3EEDE;
  }
  table.cell2 td {
    vertical-align: middle;
    padding: 12px;
  }
}
/* 表3段 */
table.cell3 tr {
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

table.cell3 tr:last-child {
  border-bottom: none;
}

table.cell3 th {
  font-weight: 200;
  vertical-align: middle;
  text-align: left;
  color: #7b7b7b;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  padding: 16px 16px 16px 16px;
  white-space: nowrap;
  width: 10em;
}

table.cell3 td {
  vertical-align: middle;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  padding: 16px 24px;
  color: #111;
}

.bg_pick {
  background-color: #fbf8f2;
}

@media screen and (max-width: 767px) {
  table {
    font-size: 1.6rem;
  }

  /* 表3段 */
  table.cell3 th {
    font-weight: 200;
    vertical-align: middle;
    text-align: left;
    color: #6A6361;
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
    padding: 8px 12px;
    white-space: nowrap;
    width: 100%;
    display: block;
    background-color: #f9f9f9;
  }

  table.cell3 td {
    vertical-align: middle;
    border: none;
    padding: 8px 12px;
    color: #111;
    width: 100%;
    word-break: break-all;
    display: block;
  }
}
.side_scroll {
  overflow-x: inherit;
}

@media screen and (max-width: 767px) {
  .side_scroll {
    overflow-x: scroll;
    margin-bottom: 64px;
  }

  .side_scroll::-webkit-scrollbar-track {
    margin: 0 2px;
    background: #dedede;
    border-radius: 5px;
  }

  .side_scroll::-webkit-scrollbar-thumb {
    background: #666;
  }

  .side_scroll table th,
.side_scroll table td {
    white-space: nowrap;
  }
}
.is_tablelist {
  margin-bottom: 48px;
}
.is_tablelist dl {
  margin-bottom: 24px;
}
.is_tablelist dt {
  font-weight: 200;
  font-size: 1.6rem;
}
.is_tablelist dd {
  font-size: 1.6rem;
  padding: 0 12px;
}
.is_tablelist .noteList li {
  font-size: 1.6rem;
}

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

textContent

-------------------------------- */
.textContent {
  margin-top: 24px;
  margin-bottom: 32px;
}
.textContentis_center {
  text-align: center;
}
.textContent p {
  line-height: 1.6;
}

.is_bold {
  font-weight: 900;
  color: #175734;
}

.textGuide {
  margin-top: 3px;
  margin-bottom: 12px;
}
.textGuide p {
  font-size: 1.8rem;
}

.ph_caption {
  font-size: 1.6rem;
  line-height: 1.3;
  color: rgba(0, 0, 0, 0.5);
  padding: 0 4px 8px 0;
}

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

GalleryBox

-------------------------------- */
.galleryBox {
  position: relative;
  margin-bottom: 0px;
}

.galleryBox {
  margin-bottom: 24px;
}

.galleryBox .ph_3column .cell {
  width: 15%;
}

.zoom {
  width: 30px;
  height: 30px;
  position: absolute;
  right: 6px;
  bottom: 6px;
  background: url(../img/module/icon/icon_zoom.svg) no-repeat 50% 50%, rgba(76, 175, 80, 0.8);
  background-size: 16px 16px;
  border-radius: 100px;
  z-index: 1;
}

.galleryBox .ph_4column .cell {
  width: 22.8%;
}

@media screen and (max-width: 767px) {
  .galleryBox .ph_4column .cell {
    width: 48.6%;
  }

  .galleryBox {
    margin-bottom: 12px;
  }
}
/* --------------------------------

GalleryBox

-------------------------------- */
.postHorizon {
  margin: 0 -60px 16px -60px;
}

.postHorizon.is_subvisual {
  margin: -24px -60px 24px -60px;
}

.textContent::after {
  clear: both;
  content: "";
  display: block;
}

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

写真+見出し/テキスト

-------------------------------- */
.ph_block {
  margin-top: 24px;
  margin-bottom: 24px;
}

.ph_block::after {
  clear: both;
  content: "";
  display: block;
}

.ph_left .thumb {
  width: 340px;
  float: left;
  margin-bottom: 0px;
  margin-right: 60px;
  margin-left: 0;
}

.ph_right .thumb {
  width: 310px;
  float: right;
  margin-bottom: 0px;
  margin-left: 60px;
  margin-right: 0;
}

@media screen and (max-width: 767px) {
  .ph_block {
    margin-top: 12px;
    margin-bottom: 16px;
  }

  .ph_left .thumb {
    width: 100%;
    float: none;
    padding-right: 0;
    margin-right: 0;
    margin-bottom: 16px;
  }

  .ph_right .thumb {
    width: 100%;
    float: none;
    padding-left: 0;
    margin-left: 0;
    margin-bottom: 16px;
  }
}
section {
  margin-bottom: 24px;
}

.field {
  margin-bottom: 16px;
}

section::after,
.field::after {
  clear: both;
  content: "";
  display: block;
}

@media screen and (max-width: 767px) {
  section {
    margin-bottom: 24px;
  }

  .field {
    margin-bottom: 12px;
  }
}
/* --------------------------------

leadblock list index

-------------------------------- */
.is_pickup {
  background-color: #d3dbde;
  margin-bottom: 24px;
  padding: 8px;
}
.is_pickup.is_gr {
  background-color: #3c483c;
}
.is_pickup .inner {
  background-color: #fff;
  padding: 12px 12px;
}

.inner {
  padding: 8px 16px;
}

.innerBlock {
  padding: 24px 70px;
}

.innerBlockLarge {
  padding: 24px 100px;
}

@media screen and (max-width: 767px) {
  .inner {
    padding: 0 8px;
  }

  .innerBlock {
    padding: 0 6px;
  }

  .innerBlockLarge {
    padding: 16px 16px;
  }
}
/* --------------------------------

内部リンク

-------------------------------- */
a.textlink {
  text-decoration: underline;
}

.btn {
  display: inline-block;
  text-align: center;
  border-radius: 4px;
  margin: 0 0 8px;
  width: auto;
}
.btn a {
  position: relative;
  margin: 0 auto;
  display: block;
  font-size: 14px;
  font-weight: 200;
  padding: 8px 32px 8px 8px;
  text-align: left;
  text-decoration: none !important;
  border-radius: 4px;
  border: 1px solid rgba(0, 0, 0, 0.2);
}
.btn a:hover {
  opacity: 0.6;
}

.is_arrows {
  display: block;
  margin-bottom: 8px;
  overflow: hidden;
}
.is_arrows a {
  background-color: #fff;
  border-radius: 4px;
  border: 1px solid rgba(0, 0, 0, 0.2);
}
.is_arrows a::after {
  position: absolute;
  top: 50%;
  right: 12px;
  content: "";
  width: 8px;
  height: 8px;
  border-top: solid 1px #333;
  border-right: solid 1px #333;
  transform: translate(0%, -50%) rotate(45deg);
}
.is_arrows.is_shawdow {
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
}
.is_arrows.is_shawdow a {
  font-weight: 900;
}

.is_point {
  display: block;
  text-align: center;
  width: 70%;
  border-radius: 4px;
  margin: 0 auto 8px;
}
.is_point a {
  position: relative;
  margin: 0 auto;
  display: block;
  font-size: 16px;
  font-weight: 200;
  padding: 18px 24px 18px 24px;
  text-align: center;
  text-decoration: none !important;
  border-radius: 4px;
  border: 1px solid rgba(0, 0, 0, 0.2);
}
.is_point a::after {
  position: absolute;
  top: 50%;
  right: 12px;
  content: "";
  width: 8px;
  height: 8px;
  border-top: solid 1px #333;
  border-right: solid 1px #333;
  transform: translate(0%, -50%) rotate(45deg);
}
.is_point a:hover {
  opacity: 0.6;
}

.is_window {
  border: none;
  background-color: #8B7C68;
  width: 100%;
  border-radius: 6px;
}
.is_window a {
  position: relative;
  color: #fff;
  font-weight: 200;
  padding: 16px 16px 16px 16px;
  text-align: left;
  text-decoration: none;
  background-image: url(../img/module/icon/icon_window.svg);
  background-position: 97% 50%;
  background-repeat: no-repeat;
  background-size: 20px auto;
}

.is_pdf {
  border: none;
  width: 100%;
  border-radius: 6px;
}
.is_pdf a {
  position: relative;
  font-weight: 200;
  padding: 8px 24px 8px 8px;
  text-align: left;
  text-decoration: none;
  background-image: url(../img/module/icon/icon_pdf.svg);
  background-position: 97% 50%;
  background-repeat: no-repeat;
  background-size: 20px auto;
}

.is_line {
  display: block;
  margin: 0 auto 8px;
  overflow: hidden;
}
.is_line a {
  background-color: #00B900;
  border-radius: 4px;
}
.is_line a::after {
  position: absolute;
  top: 50%;
  right: 16px;
  content: "";
  width: 8px;
  height: 8px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: translate(0%, -50%) rotate(45deg);
}

.is_shawdow {
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
}

@media screen and (max-width: 767px) {
  .btn {
    display: block;
    text-align: center;
    width: 100%;
  }
  .btn a {
    position: relative;
    margin: 0 auto;
    display: block;
    font-size: 16px;
    font-weight: 200;
    padding: 12px 24px 12px 24px;
    text-align: left;
    text-decoration: none !important;
    border-radius: 4px;
  }
}
.is_rev {
  display: inline-block;
  margin: 8px auto 16px;
  overflow: hidden;
}
.is_rev a {
  background-color: #fff;
  border-radius: 4px;
  border: 1px solid rgba(0, 0, 0, 0.2);
  padding: 8px 8px 8px 32px;
}
.is_rev a::after {
  position: absolute;
  top: 50%;
  left: 12px;
  content: "";
  width: 8px;
  height: 8px;
  border-top: solid 1px #333;
  border-right: solid 1px #333;
  transform: translate(0%, -50%) rotate(225deg);
}

.nav_box {
  margin: 0 0 24px 0;
  background-color: #fafaf6;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 4px;
}
.nav_box h2 {
  color: #313131;
  position: relative;
  font-size: 16px;
  font-weight: normal;
  margin: 0;
}
.nav_box h2 span {
  position: absolute;
  top: 0;
  right: 0;
}
.nav_box h2 span a {
  position: relative;
  text-decoration: none;
  display: inline-block;
  color: #fff;
  padding: 4px 18px 4px 6px;
  background-color: #434343;
  font-size: 13px;
  border-radius: 4px;
}
.nav_box h2 span a::after {
  position: absolute;
  top: 50%;
  right: 8px;
  content: "";
  width: 4px;
  height: 4px;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  transform: translate(0%, -50%) rotate(45deg);
}
.nav_box ul {
  padding: 12px;
}
.nav_box ul li {
  font-size: 13px;
  margin: 0;
  padding: 10px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  line-height: 1.6;
}

.navlist ul li:last-child {
  border: none;
}

.navlist li ul {
  margin: 0;
}

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

link

-------------------------------- */
.box_link {
  border: 2px solid #333;
  display: inline-block;
  margin-bottom: 1em;
  background-color: #fff;
  width: 100%;
  border-radius: 4px;
}

.box_link a {
  position: relative;
  font-size: 1.6rem;
  color: #333;
  font-weight: 900;
  text-decoration: none;
  padding: 16px 24px 16px 16px;
  display: block;
  text-decoration: none;
}

.box_link > a::before {
  position: absolute;
  content: "";
  vertical-align: middle;
}

.box_link > a::after {
  position: absolute;
  top: 50%;
  right: 12px;
  content: "";
  width: 8px;
  height: 8px;
  border-top: solid 2px #333;
  border-right: solid 2px #333;
  -webkit-transform: translate(0%, -50%) rotate(45deg);
  -ms-transform: translate(0%, -50%) rotate(45deg);
  transform: translate(0%, -50%) rotate(45deg);
}

.box_link.is_pdf {
  border: none;
  background-color: #852029;
  width: 100%;
  border-radius: 4px;
  box-shadow: 0px 3px 8px -3px rgba(0, 0, 0, 0.6);
  -webkit-box-shadow: 0px 3px 8px -3px rgba(0, 0, 0, 0.6);
  -moz-box-shadow: 0px 3px 8px -3px rgba(0, 0, 0, 0.6);
}

.box_link.is_pdf a {
  position: relative;
  color: #fff;
  font-weight: 200;
  padding: 18px 12px 18px 12px;
  text-align: center;
  text-decoration: none;
}

.box_link.is_pdf > a::after {
  position: relative;
  top: auto;
  right: auto;
  content: "";
  width: 0px;
  height: 0px;
  border: none;
  -webkit-transform: none;
  transform: none;
}

.box_link.is_pdf > a {
  color: #fff;
  background-image: url(../img/module/icon/is_pdf.png);
  background-position: 18px 50%;
  background-repeat: no-repeat;
  background-size: 28px auto;
}

.buy_link {
  width: 100%;
  background: #deba1e;
  background: -moz-linear-gradient(top, #deba1e 0%, #da7c27 100%);
  background: -webkit-linear-gradient(top, #deba1e 0%, #da7c27 100%);
  background: linear-gradient(to bottom, #deba1e 0%, #da7c27 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#deba1e", endColorstr="#da7c27", GradientType=0);
  margin-top: 1em;
  margin-bottom: 1em;
  border-radius: 6px;
  box-shadow: 0px 3px 8px -3px rgba(0, 0, 0, 0.6);
  -webkit-box-shadow: 0px 3px 8px -3px rgba(0, 0, 0, 0.6);
  -moz-box-shadow: 0px 3px 8px -3px rgba(0, 0, 0, 0.6);
}

.buy_link a {
  position: relative;
  color: #fff;
  font-weight: 900;
  font-size: 2.1rem;
  text-decoration: none;
  display: inline-block;
  text-align: center;
  text-decoration: none;
  padding: 16px 24px 16px 16px;
  display: block;
  text-shadow: 0 0 4px rgba(0, 0, 0, 0.4);
}

.buy_link > a::before {
  position: absolute;
  content: "";
  vertical-align: middle;
}

.buy_link > a::after {
  position: absolute;
  top: 50%;
  right: 18px;
  content: "";
  width: 12px;
  height: 12px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  -webkit-transform: translate(0%, -50%) rotate(45deg);
  -ms-transform: translate(0%, -50%) rotate(45deg);
  transform: translate(0%, -50%) rotate(45deg);
}

@media screen and (max-width: 767px) {
  .buy_link a {
    font-size: 16px;
  }
}
.box_text {
  border: 2px solid #333;
  display: inline-block;
  margin-bottom: 1em;
  background-color: #fff;
  width: 100%;
  border-radius: 4px;
}

.box_text a {
  position: relative;
  color: #333;
  font-size: 1.8rem;
  line-height: 1.2;
  margin-bottom: 0;
  font-weight: 200;
  text-decoration: none;
  padding: 44px 24px 44px 36px;
  display: block;
  text-decoration: none;
}

.box_text > a::before {
  position: absolute;
  content: "";
  vertical-align: middle;
}

.box_text > a::after {
  position: absolute;
  top: 50%;
  right: 12px;
  content: "";
  width: 8px;
  height: 8px;
  border-top: solid 2px #333;
  border-right: solid 2px #333;
  -webkit-transform: translate(0%, -50%) rotate(45deg);
  -ms-transform: translate(0%, -50%) rotate(45deg);
  transform: translate(0%, -50%) rotate(45deg);
}

@media screen and (max-width: 767px) {
  .box_text a {
    padding: 24px 24px 24px 24px;
  }
}
/* ==========================================================================

  .linkArea

   ========================================================================== */
.linkArea {
  text-align: center;
  margin-top: 55px;
}

.linkArea a.btn {
  position: relative;
  z-index: 1;
  display: inline-block;
  width: 100%;
  max-width: 300px;
  font-size: 14px;
  font-family: "Roboto Mono", monospace;
  font-weight: 400;
  line-height: 65px;
  letter-spacing: 0.5px;
  text-align: center;
  color: #fefefe;
  background: #004097;
  margin: 0 5px;
  border: #004097 2px solid;
}

.linkArea a.btn:before {
  position: absolute;
  top: 0;
  right: 15px;
  z-index: 2;
  font-size: 16px;
  font-family: "themify";
  content: "\e649";
  font-weight: normal;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.linkArea a.btn:after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  display: block;
  background: #fefefe;
  content: "";
  z-index: -1;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform 0.7s ease;
}

.linkArea a.btn:hover:after {
  transform-origin: left top;
  -ms-transform: scale(1, 1);
  transform: scale(1, 1);
}

.linkArea a.btn:hover {
  color: #004097;
}

.linkArea a.btnBorder {
  color: #004097;
  background: #fefefe;
}

.linkArea a.btnBorder:hover {
  color: #fefefe;
}

.linkArea a.btnBorder:after {
  background: #004097;
}

/* ======== a.btnSmall ======== */
.linkArea a.btnSmall {
  max-width: 230px;
  font-size: 13px;
  line-height: 45px;
}

.linkArea a.btnSmall:before {
  right: 10px;
  font-size: 14px;
}

@media only screen and (max-width: 900px) {
  .linkArea {
    margin-top: 50px;
  }

  .linkArea a.btn {
    line-height: 60px;
    margin: 0 5px;
  }

  .linkArea a.btn:after {
    display: none;
  }

  .linkArea a.btn:hover {
    color: #fefefe;
  }

  .linkArea a.btnBorder:hover {
    color: #004097;
  }
}
@media screen and (max-width: 767px) {
  .linkArea {
    margin-top: 45px;
  }

  .linkArea a.btn {
    display: block;
    max-width: 280px;
    line-height: 50px;
    margin: 7px auto 0;
    border: #004097 2px solid;
  }

  .linkArea a.btn:first-child {
    margin-top: 0;
  }

  .linkArea a.btn:before {
    font-size: 12px;
  }
}
.is_one {
  width: 100%;
}

.is_two {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .box_link {
    font-size: 1.6rem;
  }

  .is_one {
    width: 100%;
  }
}
.cell.is-empty {
  height: 0;
  padding-top: 0;
  padding-bottom: 0;
  margin-top: 0;
  margin-bottom: 0;
}
