@charset "UTF-8";
:root {
  --i_padding: 20px; /*左右余白*/
}

@media screen and (max-width: 900px) {
  header > nav {
    display: none !important;
  }
  header nav {
    visibility: hidden;
  }
  header .header_contents nav {
    visibility: visible;
  }
  header h1 {
    order: 2;
    visibility: hidden;
  }
  header .header_contents h1 {
    order: inherit;
    visibility: visible;
  }
}
/*--------------cmn--------------*/

img#imPageviewImgBcnV2 {
  display: block;
  height: 0;
}
* {
  margin: 0;
  padding: 0;
  list-style: none;
  outline: 0;
  border-radius: 0.1px;
}
html {
  overflow-x: hidden;
}
body {
  width: 100% !important;
  overflow-x: hidden;
  overflow-x: clip;
}
.block_html ul li,
.block_html ol li {
  list-style-position: inside;
  list-style-type: disc;
  padding-left: 10px;
}
.block_html ol li {
  list-style-type: decimal;
}
main {
  overflow: hidden;
  overflow: clip;
  overflow-wrap: break-word;
}
img {
  height: auto;
}
/*
body:not([data-blog="kantan"]) img{
	width: auto;
}
*/
img,
a img {
  border: 0;
  vertical-align: top;
  backface-visibility: hidden;
}
pre {
  white-space: pre-wrap;
}
a[href='/gnaviplus/'] {
  pointer-events: none;
}
body[data-blog='kantan'] .entry_body a {
  color: var(--i_main_color);
  text-decoration: underline;
}
body[data-blog='kantan'] .entry_body > .composite_box01:first-child .wrapper_item {
  justify-content: center;
}
body:not(.edit_view) a[href*='javascript:void(0)'] {
  pointer-events: none;
}
button {
  background: transparent;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: 0.001dpcm) {
  body {
    /*font-weight: 400 !important;*/
  }
}
strong {
  font-weight: bold;
}
article,
aside,
dialog,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}
blockquote,
q {
  quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}
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 #000;
  cursor: help;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
input,
select {
  vertical-align: middle;
}
.clear {
  clear: both;
}
.st {
  font-weight: bold;
}
.mb40 {
  margin-bottom: 40px !important;
}
.mbx {
  margin-bottom: 20px !important;
}
.inner_item_txt a,
.inner_item_txt_before a,
.inner_item_txt_after a,
.reca a {
  /*テキストリンク*/
  text-decoration: underline;
  text-decoration-color: ; /*cmn.jsにて文字色の透過0.4*/
  color: inherit;
}

.submit span:before,
.submit:before,
.submit span:after,
.submit:after,
.contents_btn01:before,
.contents_btn01:after,
.btn:before,
.btn:after {
  pointer-events: none;
}
.reca {
  padding-top: 5px;
  text-align: left;
  display: inline-block;
}

.cap {
  font-size: 0.9em;
}

.no_img {
  background: var(--i_noimg_bg_color, rgba(200, 200, 200, 0.3));
}
.no_img img {
  display: block;
  object-fit: contain !important;
  object-position: 50% 50% !important;
  position: relative;
  transform: scale(0.7) !important;
  transform-origin: center !important;
  margin: 0 !important;
}
.grayscale .no_img img {
  filter: contrast(0%);
  opacity: 0.3 !important;
}

br.spbr {
  display: none !important;
}
@media screen and (max-width: 768px) {
  br.spbr {
    display: inline !important;
  }
}

a.dictionary_link {
  padding: 0 !important;
  margin: 0 !important;
  background: none !important;
  color: inherit !important;
}
a.dictionary_link:before,
a.dictionary_link:after {
  display: none;
}

i.ib {
  font-style: inherit;
  display: inline-block;
}

.contents_related .content_wrapper > h2:first-child,
.contents_related .heading p:first-child:last-child,
.contents_related_tags .heading p:first-child:last-child {
  font-size: 2.6rem;
}

/*--fonts--*/

/*ゴシック×ゴシック*/
body,
body #setting_modal .heading_design * {
  font-family: 'Noto Sans JP', 'Open Sans', 'Helvetica Neue', Helvetica, Arial, Verdana,
    '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ Pro W3',
    'Hiragino Kaku Gothic Pro', 'Meiryo UI', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic',
    sans-serif;
}
body.ft10,
body.ft10 #setting_modal .heading_design * {
}
body.ft01,
body.ft01 #setting_modal .heading_design * {
  /*font-weight = 300/500/900*/
  font-family: 'Oswald', 'Noto Sans JP', 'Open Sans', 'Helvetica Neue', Helvetica, Arial, Verdana,
    '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ Pro W3',
    'Hiragino Kaku Gothic Pro', 'Meiryo UI', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic',
    sans-serif;
}
body.ft02,
body.ft02 #setting_modal .heading_design * {
  /*font-weight = 300/500/900*/
  font-family: 'Mukta', 'Noto Sans JP', 'Open Sans', 'Helvetica Neue', Helvetica, Arial, Verdana,
    '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ Pro W3',
    'Hiragino Kaku Gothic Pro', 'Meiryo UI', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic',
    sans-serif;
}
body.ft03,
body.ft03 #setting_modal .heading_design * {
  /*font-weight = 100/400/900*/
  font-family: 'Roboto', 'Noto Sans JP', 'Open Sans', 'Helvetica Neue', Helvetica, Arial, Verdana,
    '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ Pro W3',
    'Hiragino Kaku Gothic Pro', 'Meiryo UI', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic',
    sans-serif;
}

/*明朝×ゴシック*/
body.ft04 h2,
body.ft04 h3,
body.ft04 h4,
body.ft04 h5,
body.ft04 h6,
body.ft04 .block_header_1 p,
body.ft04 .block_header_2 p,
body.ft04 .block_header_3 p,
body.ft04 .block_header_4 p,
body.ft04 .block_header_5 p,
body.ft04 .block_header_6 p,
body.ft04 .contents_faq01 dt:before,
body.ft04 .contents_faq01 dd:before,
body.ft04 header .tel a,
body.ft04 header .tel span,
body.ft04 .widget_tel .inner_item_tel a,
body.ft04 .widget_tel .inner_item_tel span,
body.ft04 #lv,
body.ft04 #setting_modal .heading_design *,
body.ft04 nav,
body.ft04 .btn,
body.ft04 .contents_btn01,
body.ft04 .submit,
body.ft04 .mv_text,
body.ft04 .fixbtn,
body.ft04 footer {
  font-family: 'Noto Serif JP', 'Times New Roman', '游明朝', 'Yu Mincho', '游明朝体', 'YuMincho',
    'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', 'HiraMinProN-W3', 'HGS明朝E', 'ＭＳ Ｐ明朝',
    'MS PMincho', serif;
}
body.ft05 h2,
body.ft05 h3,
body.ft05 h4,
body.ft05 h5,
body.ft05 h6,
body.ft05 .block_header_1 p,
body.ft05 .block_header_2 p,
body.ft05 .block_header_3 p,
body.ft05 .block_header_4 p,
body.ft05 .block_header_5 p,
body.ft05 .block_header_6 p,
body.ft05 .contents_faq01 dt:before,
body.ft05 .contents_faq01 dd:before,
body.ft05 header .tel a,
body.ft05 header .tel span,
body.ft05 .widget_tel .inner_item_tel a,
body.ft05 .widget_tel .inner_item_tel span,
body.ft05 #lv,
body.ft05 #setting_modal .heading_design *,
body.ft05 nav,
body.ft05 .btn,
body.ft05 .contents_btn01,
body.ft05 .submit,
body.ft05 .mv_text,
body.ft05 .fixbtn,
body.ft05 footer {
  /*font-weight = 400/700/900*/
  font-family: 'Playfair Display', 'Noto Serif JP', '游明朝', 'Yu Mincho', '游明朝体', 'YuMincho',
    'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', 'HiraMinProN-W3', 'HGS明朝E', 'ＭＳ Ｐ明朝',
    'MS PMincho', serif;
}
body.ft06 h2,
body.ft06 h3,
body.ft06 h4,
body.ft06 h5,
body.ft06 h6,
body.ft06 .block_header_1 p,
body.ft06 .block_header_2 p,
body.ft06 .block_header_3 p,
body.ft06 .block_header_4 p,
body.ft06 .block_header_5 p,
body.ft06 .block_header_6 p,
body.ft06 .contents_faq01 dt:before,
body.ft06 .contents_faq01 dd:before,
body.ft06 header .tel a,
body.ft06 header .tel span,
body.ft06 .widget_tel .inner_item_tel a,
body.ft06 .widget_tel .inner_item_tel span,
body.ft06 #lv,
body.ft06 #setting_modal .heading_design *,
body.ft06 nav,
body.ft06 .btn,
body.ft06 .contents_btn01,
body.ft06 .submit,
body.ft06 .mv_text,
body.ft06 .fixbtn,
body.ft06 footer {
  /*font-weight = 400/700/900*/
  font-family: 'Cardo', 'Noto Serif JP', '游明朝', 'Yu Mincho', '游明朝体', 'YuMincho',
    'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', 'HiraMinProN-W3', 'HGS明朝E', 'ＭＳ Ｐ明朝',
    'MS PMincho', serif;
}

/*明朝×明朝*/
body.ft07,
body.ft08,
body.ft09 {
  font-family: 'Noto Serif JP', 'Times New Roman', '游明朝', 'Yu Mincho', '游明朝体', 'YuMincho',
    'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', 'HiraMinProN-W3', 'HGS明朝E', 'ＭＳ Ｐ明朝',
    'MS PMincho', serif;
}
body.ft08 h2,
body.ft08 h3,
body.ft08 h4,
body.ft08 h5,
body.ft08 h6,
body.ft08 .block_header_1 p,
body.ft08 .block_header_2 p,
body.ft08 .block_header_3 p,
body.ft08 .block_header_4 p,
body.ft08 .block_header_5 p,
body.ft08 .block_header_6 p,
body.ft08 .contents_faq01 dt:before,
body.ft08 .contents_faq01 dd:before,
body.ft08 header .tel a,
body.ft08 header .tel span,
body.ft08 .widget_tel .inner_item_tel a,
body.ft08 .widget_tel .inner_item_tel span,
body.ft08 #lv,
body.ft08 #setting_modal .heading_design *,
body.ft08 nav,
body.ft08 .btn,
body.ft08 .contents_btn01,
body.ft08 .submit,
body.ft08 .mv_text,
body.ft08 .fixbtn {
  /*font-weight = 400/700/900*/
  font-family: 'Playfair Display', 'Noto Serif JP', '游明朝', 'Yu Mincho', '游明朝体', 'YuMincho',
    'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', 'HiraMinProN-W3', 'HGS明朝E', 'ＭＳ Ｐ明朝',
    'MS PMincho', serif;
}
body.ft09 h2,
body.ft09 h3,
body.ft09 h4,
body.ft09 h5,
body.ft09 h6,
body.ft09 .block_header_1 p,
body.ft09 .block_header_2 p,
body.ft09 .block_header_3 p,
body.ft09 .block_header_4 p,
body.ft09 .block_header_5 p,
body.ft09 .block_header_6 p,
body.ft09 .contents_faq01 dt:before,
body.ft09 .contents_faq01 dd:before,
body.ft09 header .tel a,
body.ft09 header .tel span,
body.ft09 .widget_tel .inner_item_tel a,
body.ft09 .widget_tel .inner_item_tel span,
body.ft09 #lv,
body.ft09 #setting_modal .heading_design *,
body.ft09 nav,
body.ft09 .btn,
body.ft09 .contents_btn01,
body.ft09 .submit,
body.ft09 .mv_text,
body.ft09 .fixbtn {
  /*font-weight = 400/700/900*/
  font-family: 'Cardo', 'Noto Serif JP', '游明朝', 'Yu Mincho', '游明朝体', 'YuMincho',
    'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', 'HiraMinProN-W3', 'HGS明朝E', 'ＭＳ Ｐ明朝',
    'MS PMincho', serif;
}

/*--text-align--*/

.align-left {
  text-align: left;
}
.align-center {
  text-align: center;
}
.align-right {
  text-align: right;
}
@media screen and (max-width: 800px) {
  main > section:not(.composite_box01).align-center .inner_item_txt,
  main > div:not(.composite_box01):not(.widget_tel).align-center .inner_item_txt,
  aside > section:not(.composite_box01).align-center .inner_item_txt,
  aside > div:not(.composite_box01).align-center .inner_item_txt,
  #primary > div:not(.composite_box01).align-center .inner_item_txt,
  #primary > div:not(.composite_box01).align-center .inner_item_txt {
    text-align: left;
  }
}

/*--block_table text-align--*/

div[class*='block_table'] table.t_align_left td {
  text-align: left;
}
div[class*='block_table'] table.t_align_center td {
  text-align: center;
}
div[class*='block_table'] table.t_align_right td {
  text-align: right;
}

/*--余白設定--*/

/*---余白---*/

.entry_body > div.pt100,
main section.pt100,
main > div.pt100,
#primary > div.pt100,
aside > section.pt100,
aside > div.pt100 {
  padding-top: 100px;
}
.entry_body > div.pt90,
main section.pt90,
main > div.pt90,
#primary > div.pt90,
aside > section.pt90,
aside > div.pt90 {
  padding-top: 90px;
}
.entry_body > div.pt80,
main section.pt80,
main > div.pt80,
#primary > div.pt80,
aside > section.pt80,
aside > div.pt80 {
  padding-top: 80px;
}
.entry_body > div.pt70,
main section.pt70,
main > div.pt70,
#primary > div.pt70,
aside > section.pt70,
aside > div.pt70 {
  padding-top: 70px;
}
.entry_body > div.pt60,
main section.pt60,
main > div.pt60,
#primary > div.pt60,
aside > section.pt60,
aside > div.pt60 {
  padding-top: 60px;
}
.entry_body > div.pt50,
main section.pt50,
main > div.pt50,
#primary > div.pt50,
aside > section.pt50,
aside > div.pt50 {
  padding-top: 50px;
}
.entry_body > div.pt40,
main section.pt40,
main > div.pt40,
#primary > div.pt40,
aside > section.pt40,
aside > div.pt40 {
  padding-top: 40px;
}
.entry_body > div.pt30,
main section.pt30,
main > div.pt30,
#primary > div.pt30,
aside > section.pt30,
aside > div.pt30 {
  padding-top: 30px;
}
.entry_body > div.pt20,
main section.pt20,
main > div.pt20,
#primary > div.pt20,
aside > section.pt20,
aside > div.pt20 {
  padding-top: 20px;
}
.entry_body > div.pt10,
main section.pt10,
main > div.pt10,
#primary > div.pt10,
aside > section.pt10,
aside > div.pt10 {
  padding-top: 10px;
}
.entry_body > div.pt0,
main section.pt0,
main > div.pt0,
#primary > div.pt0,
aside > section.pt0,
aside > div.pt0 {
  padding-top: 0;
}
.entry_body > div.pb100,
main section.pb100,
main > div.pb100,
#primary > div.pb100,
aside > section.pb100,
aside > div.pb100 {
  padding-bottom: 100px;
}
.entry_body > div.pb90,
main section.pb90,
main > div.pb90,
#primary > div.pb90,
aside > section.pb90,
aside > div.pb90 {
  padding-bottom: 90px;
}
.entry_body > div.pb80,
main section.pb80,
main > div.pb80,
#primary > div.pb80,
aside > section.pb80,
aside > div.pb80 {
  padding-bottom: 80px;
}
.entry_body > div.pb70,
main section.pb70,
main > div.pb70,
#primary > div.pb70,
aside > section.pb70,
aside > div.pb70 {
  padding-bottom: 70px;
}
.entry_body > div.pb60,
main section.pb60,
main > div.pb60,
#primary > div.pb60,
aside > section.pb60,
aside > div.pb60 {
  padding-bottom: 60px;
}
.entry_body > div.pb50,
main section.pb50,
main > div.pb50,
#primary > div.pb50,
aside > section.pb50,
aside > div.pb50 {
  padding-bottom: 50px;
}
.entry_body > div.pb40,
main section.pb40,
main > div.pb40,
#primary > div.pb40,
aside > section.pb40,
aside > div.pb40 {
  padding-bottom: 40px;
}
.entry_body > div.pb30,
main section.pb30,
main > div.pb30,
#primary > div.pb30,
aside > section.pb30,
aside > div.pb30 {
  padding-bottom: 30px;
}
.entry_body > div.pb20,
main section.pb20,
main > div.pb20,
#primary > div.pb20,
aside > section.pb20,
aside > div.pb20 {
  padding-bottom: 20px;
}
.entry_body > div.pb10,
main section.pb10,
main > div.pb10,
#primary > div.pb10,
aside > section.pb10,
aside > div.pb10 {
  padding-bottom: 10px;
}
.entry_body > div.pb0,
main section.pb0,
main > div.pb0,
#primary > div.pb0,
aside > section.pb0,
aside > div.pb0 {
  padding-bottom: 0;
}

@media screen and (max-width: 600px) {
  .entry_body > div.pt90,
  main section.pt90,
  main > div.pt90,
  #primary > div.pt90,
  aside > section.pt90,
  aside > div.pt90 {
    padding-top: 80px;
  }
  .entry_body > div.pt80,
  main section.pt80,
  main > div.pt80,
  #primary > div.pt80,
  aside > section.pt80,
  aside > div.pt80 {
    padding-top: 65px;
  }
  .entry_body > div.pt70,
  main section.pt70,
  main > div.pt70,
  #primary > div.pt70,
  aside > section.pt70,
  aside > div.pt70 {
    padding-top: 55px;
  }
  .entry_body > div.pt60,
  main section.pt60,
  main > div.pt60,
  #primary > div.pt60,
  aside > section.pt60,
  aside > div.pt60 {
    padding-top: 50px;
  }
  .entry_body > div.pt50,
  main section.pt50,
  main > div.pt50,
  #primary > div.pt50,
  aside > section.pt50,
  aside > div.pt50 {
    padding-top: 45px;
  }
  .entry_body > div.pb90,
  main section.pb90,
  main > div.pb90,
  #primary > div.pb90,
  aside > section.pb90,
  aside > div.pb90 {
    padding-bottom: 80px;
  }
  .entry_body > div.pb80,
  main section.pb80,
  main > div.pb80,
  #primary > div.pb80,
  aside > section.pb80,
  aside > div.pb80 {
    padding-bottom: 65px;
  }
  .entry_body > div.pb70,
  main section.pb70,
  main > div.pb70,
  #primary > div.pb70,
  aside > section.pb70,
  aside > div.pb70 {
    padding-bottom: 55px;
  }
  .entry_body > div.pb60,
  main section.pb60,
  main > div.pb60,
  #primary > div.pb60,
  aside > section.pb60,
  aside > div.pb60 {
    padding-bottom: 50px;
  }
  .entry_body > div.pb50,
  main section.pb50,
  main > div.pb50,
  #primary > div.pb50,
  aside > section.pb50,
  aside > div.pb50 {
    padding-bottom: 45px;
  }
}

/*----------------------------load-----------------------------------*/

#load {
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  z-index: 100;
}
#load div:nth-of-type(1) {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.8s ease-in-out;
}
#load .loader,
.popup .loader {
  position: relative;
  display: inline-block;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  animation: spin 0.75s infinite linear;
  position: absolute;
  top: calc(50% - 60px);
  left: calc(50% - 25px);
  display: block;
}
#load .loader::before,
#load .loader::after,
.popup .loader::before,
.popup .loader::after {
  left: -1px;
  top: -1px;
  display: none;
  position: absolute;
  content: '';
  width: inherit;
  height: inherit;
  border: inherit;
  border-radius: inherit;
}
#load .loader,
#load .loader::before,
.popup .loader,
.popup .loader::before {
  display: inline-block;
  border-bottom-color: transparent !important;
  border-left-color: transparent !important;
  border-right-color: transparent !important;
}
#load .loader::before,
.popup .loader::before {
  animation: spin 1.5s infinite ease;
}
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
#load img {
  display: block;
  opacity: 0;
  z-index: 100;
  max-width: 150px;
  max-height: 80px;
  position: absolute;
  top: calc(50% + 10px);
  left: 0;
  right: 0;
  margin: 0 auto;
}
#load img.loaded {
  opacity: 1;
  transition: 0.4s ease-in-out;
}

/*---*/

#load.load2 {
  opacity: 1 !important;
}
#load.load2 div:nth-of-type(1) {
  transition: 0.5s top cubic-bezier(0.895, 0.03, 0.685, 0.22);
}
#load.load2.complete div:nth-of-type(1) {
  top: -100vh;
}
#load.load2 .loader,
#load.load2 img {
  transition: 0.5s opacity;
}
#load.load2.complete .loader,
#load.load2.complete img {
  opacity: 0;
}

/*---*/

#load.load3 {
  background: var(--i_bg_color);
  opacity: 1 !important;
}
#load.load3.complete {
  animation: load3_1 0.8s forwards cubic-bezier(0.86, 0, 0.07, 1);
}
@keyframes load3_1 {
  0%,
  45% {
    background: var(--i_bg_color);
  }
  100% {
    background: rgba(0, 0, 0, 0);
  }
}
#load.load3 div:nth-of-type(1) {
  z-index: 101;
  height: 0;
  top: 100vh;
  background: var(--i_main_color);
  transition: none;
}
#load.load3.complete div:nth-of-type(1) {
  animation: load3_2 0.8s forwards cubic-bezier(0.86, 0, 0.07, 1);
}
@keyframes load3_2 {
  0% {
    height: 0;
    top: 100vh;
  }
  45%,
  55% {
    height: 100vh;
    top: 0;
  }
  100% {
    height: 0;
    top: 0;
  }
}
#load.load3 .loader {
  animation: none !important;
  border-radius: 0;
  left: 0;
  top: 50%;
  width: 0;
  height: 1px;
  display: block;
  transition: 0.2s;
}
#load.load3 .loader:before,
#load.load3 .loader:after {
  display: none;
}
#load.load3.complete img {
  animation: load3_3 0.8s forwards cubic-bezier(0.86, 0, 0.07, 1);
}
@keyframes load3_3 {
  0%,
  45% {
    opacity: 1;
  }
  50%,
  100% {
    opacity: 0;
  }
}

/*---*/

#load.load4 {
  opacity: 1 !important;
}
#load.load4.complete[data-anime1='0'] div:nth-of-type(1) {
  transform-origin: 0 0;
  animation: load4_1 0.8s forwards cubic-bezier(0.86, 0, 0.07, 1);
}
#load.load4.complete[data-anime1='1'] div:nth-of-type(1) {
  transform-origin: 0 100%;
  animation: load4_2 0.8s forwards cubic-bezier(0.86, 0, 0.07, 1);
}
@keyframes load4_1 {
  50% {
    opacity: 1;
    left: 40%;
    transform: skewX(30deg);
  }
  100% {
    opacity: 0.5;
    left: 100%;
    transform: skewX(0);
  }
}
@keyframes load4_2 {
  50% {
    opacity: 1;
    left: 40%;
    transform: skewX(-30deg);
  }
  100% {
    opacity: 0.5;
    left: 100%;
    transform: skewX(0);
  }
}
#load.load4 .loader,
#load.load4 img {
  transition: 0.5s opacity;
}
#load.load4.complete .loader,
#load.load4.complete img {
  opacity: 0;
}
@media screen and (max-width: 768px) {
  #load.load4.complete[data-anime1='0'] div:nth-of-type(1),
  #load.load4.complete[data-anime1='1'] div:nth-of-type(1) {
    animation: none;
    transform: none;
  }
  #load.load4.complete div:nth-of-type(1) {
    transition: 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) !important;
    width: 0;
    margin-left: 100%;
  }
}

/*---*/

#load.load5 {
  background-color: transparent;
}
#load.load5:before,
#load.load5:after {
  content: '';
  display: block;
  width: 100%;
  height: 50%;
  position: absolute;
  top: 0;
  left: 0;
  background: var(--i_bg_color);
  z-index: 1;
  transition: 0.5s cubic-bezier(0.86, 0, 0.07, 1);
}
#load.load5:after {
  top: 50%;
}
#load.load5.complete:before {
  height: 0;
}
#load.load5.complete:after {
  height: 0;
  top: 100%;
}
#load.load5 div:nth-of-type(1) {
  display: none;
}
#load.load5 .loader {
  animation: none !important;
  border-radius: 0;
  left: 0;
  top: 50%;
  width: 0;
  height: 2px;
  display: block;
  transition: 0.1s;
  border: none;
  background: var(--i_main_color) !important;
  z-index: 2;
}
#load.load5.complete .loader {
  opacity: 0;
}
#load.load5 .loader:before,
#load.load5 .loader:after {
  display: none;
}
#load.load5.complete img {
  opacity: 0;
}

/*---*/

#load.load6 {
  transition: 0.5s ease-in-out 0.6s !important;
  backdrop-filter: blur(5px);
}
#load.load6.complete {
  opacity: 0;
}
#load.load6 div:nth-of-type(1) {
  background-color: var(--i_bg_color);
  transition: 0.5s ease-in-out 0.4s !important;
}
#load.load6.complete div:nth-of-type(1) {
  opacity: 0;
}
#load.load6 .loader {
  animation: none !important;
  border-radius: 0;
  left: 0;
  top: 50%;
  width: 0;
  height: 1px;
  display: block;
  transition: 0.2s;
  border: none;
  background-color: var(--i_main_color);
  height: 5px;
  top: auto;
  bottom: 0;
}
#load.load6 .loader:before,
#load.load6 .loader:after {
  display: none;
}
#load.load6 img {
  top: 50%;
  transform: translateY(-50%);
  transition: 0.5s cubic-bezier(0.55, 0.055, 0.675, 0.19) !important;
}
#load.load6.complete img {
  transform: scale(1.2) translateY(-50%);
  filter: blur(20px);
  opacity: 0;
}

/*---*/

#load.load7 {
  background-color: var(--i_bg_color);
}
#load.load7.complete {
  background-color: transparent;
  opacity: 1 !important;
}
#load.load7 div:nth-of-type(1) {
  aspect-ratio: 1;
  height: 0;
  width: 0;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 100%;
  border: 0 solid var(--i_main_color);
  background-color: var(--i_bg_color);
}
@media (orientation: portrait) {
  /*縦長*/
  #load.load7 div:nth-of-type(1) {
    animation: load7_1 0.4s forwards ease-in-out;
  }
  #load.load7.complete div:nth-of-type(1) {
    animation: load7_3 0.4s forwards ease-in-out;
  }
}
@media (orientation: landscape) {
  /*横長*/
  #load.load7 div:nth-of-type(1) {
    animation: load7_2 0.4s forwards ease-in-out;
  }
  #load.load7.complete div:nth-of-type(1) {
    animation: load7_4 0.4s forwards ease-in-out;
  }
}
@keyframes load7_1 {
  /*縦長*/
  0% {
    opacity: 0;
    border-width: 0;
  }
  100% {
    opacity: 1;
    border-width: 70.8vh;
  }
}
@keyframes load7_2 {
  /*横長*/
  0% {
    opacity: 0;
    border-width: 0;
  }
  100% {
    opacity: 1;
    border-width: 70.8vw;
  }
}
@keyframes load7_3 {
  /*縦長complete*/
  0% {
    border-width: 70.8vh;
    height: 0;
    width: 0;
  }
  100% {
    background-color: transparent;
    border-width: 0;
    height: 141.5vh;
    width: 141.5vh;
  }
}
@keyframes load7_4 {
  /*横長complete*/
  0% {
    border-width: 70.8vw;
    width: 0;
    height: 0;
  }
  100% {
    background-color: transparent;
    border-width: 0;
    width: 141.5vw;
    height: 141.5vw;
  }
}
#load.load7 .loader {
  animation: none !important;
  border-radius: 0;
  left: 0;
  top: 50%;
  width: 0;
  height: 1px;
  display: block;
  transition: 0.2s;
  border: none;
  background-color: var(--i_bg_color);
  height: 5px;
  top: auto;
  bottom: 0;
}
#load.load7 .loader:before,
#load.load7 .loader:after {
  display: none;
}
#load.load7 img {
  top: 50%;
  transform: translateY(-50%);
  transition: 0.3s;
}
#load.load7.complete img {
  opacity: 0;
}

/*---*/

#load.load8 {
  background-color: var(--i_main_color);
}
#load.load8 .loader {
  animation: none !important;
  border-radius: 0;
  left: 0;
  top: 50%;
  width: 0;
  height: 1px;
  display: block;
  transition: 0.2s;
  border: none;
  background-color: var(--i_bg_color);
  height: 5px;
  top: auto;
  bottom: 0;
}
#load.load8 .loader:before,
#load.load8 .loader:after {
  display: none;
}
#load.load8 div:nth-of-type(1) {
  border-radius: 100%;
  height: 7px;
  width: 7px;
  background-color: var(--i_bg_color);
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  top: -90px;
  bottom: 0;
  box-shadow: 0 30px 0 0 var(--i_bg_color), 0 -30px 0 0 var(--i_bg_color),
    30px 0 0 0 var(--i_bg_color), -30px 0 0 0 var(--i_bg_color), 30px 30px 0 0 var(--i_bg_color),
    -30px -30px 0 0 var(--i_bg_color), 30px -30px 0 0 var(--i_bg_color),
    -30px 30px 0 0 var(--i_bg_color);
  animation: load8 3s infinite cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
#load.load8:not(:has(img)) div:nth-of-type(1) {
  top: 0;
}
@keyframes load8 {
  0% {
    transform: rotate(0deg);
    box-shadow: 0 30px 0 0 var(--i_bg_color), 0 -30px 0 0 var(--i_bg_color),
      30px 0 0 0 var(--i_bg_color), -30px 0 0 0 var(--i_bg_color), 30px 30px 0 0 var(--i_bg_color),
      -30px -30px 0 0 var(--i_bg_color), 30px -30px 0 0 var(--i_bg_color),
      -30px 30px 0 0 var(--i_bg_color);
  }
  25% {
    transform: rotate(90deg);
    box-shadow: 0 30px 0 0 var(--i_bg_color), 0 -30px 0 0 var(--i_bg_color),
      30px 0 0 0 var(--i_bg_color), -30px 0 0 0 var(--i_bg_color), -30px -30px 0 0 var(--i_bg_color),
      30px 30px 0 0 var(--i_bg_color), -30px 30px 0 0 var(--i_bg_color),
      30px -30px 0 0 var(--i_bg_color);
  }
  50% {
    transform: rotate(180deg);
    box-shadow: 0 -30px 0 0 var(--i_bg_color), 0 30px 0 0 var(--i_bg_color),
      -30px 0 0 0 var(--i_bg_color), 30px 0 0 0 var(--i_bg_color), -30px -30px 0 0 var(--i_bg_color),
      30px 30px 0 0 var(--i_bg_color), -30px 30px 0 0 var(--i_bg_color),
      30px -30px 0 0 var(--i_bg_color);
  }
  75% {
    transform: rotate(270deg);
    box-shadow: 0 0 0 0 var(--i_bg_color), 0 0 0 0 var(--i_bg_color), 0 0 0 0 var(--i_bg_color),
      0 0 0 0 var(--i_bg_color), 0 0 0 0 var(--i_bg_color), 0 0 0 0 var(--i_bg_color),
      0 0 0 0 var(--i_bg_color), 0 0 0 0 var(--i_bg_color);
  }
  100% {
    transform: rotate(360deg);
    box-shadow: 0 30px 0 0 var(--i_bg_color), 0 -30px 0 0 var(--i_bg_color),
      30px 0 0 0 var(--i_bg_color), -30px 0 0 0 var(--i_bg_color), 30px 30px 0 0 var(--i_bg_color),
      -30px -30px 0 0 var(--i_bg_color), 30px -30px 0 0 var(--i_bg_color),
      -30px 30px 0 0 var(--i_bg_color);
  }
}
#load.load8 img {
  top: calc(50% + 20px);
}
body:has(#load.load8):before {
  content: '';
  display: block;
  width: 1px;
  height: 0;
  margin-top: -80px;
  transition: 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}
body:has(#load.load8.complete):before {
  margin-top: 0;
}

/*---*/

#load.load9 {
  background-color: var(--i_bg_color);
  transition: 0s 0.6s;
  opacity: 1 !important;
  display: block !important;
}
#load.load9.complete {
  background-color: transparent;
  pointer-events: none;
}
#load.load9 .loader {
  animation: none !important;
  border-radius: 0;
  left: 0;
  top: 50%;
  width: 0;
  height: 1px;
  display: block;
  transition: 0.2s;
  border: none;
  background-color: var(--i_main_color);
  height: 5px;
  top: 0;
}
#load.load9 .loader:before,
#load.load9 .loader:after {
  display: none;
}
#load.load9 div:nth-of-type(1) {
  background-color: var(--i_main_color);
  border-bottom-right-radius: 100vw 50vw;
  border-bottom-left-radius: 100vw 50vw;
  margin: 0 -20vw;
  padding: 0 20vw;
  top: -100%;
  z-index: 6;
}
#load.load9.complete div:nth-of-type(1) {
  animation: load9 1.2s forwards cubic-bezier(0.645, 0.045, 0.355, 1);
}
@keyframes load9 {
  0% {
    border-bottom-right-radius: 100vw 50vw;
    border-bottom-left-radius: 100vw 50vw;
    margin: 0 -20vw;
    padding: 0 20vw;
    top: -100%;
  }
  50% {
    border-bottom-right-radius: 100vw 0;
    border-bottom-left-radius: 100vw 0;
    border-top-right-radius: 100vw 0;
    border-top-left-radius: 100vw 0;
    margin: 0 -20vw;
    padding: 0 20vw;
    top: 0;
  }
  100% {
    border-top-right-radius: 100vw 50vw;
    border-top-left-radius: 100vw 50vw;
    margin: 0 -20vw;
    padding: 0 20vw;
    top: 100%;
  }
}
#load.load9 img {
  top: 50%;
  transform: translateY(-100%);
  transition: 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  z-index: 5;
}
#load.load9.complete img {
  top: calc(50% + 80px);
  opacity: 0;
}
body:has(#load.load9):before {
  content: '';
  display: block;
  width: 1px;
  height: 0;
  margin-top: -80px;
  transition: 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0.6s;
}
body:has(#load.load9.complete):before {
  margin-top: 0;
}

/*---*/

#load.load10 .loader,
#load.load10 .loader::before,
#load.load10 .loader:after {
  animation: none;
  border: none;
  border-radius: 0;
}
#load.load10 {
  background: var(--i_bg_color);
  width: 100%;
  height: 100vh;
}
#load.load10 img {
  top: 50%;
  transform: translateY(-50%);
}
#load.load10 div.loader {
  opacity: 1 !important;
  background-color: transparent !important;
}
#load.load10 div:nth-of-type(1) {
  background: var(--i_main_color) !important;
}
#load.load10 div:nth-of-type(1),
#load.load10 div.loader {
  background: none;
  position: absolute;
  left: -15%;
  top: -15%;
  width: 130%;
  height: 130%;
  -webkit-transform: skewY(-8deg);
  transform: skewY(-8deg);
  border: none;
}
#load.load10 div:nth-of-type(1):before,
#load.load10 div:nth-of-type(1):after,
#load.load10 div.loader:before,
#load.load10 div.loader:after {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 100%;
  background: var(--i_bg_color);
  -webkit-transition: width 0.8s ease;
  transition: width 0.8s ease;
  border: none;
}
#load.load10 div:nth-of-type(1):before {
  -webkit-clip-path: polygon(0 0, 100% 0%, 100% 26%, 0 26%);
  clip-path: polygon(0 0, 100% 0%, 100% 26%, 0 26%);
}
#load.load10 div:nth-of-type(1):after {
  -webkit-clip-path: polygon(0 25%, 100% 25%, 100% 51%, 0 51%);
  clip-path: polygon(0 25%, 100% 25%, 100% 51%, 0 51%);
  -webkit-transition-delay: 0.1s;
  transition-delay: 0.1s;
}
#load.load10 div.loader:before {
  -webkit-clip-path: polygon(0 50%, 100% 50%, 100% 76%, 0 76%);
  clip-path: polygon(0 50%, 100% 50%, 100% 76%, 0 76%);
  transition-delay: 0.2s;
}
#load.load10 div.loader:after {
  -webkit-clip-path: polygon(0 75%, 100% 75%, 100% 100%, 0 100%);
  clip-path: polygon(0 75%, 100% 75%, 100% 100%, 0 100%);
  transition-delay: 0.3s;
}
#load.load10.complete div:nth-of-type(1):before,
#load.load10.complete div:nth-of-type(1):after,
#load.load10.complete div.loader:before,
#load.load10.complete div.loader:after {
  width: 100%;
}

/*----------------------------delay-----------------------------------*/

.delay > *,
.delay1 > *,
.delay2 > *,
.delay3 > *,
.delay4 > *,
.delay5 > * {
  opacity: 0;
  transition: 0.8s ease-in-out;
}
.delay > *,
.delay1 > * {
  transform: translate(0, 60px);
  -webkit-transform: translate(0, 60px);
}
.delay2 > * {
  transform: translate(0, -60px);
  -webkit-transform: translate(0, -60px);
}
.delay3 > * {
  transform: translate(-60px, 0);
  -webkit-transform: translate(-60px, 0);
}
.delay4 > * {
  transform: translate(60px, 0);
  -webkit-transform: translate(60px, 0);
}
.delayActive > *,
.delay1Active > *,
.delay2Active > *,
.delay3Active > *,
.delay4Active > *,
.delay5Active > * {
  opacity: 1;
  transform: translate(0, 0);
  -webkit-transform: translate(0, 0);
  transition: 0.8s ease-in-out;
  z-index: 1;
}
/*.delay5 .content_wrapper>*{
	position: relative;
	transform: scaleX(0);
	opacity: 0;
	transform-origin: 0 0;
	transition: transform 0.3s 0.5s cubic-bezier(0.55, 0.055, 0.675, 0.19), opacity 0.5s 0.5s;
}
.delay5.delay5Active .content_wrapper>*{
	transform: scaleX(1);
	opacity: 1;
}*/
.delay5 .content_wrapper > * {
  position: relative;
  transform: scaleX(0);
  opacity: 0;
  transform-origin: 0 0;
}
.delay5.delay5Active .content_wrapper > * {
  animation: dl5_1 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
  animation-delay: 0.5s;
  animation-fill-mode: forwards;
}
@keyframes dl5_1 {
  0% {
    transform: scaleX(0);
    opacity: 0;
  }
  80% {
    transform: scaleX(1);
    opacity: 0.8;
  }
  100% {
    transform: scaleX(1);
    opacity: 1;
  }
}

.delay5 .content_wrapper > * > *:not(.dl5) {
  opacity: 0;
  transition: opacity 0.8s 1s;
}
.delay5Active .content_wrapper > * > *:not(.dl5) {
  opacity: 1;
}
.delay5 .content_wrapper i.dl5 {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--i_main_color, #fff);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
}
.delay5.delay5Active .content_wrapper i.dl5 {
  animation: dl5_2 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
  animation-delay: 1s;
  animation-fill-mode: forwards;
}
@keyframes dl5_2 {
  0% {
    width: 100%;
    left: 0;
    opacity: 1;
  }
  100% {
    width: 0;
    left: 100%;
    opacity: 1;
  }
}

/*----------------------------base-----------------------------------*/

img,
main video {
  max-width: 100%;
}

main {
  min-width: 280px;
  z-index: 1;
  position: relative;
  background: #fff;
}

.inner_item_txt .heading:empty() {
  margin: 0;
}
.inner_item_txt p {
  margin-bottom: 10px;
}
.inner_item_txt p:nth-last-of-type(1) {
  margin-bottom: 0;
}

/*----------------------------カラム-----------------------------------*/

/*共通サイドバー*/
.column2 {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--i_padding, 20px);
  overflow: hidden;
}
#primary .contents_related {
  padding-bottom: 60px;
}
@media screen and (min-width: 851px) {
  /*以上*/
  .column2 #primary .content_wrapper {
    padding-left: 0;
    padding-right: 0;
  }
}
@media screen and (max-width: 850px) {
  /*以下*/
  .column2 {
    padding: 0;
  }
  .column2 #sidebar {
    width: calc(100% - var(--i_padding, 20px) * 2);
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 800px) {
  /*以下*/
  #primary .contents_related {
    padding-bottom: 40px;
  }
}
/**/
#primary {
  float: left;
  width: 70%;
}
#sidebar {
  float: right;
  width: 30%;
  padding-left: 50px;
  box-sizing: border-box;
  font-size: 1.45rem;
}
.column1 #primary,
.column1 #sidebar {
  width: 100%;
  float: none;
}
.column1 #sidebar {
  display: none;
}

#sidebar section,
#sidebar > div {
  padding: 0 0 30px;
  margin-bottom: 30px;
}
#primary section:last-child,
#primary > div:last-child,
#sidebar section:last-child,
#sidebar > div:last-child {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 40px !important;
}
#sidebar section .content_wrapper,
#sidebar > div .content_wrapper {
  padding-left: 0;
  padding-right: 0;
}
#sidebar .widget_news02 ul {
  min-width: 0;
  line-height: 1.6;
}
#sidebar .widget_news02 ul li {
  border: none;
}
#sidebar .widget_news02 ul a {
  width: 100%;
}
#sidebar .widget_news02 ul p {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
#sidebar .sidebar_list ul,
#sidebar .sidebar_list li,
#sidebar .sidebar_list a {
  display: block;
}
#sidebar .sidebar_list li {
  margin-bottom: 5px;
}
#sidebar .sidebar_list li:last-child {
  margin-bottom: 0;
}
#sidebar .sidebar_tag ul {
  display: block;
}
#sidebar .sidebar_tag li {
  display: inline-block;
  margin: 2px 5px 3px 0;
}
#sidebar .sidebar_tag li a {
  display: block;
  padding: 5px 7px;
  font-size: 1.2rem;
}
.sidenav ul {
  border-top: 1px solid var(--i_border_color);
}
.sidenav li {
  border-bottom: 1px solid var(--i_border_color);
}
.sidenav li a {
  padding-top: 7px;
  padding-bottom: 7px;
}
.sidebanner li {
  margin-bottom: 20px;
}
.sidebanner li:last-child {
  margin-bottom: 0;
}
#sidebar .side_block_image_text_1 .inner_item_img {
  text-align: center;
  margin-bottom: 15px;
}
@media screen and (max-width: 1100px) {
  #primary {
    width: calc(100% - 310px);
  }
  #sidebar {
    width: 310px;
  }
}
@media screen and (max-width: 850px) {
  #primary,
  #sidebar {
    width: 100%;
    float: none;
    display: block;
  }
  #sidebar {
    padding-left: 0;
    padding: 20px;
    margin-bottom: 60px;
  }
  #sidebar section:last-child,
  #sidebar > div:last-child {
    margin-bottom: 0 !important;
  }
  #sidebar .sidebar_list {
    display: flex;
    flex-wrap: wrap;
  }
  #sidebar .sidebar_list li {
    width: 100%;
  }
  #sidebar .sidebar_list li a {
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    width: 95%;
    box-sizing: border-box;
  }
  .sidebanner ul {
    overflow: hidden;
  }
  .sidebanner li {
    width: 48%;
  }
  .sidebanner li:nth-of-type(2n) {
    float: right;
  }
  .sidebanner li:nth-of-type(2n + 1) {
    float: left;
    clear: left;
  }
  .sidebanner li:last-child {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 770px) {
  #sidebar .sidebar_tag li {
    margin: 5px 5px 5px 0;
  }
  .sidebanner li {
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 400px) {
  #sidebar .sidebar_list li {
    width: 100%;
  }
}

/*----------------------------article-----------------------------------*/

article {
  width: 100%;
  overflow: hidden;
}
article:nth-last-of-type(1) {
  margin-bottom: 40px !important;
}
article .inner_item_img {
  transition: 0.2s ease-in-out;
}
.column1 .news_single > .content_wrapper {
  max-width: none !important;
}
#primary article .content_wrapper {
  padding-left: 0;
  padding-right: 0;
}
.column1 #primary article .content_wrapper {
  padding-left: var(--i_padding, 20px);
  padding-right: var(--i_padding, 20px);
}
.column1 .news_single #primary article .entry_body {
  margin-left: calc(var(--i_padding, 20px) * -1);
  width: calc(100% + var(--i_padding, 20px) * 2);
}
.news_single #primary article {
  overflow: visible;
}
.column1 .news_single #primary article:after {
  content: '';
  display: block;
  clear: both;
}
.entry_body img {
  height: auto;
}
article .entry_body img {
  margin-bottom: 20px;
}
article .entry_body .inner_item_img img {
  margin-bottom: 0;
}
article .entry_body img[src*='ckeditor'] {
  margin-bottom: 0;
}
article .entry_meta {
  font-size: 1.3rem;
}
article .entry_meta ul {
  display: block;
}
article .entry_meta ul li {
  display: inline-block;
}
article .entry_meta ul li:after {
  content: ', ';
}
article .entry_meta ul li:last-child:after {
  content: '';
}

.block_easy p img {
  margin-right: 15px;
}
.block_easy p[style*='center'] img {
  margin-right: 0;
}
.block_easy p img[style*='right'] {
  margin-right: 0;
  margin-left: 15px;
}
@media screen and (max-width: 850px) {
  .news_single #primary article .entry_body {
    margin-left: calc(var(--i_padding, 20px) * -1);
    width: calc(100% + var(--i_padding, 20px) * 2);
  }
  .news_single #primary article .content_wrapper {
    padding: 0 var(--i_padding, 20px);
  }
}

/*----------------------------header-----------------------------------*/

header {
  width: 100%;
  min-width: 280px;
  text-align: left;
  position: relative;
  left: 0;
  z-index: 50;
}
header.over {
  position: absolute;
}
.ss header:not(.nofixed) {
  position: absolute;
}
header:after {
  display: none;
  content: '';
  width: 0;
  height: 100%;
  position: absolute;
  top: 0;
  right: -10%;
  transition: 0.3s ease-in-out;
  z-index: 1;
}
body.scrolled header:not(.nofixed) {
  position: fixed;
  top: 0;
  opacity: 1;
  transition: 0.5s ease-in-out;
}
body.hHide header:not(.nofixed) {
  top: -200px;
  opacity: 0;
}
.scrolled header:not(.nofixed) {
  position: fixed;
}
header.nofixed {
  top: 0 !important;
  left: 0 !important;
}

header .wraper {
  padding: 0 15px;
  margin: 0 auto;
  max-width: 1200px;
  width: calc(100% - 30px);
  position: relative;
}
header#pattern3:not(.width_full) .wraper {
  max-width: 1300px !important;
}
header .wraper > .inner {
  display: flex;
  align-items: center;
  min-height: 45px;
}
header:has(.header_sns_sp) .wraper > .inner {
  min-height: 80px;
}
header.width_full .wraper {
  max-width: none;
  padding: 0 25px;
  width: calc(100% - 50px);
}

header h1 {
  box-sizing: border-box;
  display: block;
  text-align: right;
}
header#pattern1 h1,
header#pattern2 h1,
header#pattern4 h1 {
  position: absolute;
  top: 5px;
  right: 15px;
  overflow: hidden;
}
header#pattern1.width_full h1,
header#pattern2.width_full h1,
header#pattern4.width_full h1 {
  right: 25px;
}
header#pattern3 h1 {
  width: 42%;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-right: 1%;
  text-align: left;
  letter-spacing: -0.02rem !important;
}

header .logo {
  padding: 20px 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
header .logo a {
  display: inline-block;
}
header .logo a img {
  max-width: 100%;
  display: block;
}
header#pattern2 .logo {
  width: 20%;
  position: absolute;
  top: 0;
  left: 15px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
}
header#pattern2.width_full .logo {
  left: 25px;
}
header#pattern3 .logo {
  width: 16%;
  text-align: center;
  max-width: none !important;
  justify-content: center;
}
header#pattern3 .logo img {
  max-width: 100%;
}

header .burger {
  display: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 9px;
  z-index: 5;
}
header .burger ul {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 88px;
}
header .burger li {
  display: block;
  width: 45px;
  height: 45px;
  box-sizing: border-box;
}
header .burger li a {
  display: block;
  width: 32px;
  height: 32px;
  text-indent: -10000px;
  position: relative;
  padding: 6px 6px 6px 8px;
}
header .burger li a svg {
  max-width: 100%;
  max-height: 100%;
}
header .burger li.sp_payment a,
header .burger li.sp_translate a {
  text-indent: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
header .burger li.sp_payment a {
  padding-right: 4px;
}
header .burger li.sp_payment a svg {
  display: block;
  max-width: 25px;
  max-height: 28px;
  transition: 0.3s ease-in-out;
}
header .burger li.header_sns_sp,
header .burger li.header_sns_sp ul {
  width: auto;
}
header .burger li.header_sns_sp {
  height: 40px;
  margin-top: 20px;
  margin-bottom: 20px;
}
header .burger li.header_sns_sp li {
  height: 40px;
  width: 60px;
}
header .burger li.header_sns_sp li:last-child {
  width: 48px;
}
header .burger li.header_sns_sp li a {
  padding: 0;
  margin: 0;
  width: 40px;
  height: 40px;
}
header .burger li.header_sns_sp a {
  text-indent: 0;
}
header .burger li.sp_translate {
  position: relative;
}
header .burger li.sp_translate a svg {
  display: block;
  transition: 0.3s ease-in-out;
}
header .sp_menu a div {
  width: 30px;
  margin: 0 auto;
  height: 100%;
  overflow: hidden;
  position: relative;
}
header .sp_menu a div:before,
header .sp_menu a div:after {
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  transition: 0.3s ease-in-out;
}
header .sp_menu a div:before {
  top: 9px;
}
header .sp_menu a div:after {
  top: 25px;
}
header .sp_menu a div span {
  margin-top: 17px;
  width: 100%;
  height: 1px;
  display: block;
  position: relative;
  transition: 0.3s ease-in-out;
}
header .sp_menu a:hover div:before {
  animation: before 0.6s ease-in-out;
}
header .sp_menu a:hover div span {
  animation: span 0.6s ease-in-out;
}
header .sp_menu a:hover div:after {
  animation: after 0.6s ease-in-out;
}
@keyframes before {
  0% {
    width: 100%;
    left: 0;
  }
  20% {
    width: 0;
    left: 0;
  }
  40% {
    width: 0;
    left: 100%;
  }
  60% {
    width: 100%;
    left: 0;
  }
}
@keyframes span {
  0% {
    width: 100%;
    left: 0;
  }
  10% {
    width: 100%;
    left: 0;
  }
  30% {
    width: 0;
    left: 0;
  }
  50% {
    width: 0;
    left: 100%;
  }
  70% {
    width: 100%;
    left: 0;
  }
}
@keyframes after {
  0% {
    width: 100%;
    left: 0;
  }
  20% {
    width: 100%;
    left: 0;
  }
  40% {
    width: 0;
    left: 0;
  }
  60% {
    width: 0;
    left: 100%;
  }
  80% {
    width: 100%;
    left: 0;
  }
}
header .sp_menu[class*='mm']:not(.mm0) a:before {
  line-height: 1;
  font-size: 1rem;
  position: absolute;
  bottom: 2px;
  left: 0;
  display: block;
  width: 100%;
  color: var(--i_txt_color);
  text-indent: 0;
  text-align: center;
}
header .sp_menu.mm1 a:before {
  content: 'メニュー' !important;
}
header .sp_menu.mm2 a:before {
  content: 'めにゅー' !important;
}
header .sp_menu.mm3 a:before {
  content: 'MENU' !important;
}
header .sp_menu.mm4 a:before {
  content: 'Menu ' !important;
}
header .sp_menu.mm5 a:before {
  content: 'menu' !important;
}
header .sp_menu[class*='mm']:not(.mm0) a div {
  transform: translateY(-5px);
}

header .header_contents {
  min-width: 280px;
  box-sizing: border-box;
  padding-left: 3%;
  padding-top: 30px;
  padding-bottom: 15px;
  margin-right: 0;
  margin-left: auto;
  flex-grow: 2;
}
header#pattern2 .header_contents {
  margin-left: auto;
  padding-top: 30px;
  padding-bottom: 5px;
}
header#pattern3 .header_contents {
  padding-top: 15px;
  padding-bottom: 15px;
}
header#pattern3 .header_contents {
  width: 42%;
  padding-left: 1%;
}
header#pattern3 .header_contents .inner {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

header .header_contents .header_sns {
  display: none;
}
header .header_contents .header_sns.on {
  display: block;
}
header .header_contents .header_sns {
  padding-top: 10px;
  padding-bottom: 6px;
}
header .header_contents .header_sns ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  margin: 0 0 0 auto;
}
@media screen and (min-width: 901px) {
  header .header_contents .header_sns {
    text-align: right;
  }
  header .header_contents .header_sns ul {
    display: inline-flex;
  }

  /*header_contents_hide*/
  .scrolled header#pattern2.hc_hide .wraper {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }
  .scrolled header#pattern2.hc_hide .header_contents {
    display: none;
  }
  .scrolled header#pattern2.hc_hide {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
  }
  header#pattern2 nav ul.nav_1st {
    min-height: 0 !important;
  }
}
header .header_contents .header_sns li {
  display: block;
  width: 40px;
  height: 40px;
  margin: 0 10px 5px;
}
@media screen and (min-width: 901px) {
  header.DEVELOP779 .header_contents .header_sns:not(:has(li.on)) {
    display: none;
  }
  header.DEVELOP779 .header_contents .header_sns li {
    display: none;
  }
  header.DEVELOP779 .header_contents .header_sns li.on {
    display: block;
  }
  header .header_contents .header_sns li:first-child {
    margin-left: 15px;
  }
}
header .header_contents .header_sns li a {
  display: block;
  width: 40px;
  height: 40px;
  opacity: 1 !important;
}
header .burger li.header_sns_sp a,
header .header_contents .header_sns li a[class*='header_sns_'] {
  background: url(/images/sns.png) -240px 0 no-repeat;
  background-size: auto 40px;
  margin: 0;
}
header .burger li.header_sns_sp a.header_sns_blog,
header .header_contents .header_sns li a.header_sns_blog {
  background-position: -240px 0;
}
header .burger li.header_sns_sp a.header_sns_facebook,
header .header_contents .header_sns li a.header_sns_facebook {
  background-position: 0 0;
}
header .burger li.header_sns_sp a.header_sns_twitter,
header .header_contents .header_sns li a.header_sns_twitter {
  background-position: -40px 0;
}
header .burger li.header_sns_sp a[href*='x.com'].header_sns_twitter,
header .header_contents .header_sns li a[href*='x.com'].header_sns_twitter {
  background-position: -320px 0;
}
header .burger li.header_sns_sp a.header_sns_line,
header .header_contents .header_sns li a.header_sns_line {
  background-position: -80px 0;
}
header .burger li.header_sns_sp a.header_sns_instagram,
header .header_contents .header_sns li a.header_sns_instagram {
  background-position: -120px 0;
}
header .burger li.header_sns_sp a.header_sns_youtube,
header .header_contents .header_sns li a.header_sns_youtube {
  background-position: -160px 0;
}
header .burger li.header_sns_sp a.header_sns_tiktok,
header .header_contents .header_sns li a.header_sns_tiktok {
  background-position: -200px 0;
}
header .burger li.header_sns_sp a.header_sns_threads,
header .header_contents .header_sns li a.header_sns_threads {
  background-position: -280px 0;
}
header .header_contents .header_sns li a[class*='header_sns_'] svg {
  display: none;
}
header .header_contents .header_sns li svg {
  width: 100%;
  height: 100%;
}
header#pattern4 .wraper > .inner > .header_sns {
  display: none;
}
header#pattern4 .header_sns {
  padding-right: 10px;
}
header#pattern4 .header_contents .header_sns {
  padding-right: 0;
}
header .burger li.header_sns_sp a.header_sns_add,
header .header_contents .header_sns li a.header_sns_add {
  background: none !important;
}
header .burger li.header_sns_sp a.header_sns_add img,
header .header_contents .header_sns li a.header_sns_add img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

header .header_contents .header_col1 {
  display: flex;
  flex-wrap: wrap;
}
header .header_contents .header_col1 .tel {
  margin-right: 10px;
}
header .header_contents .header_col1 .tel a,
header .header_contents .header_col1 .tel span {
  pointer-events: none;
  display: block;
}
header .header_contents .header_col1 .tel a,
header .header_contents .header_col1 .tel span,
header .header_contents .header_col1 .tel a *,
header .header_contents .header_col1 .tel span * {
  text-decoration: none !important;
}
@media screen and (max-width: 768px) {
  header .header_contents .header_col1 .tel a,
  header .header_contents .header_col1 .tel span {
    pointer-events: auto;
  }
}
header .header_contents .header_col1 .tel:nth-last-of-type(1) {
  margin-right: 0;
}
header .header_contents .header_col1 .tel svg {
  display: block;
  position: absolute;
}
header .header_contents .header_col1 .btn {
  position: relative;
  min-height: 35.2px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  margin: 0;
}
header#pattern4 .wraper > .inner > .btn {
  position: relative;
  z-index: 5;
}
header .header_contents .header_col1 .btn.hastrans {
  padding-right: 42px;
  min-height: 44px;
}
header .btn > a {
  padding: 5px 10px;
}
header .header_contents .header_col1 .btn > a,
header .accordion_btn {
  min-width: 180px;
  box-sizing: border-box;
  margin-left: 5px;
  margin-right: 5px;
  margin-bottom: 0 !important;
}
header .header_contents .header_col1 .btn > a:empty {
  pointer-event: none !important;
  border: none !important;
  opacity: 0 !important;
  margin-right: 0;
  height: 100%;
  width: 50px !important;
}
header .header_contents .header_col1 .btn > a,
header#pattern4 .wraper > .inner > .btn > a {
  transition: 0.2s ease-in-out;
}
header#pattern4 .wraper > .inner > .btn > a {
  background: var(--i_btn_color);
  color: var(--i_btn_txt_color);
}
header .header_contents .header_col1 .btn > a:hover,
header#pattern4 .wraper > .inner > .btn > a:hover {
  opacity: 0.8;
}
header .header_contents .header_col1 .btn > a span,
header#pattern4 .wraper > .inner > .btn > a span,
.accordion_btn summary .inn {
  display: block;
}
header .header_contents .header_col1 .btn > a:has(span.inn),
header#pattern4 .wraper > .inner > .btn > a:has(span.inn),
.accordion_btn summary:has(span.inn) {
  padding: 0 !important;
}
header .header_contents .header_col1 .btn > a[target='_blank']:not(:has(span.inn)),
header#pattern4 .wraper > .inner > .btn > a[target='_blank']:not(:has(span.inn)),
header .header_contents .header_col1 .btn > a[target='_blank'] span.inn,
header#pattern4 .wraper > .inner > .btn > a[target='_blank'] span.inn {
  position: relative;
  padding-right: 25px;
}
header .header_contents .header_col1 .btn > a[target='_blank']:not(:has(span.inn)):before,
header .header_contents .header_col1 .btn > a[target='_blank']:not(:has(span.inn)):after,
header#pattern4 .wraper > .inner > .btn > a[target='_blank']:not(:has(span.inn)):before,
header#pattern4 .wraper > .inner > .btn > a[target='_blank']:not(:has(span.inn)):after,
header .header_contents .header_col1 .btn > a[target='_blank'] span.inn:before,
header .header_contents .header_col1 .btn > a[target='_blank'] span.inn:after,
header#pattern4 .wraper > .inner > .btn > a[target='_blank'] span.inn:before,
header#pattern4 .wraper > .inner > .btn > a[target='_blank'] span.inn:after {
  content: '';
  display: block;
  width: 6px;
  height: 4px;
  position: absolute;
  border: 1px solid var(--i_btn_txt_color);
  right: 12px;
  top: calc(50% - 1px);
  transition: 0.5s;
}
header .header_contents .header_col1 .btn > a:hover[target='_blank']:not(:has(span.inn)):before,
header .header_contents .header_col1 .btn > a:hover[target='_blank']:not(:has(span.inn)):after,
header#pattern4 .wraper > .inner > .btn > a:hover[target='_blank']:not(:has(span.inn)):before,
header#pattern4 .wraper > .inner > .btn > a:hover[target='_blank']:not(:has(span.inn)):after,
header .header_contents .header_col1 .btn > a:hover[target='_blank'] span.inn:before,
header .header_contents .header_col1 .btn > a:hover[target='_blank'] span.inn:after,
header#pattern4 .wraper > .inner > .btn > a:hover[target='_blank'] span.inn:before,
header#pattern4 .wraper > .inner > .btn > a:hover[target='_blank'] span.inn:after {
  border-color: var(--i_btn_hover_txt_color);
}
header .header_contents .header_col1 .btn > a[target='_blank']:not(:has(span.inn)):after,
header#pattern4 .wraper > .inner > .btn > a[target='_blank']:not(:has(span.inn)):after,
header .header_contents .header_col1 .btn > a[target='_blank'] span.inn:after,
header#pattern4 .wraper > .inner > .btn > a[target='_blank'] span.inn:after {
  right: 10px;
  top: calc(50% - 3px);
}
header .header_contents .header_col1 .btn .translate {
  width: 32px;
  height: 100%;
  min-height: 44px;
  /*overflow: hidden;*/
  position: absolute;
  top: 0;
  right: 0;
}
header .header_contents .header_col1 .btn a + .translate {
  top: 5px;
  height: calc(100% - 5px);
}
header .header_contents .header_col1 .btn .translate a {
  display: block;
  height: 100%;
  width: 100%;
  transition: 0.2s ease-in-out;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  margin: 0;
}
header .header_contents .header_col1 .btn .translate a svg {
  display: block;
  max-height: 100% !important;
  max-width: 100% !important;
  margin: auto !important;
}
#google_translate_element {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  max-width: 44px;
  overflow: hidden;
  opacity: 0;
  z-index: 6;
}
#google_translate_element:empty {
  display: none;
}
#google_translate_element .skiptranslate {
  height: 100%;
  width: 100%;
}
#google_translate_element .skiptranslate > div {
  display: block !important;
  height: 100%;
  width: 100%;
}
#google_translate_element select {
  color: #333 !important;
  cursor: pointer;
  margin: 0;
  height: 100%;
  width: 100%;
  display: block;
  position: relative;
  -webkit-appearance: none;
  appearance: none;
}
#google_translate_element select * {
  color: #333 !important;
}
#google_translate_element .skiptranslate > span {
  display: none;
}

header .header_contents .header_col2 {
  text-align: right;
  line-height: 1.5;
}

header .header_contents .header_col1 .tel,
header .header_contents .header_col1 .btn a,
header .header_contents .header_col2 .add,
header .header_contents .accordion_btn {
  margin-top: 5px;
  margin-bottom: 5px;
}

header h1:empty,
header .header_contents:empty,
header .header_contents div:empty,
header .header_contents a:empty {
  padding: 0 !important;
  margin: 0 !important;
}

header nav {
  display: block;
  width: 100%;
  box-sizing: border-box;
}
header#pattern2 nav {
  margin-left: auto;
  margin-right: auto;
  background-color: transparent;
  padding-right: 15px;
  justify-content: flex-end;
  display: flex;
}
header#pattern2:not(.width_full) nav {
  max-width: 1200px;
}
header#pattern2.width_full nav {
  padding-right: 25px;
}
header#pattern2 nav ul.nav_1st {
  width: 77%;
}
@media screen and (min-width: 1201px) {
  header#pattern1.width_full nav ul {
    margin-right: 0;
  }
}
@media screen and (max-width: 480px) {
  .skiptranslate iframe {
    transform: scale(0.7);
    transform-origin: 0 0;
    width: 143%;
  }
}
header nav ul.nav_1st {
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  flex-wrap: wrap;
}
header#pattern1 nav ul.nav_1st,
header#pattern3 nav ul.nav_1st {
  max-width: 1230px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 15px;
}
header#pattern1.width_full nav ul.nav_1st,
header#pattern3.width_full nav ul.nav_1st {
  max-width: none;
  padding: 0 30px;
}
header#pattern2 nav ul.nav_1st {
  margin-right: 0;
  justify-content: flex-end;
}
header nav ul.nav_1st > li {
  display: block;
  box-sizing: border-box;
  position: relative;
}
header nav ul.nav_1st > li > a {
  padding: 0 5px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  display: block;
  position: relative;
  text-align: center;
  transition: 0.2s ease-in-out;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
header nav ul.nav_1st > li.active > a:before {
  content: '';
  display: block;
  position: absolute;
}
header nav ul.nav_1st > li a:hover {
  opacity: 0.8;
}
header nav ul.nav_1st > li i {
  display: none;
}
header nav ul.nav_2nd {
  display: block;
  min-width: 100%;
  position: absolute;
  top: 100%;
  left: 0;
  opacity: 0;
  transition: 0.3s ease-in-out;
  pointer-events: none;
  z-index: 1;
}
@media screen and (min-width: 901px) {
  header:not(#pattern4) nav ul.nav_2nd {
    display: block !important;
  }
}
header nav ul.nav_1st > li:hover ul.nav_2nd {
  opacity: 1;
  pointer-events: auto;
}
header nav ul.nav_2nd li {
  display: block;
}
header nav ul.nav_2nd li a {
  position: relative;
  display: block;
  transition: 0.2s ease-in-out;
  white-space: nowrap;
  text-overflow: ellipsis;
}
header nav ul.nav_2nd > li > a:after {
  content: '';
  display: block;
  position: absolute;
}
header nav ul.nav_3rd {
  display: block;
}
header nav ul.nav_3rd > li > a:after {
  content: '';
  display: block;
  position: absolute;
}

body.scrolled header:not(.nofixed) .wraper > .inner {
  min-height: 0;
}
body.scrolled header:not(.nofixed) .header_col1 .tel,
body.scrolled header:not(.nofixed) .header_col2 {
  display: none;
}
body.scrolled header:not(.nofixed) h1 {
  display: none;
}
body.scrolled header:not(.nofixed)#pattern3 h1 {
  display: block;
  padding-top: 20px;
  padding-bottom: 20px;
}
body.scrolled header:not(.nofixed) .logo,
body.scrolled header:not(.nofixed) .header_contents {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}
body.scrolled header:not(.nofixed)#pattern2 .header_contents {
  padding-bottom: 0px !important;
}
body.scrolled header:not(.nofixed) nav ul.nav_1st > li > a span,
body.margin.scrolled header:not(.nofixed) nav ul.nav_1st > li > a span {
  line-height: 3;
}
header#pattern2 nav ul.nav_1st {
  justify-content: flex-end;
}

@media screen and (max-width: 1200px) {
  header#pattern3 .header_contents .header_col2 {
    display: none;
  }
}
@media screen and (max-width: 1100px) {
  header.width_full .wraper {
    padding: 0 15px;
    width: calc(100% - 30px);
  }
  header#pattern1.width_full h1,
  header#pattern2.width_full h1 {
    right: 15px;
  }
  header#pattern2.width_full .logo {
    left: 15px;
  }
  header#pattern1.width_full nav ul.nav_1st,
  header#pattern3.width_full nav ul.nav_1st {
    padding: 0 15px;
  }
  header#pattern2.width_full nav {
    padding-right: 15px;
  }
}
@media screen and (max-width: 900px) {
  header {
    transition: 0.5s ease-in-out;
  }
  header:after {
    display: block;
  }
  header.open:after {
    right: 0;
    width: 100%;
  }
  header,
  header.over,
  header.nofixed {
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    opacity: 1 !important;
  }
  header.over,
  .ss header,
  .ss header.over,
  .ss header.nofixed {
    position: fixed !important;
  }
  header .wrapper {
    z-index: 2;
  }
  header .wrapper > .inner {
    min-height: 60px;
    display: block;
  }
  header:has(.header_sns_sp) > .wraper {
    min-height: 80px !important;
    display: flex;
    align-items: center;
  }
  header:has(.header_sns_sp) > .wraper > .inner {
    width: 100%;
  }
  header .logo {
    position: relative;
    z-index: 5;
    width: auto !important;
    max-width: calc(100% - 180px) !important;
    padding: 10px 0 !important;
    /*min-height: 0 !important;*/
  }
  header:has(.header_sns_sp li + li):has(#google_translate_element) .logo {
    max-width: calc(100% - 220px) !important;
  }
  header#pattern2 .logo {
    position: relative;
    left: 0 !important;
    height: auto !important;
  }
  header#pattern3 .logo,
  header#pattern4 .logo {
    margin: 0 auto;
  }
  header .logo a img {
    max-width: 100%;
    max-height: 50px !important;
  }
  header .burger {
    display: block;
  }
  header#pattern4 .burger {
    width: auto !important;
    position: absolute;
  }

  header h1 {
    display: none !important;
  }
  header.h_on h1 {
    width: auto !important;
    padding: 0 0 20px !important;
    text-align: left !important;
    position: static !important;
    display: inline-block !important;
    margin: 0 auto !important;
  }

  header .header_contents,
  header#pattern4 .header_contents {
    display: block;
    width: 100vw !important;
    margin: 0;
    margin-left: -15px;
    overflow: auto;
    position: absolute;
    top: 100%;
    left: 110%;
    opacity: 0;
    transition: 0.3s ease-in-out;
  }
  header .header_contents {
    text-align: center;
  }
  header .header_contents,
  body.scrolled header:not(.nofixed) .header_contents,
  body.margin header .header_contents {
    padding: 15px 15px 0 !important;
  }
  header#pattern2 .header_contents {
    margin-left: 0 !important;
  }
  header.open .header_contents,
  header#pattern4.open .header_contents {
    left: 0;
    opacity: 1;
  }
  header .header_contents .inner {
    display: flex;
    flex-direction: column-reverse !important;
    justify-content: center !important;
    text-align: left;
  }
  header .header_contents .inner:before {
    content: '';
    display: block;
    padding-bottom: 40px;
    width: 100%;
  }
  header .header_contents .inner > div:nth-of-type(2) {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  header .header_contents .header_sns {
    display: block;
    padding-top: 20px;
  }
  header .header_contents .header_sns ul {
    justify-content: center;
    margin: 0 auto;
  }
  header .header_contents .header_sns ul svg {
    width: 36px;
    height: 36px;
  }

  header .header_contents .header_col1 {
    display: flex !important;
    flex-wrap: wrap !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: left;
    width: 100%;
  }
  header .header_contents .header_col1 > div {
    margin: 15px 10px 0;
    display: block;
  }
  header .header_contents .header_col1 .tel {
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-right: 10px !important;
    padding-left: 0 !important;
    text-align: center;
  }
  header .header_contents .header_col1 .tel a,
  header .header_contents .header_col1 .tel span {
    color: #fff;
    position: relative;
    padding-left: 26px;
  }
  header .header_contents .header_col1 .tel .teli {
    text-align: left;
  }
  header .header_contents .header_col1 .btn {
    padding: 0;
    margin-left: 0;
    margin-right: 0;
    min-width: 0;
    min-height: 0;
    width: 100%;
    justify-content: center;
  }
  header .header_contents .header_col1 .btn.hastrans {
    padding-right: 0;
  }
  header .header_contents .header_col1 .btn > * {
    margin-left: 5px;
    margin-right: 5px !important;
  }
  header .header_contents .header_col1 .btn > a:nth-last-of-type(1):nth-last-child(2) {
    margin-right: 0;
  }
  header .header_contents .header_col1 .btn .translate {
    display: none;
  }
  header .header_contents .header_col2 {
    text-align: center;
    width: 100%;
    display: block;
    padding-top: 5px;
    padding-bottom: 5px;
  }
  header .header_contents .header_col2 .add {
    color: #fff;
    display: inline-block;
    text-align: left;
  }

  header nav {
    background-color: transparent !important;
    padding: 0 !important;
    max-width: none !important;
  }
  header#pattern2 nav {
    display: block;
  }
  header nav ul.nav_1st {
    width: auto !important;
    margin-left: 0 !important;
    display: block;
    margin-bottom: 20px;
    padding: 0;
  }
  header#pattern1 nav ul.nav_1st,
  header#pattern3 nav ul.nav_1st,
  header#pattern1.width_full nav ul.nav_1st,
  header#pattern3.width_full nav ul.nav_1st {
    padding: 0;
  }
  header nav ul.nav_1st li {
    width: auto !important;
  }
  header nav ul.nav_1st li:nth-of-type(n + 7) {
    display: block;
  }
  header nav ul.nav_1st li a {
    text-align: left;
    padding: 15px 5px;
  }
  header nav ul.nav_1st > li > a {
    padding: 15px 55px 15px 5px;
  }
  header nav ul.nav_1st > li > a:nth-last-child(3) {
    padding-right: 40px !important;
  }
  header nav ul.nav_1st li a span {
    line-height: 1.7 !important;
  }
  header nav ul.nav_1st li a:before {
    display: none !important;
  }
  header nav ul.nav_1st > li i {
    display: block;
    width: 52px;
    height: 52px;
    position: absolute;
    top: 1px;
    right: 0;
    cursor: pointer;
  }
  header nav ul.nav_1st > li i:before,
  header nav ul.nav_1st > li i:after {
    content: '';
    display: block;
    position: absolute;
  }
  header nav ul.nav_1st > li i:before {
    width: 10px;
    height: 1px;
    top: calc(50% - 0.5px);
    left: calc(50% - 5px);
  }
  header nav ul.nav_1st > li i:after {
    width: 1px;
    height: 10px;
    top: calc(50% - 5px);
    left: calc(50% - 0.5px);
  }
  header nav ul.nav_1st > li i.open:after {
    display: none;
  }

  header nav ul.nav_2nd {
    left: 0;
    position: static;
    opacity: 1;
    pointer-events: auto;
    padding: 0 !important;
    display: none;
    transition: none;
  }
  header nav ul.nav_2nd li {
    background-color: transparent !important;
  }
  header nav ul.nav_2nd li a {
    white-space: normal;
    text-overflow: clip;
    padding-right: 5px !important;
  }
  header nav ul.nav_2nd > li > a:after {
    display: none;
  }
}
@media screen and (max-width: 900px) {
  header#pattern3 .header_contents .inner {
    align-items: center;
  }
  header .header_contents .header_sns {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  header .header_contents .header_sns ul {
    width: 100%;
    max-width: none;
    flex-wrap: wrap;
    padding-bottom: 0;
  }
  header .header_contents .header_sns li,
  header .header_contents .header_sns li a {
    width: 40px;
    height: 40px;
  }
  header .header_contents .header_sns li {
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 0;
    padding-bottom: 20px;
  }
  header .header_contents .header_sns li a[class*='header_sns_'] {
    background: url(/images/sns.png) -240px 0 no-repeat;
    background-size: auto 40px;
  }
  header .header_contents .header_sns li a.header_sns_blog {
    background-position: -240px 0;
  }
  header .header_contents .header_sns li a.header_sns_facebook {
    background-position: 0 0;
  }
  header .header_contents .header_sns li a.header_sns_twitter {
    background-position: -40px 0;
  }
  header .header_contents .header_sns li a[href*='x.com'].header_sns_twitter {
    background-position: -320px 0;
  }
  header .header_contents .header_sns li a.header_sns_line {
    background-position: -80px 0;
  }
  header .header_contents .header_sns li a.header_sns_instagram {
    background-position: -120px 0;
  }
  header .header_contents .header_sns li a.header_sns_youtube {
    background-position: -160px 0;
  }
  header .header_contents .header_sns li a.header_sns_tiktok {
    background-position: -200px 0;
  }
  header .header_contents .header_sns li a.header_sns_threads {
    background-position: -280px 0;
  }
}
@media screen and (max-width: 650px) {
  header#pattern3 .header_sns_sp {
    display: none;
  }
}
@media screen and (max-width: 500px) {
  header {
    font-size: 13px;
  }
  header .tel {
    font-size: 20px;
    line-height: 1;
  }
  header .btn a {
    text-align: center;
    width: auto;
    display: block;
    background: #a00;
    color: #fff;
    padding: 8px 11px;
  }
  header nav ul.nav_1st > li > a:nth-last-child(3) {
    padding-right: 30px !important;
  }
  header nav ul.nav_1st > li i {
    width: 30px;
  }
}

/*----------------------------header#pattern4--------------------------------*/

header#pattern4 {
  transition: 0.4s ease-in-out;
}
header#pattern4:after {
  display: block;
}
header#pattern4 > nav {
  display: none;
}
body.hHide header:not(.nofixed)#pattern4 {
  opacity: 1;
}
header#pattern4:not(.width_full) .wraper {
  max-width: 1350px;
  position: static;
}
header#pattern4 .wraper > .inner {
  padding-top: 17px;
  transition: 0.4s ease-in-out;
}
body.scrolled header:not(.nofixed)#pattern4 .wraper > .inner {
  padding-top: 0;
}
header#pattern4:not(.width_full) .wraper h1 {
  max-width: 1350px;
  left: calc((100% - 1350px) / 2);
}
header#pattern4 .logo {
  flex-grow: 1;
  margin-right: auto;
}
header#pattern4 .logo a {
  width: 250px;
}
header#pattern4 .logo img {
  transition: 0.5s ease-in-out;
}
header#pattern4 .burger {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  position: relative;
  margin-left: 20px;
}
header#pattern4 .burger ul {
  width: auto;
}

header.open .sp_menu a div:before {
  transform: rotate(-225deg);
  top: 15px;
}
header.open .sp_menu a div span {
  opacity: 0;
}
header.open .sp_menu a div:after {
  transform: rotate(225deg);
  top: 15px;
}

header#pattern4 .header_contents {
  width: 500px !important;
  margin: 0;
  display: block;
  overflow: auto;
  position: absolute;
  top: 100%;
  left: 110%;
  opacity: 0;
  transition: 0.4s ease-in-out;
  padding: 15px 25px 0 !important;
  min-height: 100vh;
}
header#pattern4:after {
  transition: 0.4s ease-in-out;
}
header#pattern4.open:after {
  display: block;
  width: 500px;
}
header#pattern4.open .header_contents {
  left: calc(100% - 500px);
  opacity: 1;
}
header#pattern4.unix4.open .header_contents {
  background: rgba(255, 255, 255, 0.95);
}
header#pattern4.open:after {
  opacity: 1;
  right: 0;
}
header#pattern4 .header_contents .inner {
  display: flex;
  flex-direction: column-reverse !important;
  justify-content: center !important;
}
header#pattern4 .header_contents .inner:before {
  content: '';
  display: block;
  padding-bottom: 40px;
  width: 100%;
}
header#pattern4 .header_contents .inner > div:nth-of-type(2) {
  padding-top: 10px;
  padding-bottom: 10px;
}

header#pattern4 .header_contents .header_sns {
  display: block;
  padding-top: 25px;
  width: 100%;
}
header#pattern4 .header_contents .header_sns ul {
  display: flex;
  width: 90%;
  max-width: 300px;
  margin: 0 auto;
}
header#pattern4 .header_contents .header_sns li {
  display: block;
  width: 36px;
  height: 36px;
}
header#pattern4 .header_contents .header_sns li svg {
  width: 100%;
  height: 100%;
}

header#pattern4 .header_contents .header_col1 {
  display: flex !important;
  flex-wrap: wrap !important;
  flex-direction: row !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: left;
  width: 100%;
}
header#pattern4 .header_contents .header_col1 .tel {
  display: block !important;
  margin-right: 10px !important;
}
header#pattern4 .header_contents .header_col1 .btn {
  padding: 0;
}
header#pattern4 .header_contents .header_col1 .btn > a:nth-last-child(2) {
  margin-right: 0;
}
header#pattern4 .inner > .btn {
  display: flex;
}
header#pattern4 .inner > .btn a,
header#pattern4 .inner > .btn .accordion_btn {
  margin-left: 5px;
  margin-right: 5px;
}
header#pattern4 .inner > .btn .translate {
  display: none;
}
header#pattern4 .inner .inner .translate {
  display: none;
}
header#pattern4 .header_contents .header_col2 {
  text-align: center;
  width: 100%;
  display: block;
  padding-top: 5px;
  padding-bottom: 5px;
}
header#pattern4 .header_contents .header_col2 .add {
  display: inline-block;
  text-align: left;
}

header#pattern4 nav {
  background-color: transparent !important;
  padding: 0 !important;
  max-width: none !important;
}
header#pattern4 nav ul.nav_1st {
  width: auto !important;
  margin-left: 0 !important;
  display: block;
  margin-bottom: 20px;
  padding: 0;
}
header#pattern1 nav ul.nav_1st,
header#pattern3 nav ul.nav_1st,
header#pattern1.width_full nav ul.nav_1st,
header#pattern3.width_full nav ul.nav_1st {
  padding: 0;
}
header#pattern4 nav ul.nav_1st li {
  width: auto !important;
}
header#pattern4 nav ul.nav_1st li:nth-of-type(n + 7) {
  display: block;
}
header#pattern4 nav ul.nav_1st li a {
  text-align: left;
}
header#pattern4 nav ul.nav_1st > li > a {
  padding: 15px 55px 15px 5px;
}
header#pattern4 nav ul.nav_1st li a span {
  line-height: 1.7 !important;
}
header#pattern4 nav ul.nav_1st li a:before {
  display: none !important;
}
header#pattern4 nav ul.nav_1st > li i {
  display: block;
  width: 52px;
  height: 52px;
  position: absolute;
  top: 1px;
  right: 0;
  cursor: pointer;
}
header#pattern4 nav ul.nav_1st > li i:before,
header#pattern4 nav ul.nav_1st > li i:after {
  content: '';
  display: block;
  position: absolute;
}
header#pattern4.unix4 nav ul.nav_1st > li i:before,
header#pattern4.unix4 nav ul.nav_1st > li i:after {
  background: var(--i_txt_color);
}
header#pattern4 nav ul.nav_1st > li i:before {
  width: 10px;
  height: 1px;
  top: calc(50% - 0.5px);
  left: calc(50% - 5px);
}
header#pattern4 nav ul.nav_1st > li i:after {
  width: 1px;
  height: 10px;
  top: calc(50% - 5px);
  left: calc(50% - 0.5px);
}

header#pattern4 nav ul.nav_1st > li i.open:after {
  display: none;
}

header#pattern4 nav ul.nav_2nd {
  left: 0;
  position: static;
  opacity: 1;
  pointer-events: auto;
  padding: 0 !important;
  display: none;
  transition: none;
}
header#pattern4 nav ul.nav_2nd li {
  background-color: transparent !important;
}
header#pattern4 nav ul.nav_2nd li a {
  white-space: normal;
  text-overflow: clip;
  padding-right: 5px !important;
}
header#pattern4 nav ul.nav_2nd > li > a:after {
  display: none;
}

header#pattern4 .inner > .header_sns {
  display: block;
  width: auto;
}
header#pattern4 .inner > .header_sns ul {
  display: flex;
  width: auto;
  max-width: 300px;
  margin: 0 auto;
  justify-content: center;
}
header#pattern4 .inner > .header_sns li {
  display: block;
  width: 40px;
  height: 40px;
  margin-left: 15px;
}
header#pattern4 .inner > .header_sns li svg {
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 901px) {
  header#pattern4.unix4 nav ul.nav_1st > li::after,
  header#pattern4.unix4 nav ul.nav_1st > li:last-child::before {
    display: none;
  }
  header#pattern4.unix4 nav ul.nav_1st {
    border-top: 1px solid var(--i_border_color);
  }
  header#pattern4.unix4 nav,
  header#pattern4.unix4 nav ul.nav_1st li,
  header#pattern4.unix4 .header_contents .header_col2,
  header#pattern4.unix4 .header_contents .header_col1 {
    border-bottom: 1px solid var(--i_border_color);
  }
  header#pattern4.unix4 nav ul.nav_2nd {
    border-top: 1px solid var(--i_border_color);
  }
  header#pattern4.unix4 nav ul.nav_2nd > li:nth-last-of-type(1) {
    border-bottom: none;
  }
}
@media screen and (max-width: 900px) {
  header#pattern4 .wraper > .inner {
    padding-top: inherit;
  }
  header#pattern4 .wraper > .inner > .btn,
  header#pattern4 .wraper > .inner > .header_sns {
    display: none;
  }
  header#pattern4 .burger {
    margin-left: 10px;
  }
  header .burger li.header_sns_sp li:last-child {
    width: 50px;
  }
  header#pattern4 .header_contents .header_col1 .tel {
    display: flex !important;
  }
}
@media screen and (max-width: 540px) {
  header#pattern4 .header_contents {
    width: 100% !important;
    padding: 15px 15px 0 !important;
  }
}
@media screen and (max-width: 500px) {
  header#pattern4.open .header_contents {
    left: 0;
  }
}
body.edit_view header#pattern4 > .wraper > .inner div.btn,
body.edit_view header#pattern4 > .wraper > .inner div.header_sns {
  display: none !important;
}

/*---header details----*/

.accordion_btn,
.accordion_btn * {
  box-sizing: border-box;
  text-align: center;
}
.accordion_btn {
  position: relative;
  z-index: 10;
}
footer #fixbtn[data-pattern='1'] a + .accordion_btn {
  margin-left: 4%;
}
@media screen and (max-width: 1300px) {
  footer #fixbtn[data-pattern='1'] a + .accordion_btn {
    margin-left: 0;
    margin-top: 5px;
  }
}
.accordion_btn summary {
  height: 100%;
  background: var(--i_btn_color);
  color: var(--i_btn_txt_color);
  transition: 0.4s ease-in-out;
  cursor: pointer;
}
footer .accordion_btn summary {
  display: flex;
  align-items: center;
  justify-content: center;
}
.accordion_btn summary::-webkit-details-marker {
  display: none;
}
.accordion_btn span.inn {
  padding: 10px 10px 8px;
}
footer #fixbtn .accordion_btn span.inn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-right: 5px;
}
footer .accordion_btn span.inn:before {
  content: '';
  display: block;
  width: 25px;
  height: 25px;
  background-color: var(--i_btn_txt_color);
  margin-right: 5px;
  mask: url(/common/images/booking1.png) 50% 50% no-repeat;
  mask-size: contain !important;
}
.accordion_btn .resevation_btns {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(5px);
  padding: 32px 13px 13px;
  opacity: 0;
  transition: 0.2s;
  transition-property: opacity, top, bottom;
  pointer-events: none;
}
.accordion_btn.is-open .resevation_btns {
  opacity: 1;
  pointer-events: auto;
}
header .accordion_btn .resevation_btns {
  top: calc(100% + 15px + 10px);
}
header .accordion_btn.is-open .resevation_btns {
  top: calc(100% + 15px);
}
footer .accordion_btn .resevation_btns {
  bottom: calc(100% + 15px + 10px);
}
footer .accordion_btn.is-open .resevation_btns {
  bottom: calc(100% + 15px);
}
.accordion_btn .resevation_btns i {
  width: 15px;
  height: 10px;
  background: rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(5px);
  position: absolute;
  left: calc(50% - 7.5px);
}
header .accordion_btn .resevation_btns i {
  top: -10px;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
}
footer .accordion_btn .resevation_btns i {
  bottom: -10px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.accordion_btn .resevation_btns:after {
  content: '';
  display: block;
  height: 15px;
  width: 100%;
  position: absolute;
  top: 100%;
  left: 0;
}
.accordion_btn .resevation_btn + .resevation_btn {
  margin-top: 10px;
}
.accordion_btn .resevation_btn a {
  background: var(--i_btn_color);
  color: #fff;
  width: 100%;
  display: block;
  margin: 0;
  padding: 10px 20px;
  min-width: 180px;
  margin: 0 !important;
  border-radius: 0;
}
.accordion_btn .resevation_btn a:hover {
  background: var(--i_btn_hover_color);
}
.accordion_btn .resevation_btn a span,
.accordion_btn .resevation_btn a[target='_blank'] span {
  padding: 0 !important;
  line-height: 1.6;
  display: block;
  white-space: nowrap;
}
.accordion_btn .resevation_btn a[target='_blank'] span:before,
.accordion_btn .resevation_btn a[target='_blank'] span:after {
  display: none;
}
.accordion_btn .close {
  width: 32px;
  height: 32px;
  color: #fff;
  line-height: 1;
  font-size: 1.65rem;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 1px;
  right: 3px;
  cursor: pointer;
}
@media screen and (max-width: 700px) {
  footer .accordion_btn span.inn:before {
    width: 20px;
    height: 20px;
    transform: translateY(-1px);
  }
}
@media screen and (max-width: 600px) {
  footer #fixbtn .accordion_btn a {
    padding: 10px;
  }
}

/*----------------------------content--------------------------------*/

/*--base--*/

main section,
main > div,
#primary section,
#primary > div,
aside > div,
.contents_btn01,
.news_single .entry_body > div,
.news_single .entry_body section {
  clear: both;
  overflow: hidden;
  position: relative;
}
.recruit_info .contents_btn01,
#fixbtn .contents_btn01 {
  overflow: visible;
}
.content_wrapper {
  width: 100%;
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 1;
}
main section[style*='background'],
main > div[style*='background'],
#primary section[style*='background'],
#primary > div[style*='background'],
aside > div[style*='background'] {
  margin-top: -1px;
}

/*--全幅・固定幅--*/

.content_wrapper.sideslide {
  padding: 0 !important;
}
.content_wrapper {
  padding: 0 var(--i_padding, 20px);
}
.width_fixed > .content_wrapper {
  max-width: 1200px !important;
}
.mw400 .content_wrapper {
  max-width: 400px !important;
}
.mw500 .content_wrapper {
  max-width: 500px !important;
}
.mw600 .content_wrapper {
  max-width: 600px !important;
}
.mw700 .content_wrapper {
  max-width: 700px !important;
}
.mw800 .content_wrapper {
  max-width: 800px !important;
}
.mw900 .content_wrapper {
  max-width: 900px !important;
}
.mw1000 .content_wrapper {
  max-width: 1000px !important;
}
.mw1100 .content_wrapper {
  max-width: 1100px !important;
}
.mw1200 .content_wrapper {
  max-width: 1200px !important;
}
.mw1300 .content_wrapper {
  max-width: 1300px !important;
}
.mw1400 .content_wrapper {
  max-width: 1400px !important;
}
.mw1500 .content_wrapper {
  max-width: 1500px !important;
}
.mw1600 .content_wrapper {
  max-width: 1600px !important;
}
.mw1700 .content_wrapper {
  max-width: 1700px !important;
}
.mw1800 .content_wrapper {
  max-width: 1800px !important;
}

/*--見出し--*/

.heading {
  position: relative;
  box-sizing: border-box;
}
.heading .h,
.heading p {
  text-transform: none !important;
}
.heading .h span,
.heading p span {
  display: inline-block;
}
body:not(.edit_view) .heading .h:empty,
body:not(.edit_view) .heading p:empty {
  display: none;
}
.width_full .content_wrapper > .heading {
  box-sizing: border-box;
}
.heading:before {
  content: '';
  display: block;
  position: absolute;
}
.inner_item div.heading {
  margin-bottom: 10px;
}
.add_text {
  margin-bottom: 25px;
}
.heading + .add_text {
  margin-top: -10px;
  margin-bottom: 25px;
}
.heading.block_header_1.align-left,
.heading.block_header_6.align-left {
  align-items: flex-start;
}
.heading.block_header_1.align-center,
.heading.block_header_6.align-center {
  align-items: center;
}
.heading.block_header_1.align-right,
.heading.block_header_6.align-right {
  align-items: flex-end;
}
.heading + .heading {
  margin-top: -20px;
  margin-bottom: 30px;
}
@media screen and (max-width: 1350px) {
  .block_header_2 .h {
    letter-spacing: 0 !important;
    font-size: 2.1rem !important;
  }
  .block_header_4 .h {
    letter-spacing: 0 !important;
    font-size: 2rem !important;
  }
}
@media screen and (max-width: 900px) {
  .block_header_4 .h {
    font-size: 1.8rem !important;
  }
}
#common_footer .block_header_4 .h {
  letter-spacing: 0 !important;
  font-size: 1.8rem !important;
}
.heading.block_header_6 {
  flex-direction: column !important;
}

.heading.block_header_7 {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: flex-end;
  margin-bottom: 20px;
}
.heading.block_header_7.align-center {
  justify-content: center;
}
.heading.block_header_7.align-right {
  justify-content: flex-start;
}
.heading.block_header_7 .h {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.5;
  width: auto;
  max-width: 100%;
  box-sizing: border-box;
}
.heading.block_header_7 .h:nth-last-child(2):nth-child(1) {
  max-width: calc(100% - 70px);
  padding-left: 20px;
}
.heading.block_header_7 p {
  background: var(--i_main_color);
  color: var(--i_bg_color);
  border-radius: 100%;
  overflow: hidden;
  width: 65px;
  height: 65px;
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  text-align: center !important;
  line-height: 1.2;
  box-sizing: border-box;
  min-width: 0 !important;
}

/*--*/

section[style*=' color']:not([style*=' color: inherit']) .heading.block_header_1,
div[style*=' color']:not([style*=' color: inherit']) .heading.block_header_1,
section[style*=' color']:not([style*=' color: inherit']) .heading.block_header_1 *,
div[style*=' color']:not([style*=' color: inherit']) .heading.block_header_1 *,
section[style*=' color']:not([style*=' color: inherit']) .heading.block_header_2,
div[style*=' color']:not([style*=' color: inherit']) .heading.block_header_2,
section[style*=' color']:not([style*=' color: inherit']) .heading.block_header_2 *,
div[style*=' color']:not([style*=' color: inherit']) .heading.block_header_2 *,
section[style*=' color']:not([style*=' color: inherit']) .heading.block_header_3,
div[style*=' color']:not([style*=' color: inherit']) .heading.block_header_3,
section[style*=' color']:not([style*=' color: inherit']) .heading.block_header_3 *,
div[style*=' color']:not([style*=' color: inherit']) .heading.block_header_3 *,
section[style*=' color']:not([style*=' color: inherit']) .heading.block_header_4,
div[style*=' color']:not([style*=' color: inherit']) .heading.block_header_4,
section[style*=' color']:not([style*=' color: inherit']) .heading.block_header_4 *,
div[style*=' color']:not([style*=' color: inherit']) .heading.block_header_4 *,
section[style*=' color']:not([style*=' color: inherit']) .heading.block_header_5,
div[style*=' color']:not([style*=' color: inherit']) .heading.block_header_5,
section[style*=' color']:not([style*=' color: inherit']) .heading.block_header_5 *,
div[style*=' color']:not([style*=' color: inherit']) .heading.block_header_5 *,
section[style*=' color']:not([style*=' color: inherit']) .heading.block_header_6,
div[style*=' color']:not([style*=' color: inherit']) .heading.block_header_6,
section[style*=' color']:not([style*=' color: inherit']) .heading.block_header_6 *,
div[style*=' color']:not([style*=' color: inherit']) .heading.block_header_6 * {
  color: inherit;
}

/*--背景パララックス--*/

.parallax {
  margin-bottom: 0;
}
main .parallax:first-child {
  margin-top: 0 !important;
}
.parallax_img {
  position: absolute !important;
  left: 0;
  background-position: 50% 50% !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-attachment: scroll !important;
  width: calc(100% + 20px);
  margin-left: -10px;
  -webkit-filter: blur(2px);
  -moz-filter: blur(2px);
  -o-filter: blur(2px);
  -ms-filter: blur(2px);
  filter: blur(2px);
  transition: none;
  z-index: inherit;
}
.parallax_img.sp {
  transform: translateY(0) !important;
  margin-top: 0 !important;
}
.parallax .content_wrapper {
  background: none !important;
  background-color: transparent !important;
}
@media screen and (max-width: 768px) {
  .parallax_img,
  .parallax_img.sp {
    transform: translateY(0) !important;
    margin-top: 0 !important;
    top: 0 !important;
    height: 100% !important;
    background-position: 50% 50% !important;
  }
}
/*
IPP3_CORRECTION-1672
.bg_img_color{
	position: absolute !important;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
}
.bg_img_color.mbm0{
	mix-blend-mode: normal;
}
.bg_img_color.mbm2{
	mix-blend-mode: multiply;
}
.bg_img_color.mbm3{
	mix-blend-mode: screen;
}
.bg_img_color.mbm4{
	mix-blend-mode: overlay;
}
.bg_img_color.mbm5{
	mix-blend-mode: color-dodge;
}
.bg_img_color.mbm6{
	mix-blend-mode: color-burn;
}
.bg_img_color.mbm7{
	mix-blend-mode: darken;
}
.bg_img_color.mbm8{
	mix-blend-mode: lighten;
}
.bg_img_color.mbm9{
	mix-blend-mode: hard-light;
}
.bg_img_color.mbm10{
	mix-blend-mode: soft-light;
}
.bg_img_color.mbm11{
	mix-blend-mode: difference;
}
.bg_img_color.mbm12{
	mix-blend-mode: exclusion;
}
.bg_img_color.mbm13{
	mix-blend-mode: hue;
}
.bg_img_color.mbm14{
	mix-blend-mode: saturation;
}
.bg_img_color.mbm15{
	mix-blend-mode: color;
}
.bg_img_color.mbm16{
	mix-blend-mode: luminosity;
}
*/

/*--ボタン--*/

.contents_btn01 {
  text-align: center;
}
.width_fixed .content_wrapper .contents_btn01 .content_wrapper {
  padding-left: 0;
  padding-right: 0;
}
.contents_btn01 .inner_item_txt {
  margin-top: 15px;
}
.contents_btn01 a {
  display: inline-block;
  transition: 0.2s ease-in-out;
  min-width: clamp(0px, 100%, 200px);
  max-width: 840px;
  box-sizing: border-box;
}
.contents_btn01 a span {
  display: block;
  padding: 10px 10px;
}
.contents_btn01 a[target='_blank'] span {
  position: relative;
  padding-right: 19px !important;
}
.contents_btn01 a[target='_blank'] span:before {
  content: '';
  display: block;
  width: 6px;
  height: 4px;
  position: absolute;
  right: 6px;
  top: calc(50% - 1px);
  transition: 0.4s ease-in-out;
}
.contents_btn01 a[target='_blank'] span:after {
  content: '';
  display: block;
  width: 6px;
  height: 4px;
  position: absolute;
  right: 8px;
  top: calc(50% - 3px);
  transition: 0.4s ease-in-out;
}

.widget_tel + .contents_btn01 {
  padding-top: 0;
}

.hp:not(.parallax):not(.bg) + .contents_btn01 {
  margin-top: 0;
}

.contents_btn01 a:nth-child(1):nth-last-child(1) {
  width: auto !important;
}

/*---複数ボタン--*/

.contents_btn01 .content_wrapper > a,
.contents_btn01.block_button_2 .inner_item_img {
  margin-left: 8px;
  margin-right: 8px;
  margin-bottom: 8px;
  vertical-align: top;
}
.contents_btn01 a:nth-child(1):nth-last-child(1) {
  /*1個*/
  margin-left: 0;
  margin-right: 0;
}
.contents_btn01.block_button_2 a {
  /*画像ボタン*/
  border: none;
  padding: 0;
  border-radius: 0;
  min-width: 0;
}
.contents_btn01.block_button_2 .inner_item_img {
  display: inline-block;
}
.contents_btn01.block_button_2 a:before,
.contents_btn01.block_button_2 a:after {
  display: none !important;
}
.contents_btn01.block_button_2 .content_wrapper>a:nth-child(1):nth-last-child(3),/*画像ボタン1/3個目*/
.contents_btn01.block_button_2 .content_wrapper>a:nth-child(2):nth-last-child(2),/*画像ボタン2/3個目*/
.contents_btn01.block_button_2 .content_wrapper>a:nth-child(3):nth-last-child(1) {
  /*画像ボタン3/3個目*/
  max-width: calc(33.3% - 20px);
  min-width: 0;
}
.contents_btn01.block_button_2 .content_wrapper>a:nth-child(1):nth-last-child(2),/*画像ボタン1/2個目*/
.contents_btn01.block_button_2 .content_wrapper>a:nth-child(2):nth-last-child(1) {
  /*画像ボタン2/2個目*/
  max-width: calc(50% - 20px);
  min-width: 0;
}
.contents_btn01.block_button_2 .inner_item_img:nth-child(1):nth-last-child(3),/*画像ボタン1/3個目*/
.contents_btn01.block_button_2 .inner_item_img:nth-child(2):nth-last-child(2),/*画像ボタン2/3個目*/
.contents_btn01.block_button_2 .inner_item_img:nth-child(3):nth-last-child(1) {
  /*画像ボタン3/3個目*/
  max-width: calc(33.3% - 20px);
  min-width: 0;
}
.contents_btn01.block_button_2 .inner_item_img:nth-child(1):nth-last-child(2),/*画像ボタン1/2個目*/
.contents_btn01.block_button_2 .inner_item_img:nth-child(2):nth-last-child(1) {
  /*画像ボタン2/2個目*/
  max-width: calc(50% - 20px);
  min-width: 0;
}
@media screen and (max-width: 650px) {
  .contents_btn01.block_button_2 .content_wrapper > a,
  .contents_btn01.block_button_2 .inner_item_img {
    margin-left: 4px;
    margin-right: 4px;
  }
  .contents_btn01.block_button_2 .content_wrapper>a:nth-child(1):nth-last-child(3),/*画像ボタン1/3個目*/
	.contents_btn01.block_button_2 .content_wrapper>a:nth-child(2):nth-last-child(2),/*画像ボタン2/3個目*/
	.contents_btn01.block_button_2 .content_wrapper>a:nth-child(3):nth-last-child(1) {
    /*画像ボタン3/3個目*/
    max-width: calc(33.3% - 10px);
  }
  .contents_btn01.block_button_2 .content_wrapper>a:nth-child(1):nth-last-child(2),/*画像ボタン1/2個目*/
	.contents_btn01.block_button_2 .content_wrapper>a:nth-child(2):nth-last-child(1) {
    /*画像ボタン2/2個目*/
    max-width: calc(50% - 10px);
  }
  .contents_btn01.block_button_2 .inner_item_img:nth-child(1):nth-last-child(3),/*画像ボタン1/3個目*/
	.contents_btn01.block_button_2 .inner_item_img:nth-child(2):nth-last-child(2),/*画像ボタン2/3個目*/
	.contents_btn01.block_button_2 .inner_item_img:nth-child(3):nth-last-child(1) {
    /*画像ボタン3/3個目*/
    max-width: calc(33.3% - 10px);
  }
  .contents_btn01.block_button_2 .inner_item_img:nth-child(1):nth-last-child(2),/*画像ボタン1/2個目*/
	.contents_btn01.block_button_2 .inner_item_img:nth-child(2):nth-last-child(1) {
    /*画像ボタン2/2個目*/
    max-width: calc(50% - 10px);
  }
}

/*--用語一覧--*/

.glossary_archive .content_wrapper {
  max-width: 980px !important;
}
.glossary_archive .content_wrapper article {
  position: relative;
  border-bottom: 1px solid var(--i_border_color);
}
.glossary_archive article .inner_item_img:hover {
  opacity: 0.8;
}
.glossary_archive .content_wrapper .heading.block_header_2 {
  position: static;
}
.glossary_archive .content_wrapper .heading.block_header_2 .h {
  position: static;
  padding: 0 !important;
}
.glossary_archive .content_wrapper .heading.block_header_2 .h:before {
  top: calc((1.8rem * 1.3) / 2 - 1px);
}
.glossary_archive .content_wrapper .heading.block_header_2 a:after {
  display: block;
  box-sizing: border-box;
  transition: 0.2s ease-in-out;
}
.glossary_archive .content_wrapper .heading.block_header_2 .h:before,
.glossary_archive .content_wrapper .heading.block_header_2 .h:after,
.glossary_archive .content_wrapper .heading.block_header_2:before,
.glossary_archive .content_wrapper .heading.block_header_2:after {
  display: none !important;
}

/*--ヘアライン--*/

div[class*='contents_hr'] hr {
  margin-left: auto;
  margin-right: auto;
}
div[class*='contents_hr']:not([class*='mw']).width_fixed hr {
  max-width: calc(1200px - var(--i_padding, 20px) * 2);
}
.contents_hr hr {
  border: none;
  display: block;
  clear: both;
  width: calc(100% - var(--i_padding, 20px) * 2);
  height: 1px;
  border-bottom: 1px solid var(--i_border_color, rgba(125, 125, 125, 0.5));
}
div[class*='contents_hr']:not([class*='mw']).width_full hr {
  width: 100%;
  max-width: 100%;
}
div[class*='contents_hr'].mw400 hr {
  max-width: 400px;
}
div[class*='contents_hr'].mw500 hr {
  max-width: 500px;
}
div[class*='contents_hr'].mw600 hr {
  max-width: 600px;
}
div[class*='contents_hr'].mw700 hr {
  max-width: 700px;
}
div[class*='contents_hr'].mw800 hr {
  max-width: 800px;
}
div[class*='contents_hr'].mw900 hr {
  max-width: 900px;
}
div[class*='contents_hr'].mw1000 hr {
  max-width: 1000px;
}
div[class*='contents_hr'].mw1100 hr {
  max-width: 1100px;
}
div[class*='contents_hr'].mw1200 hr {
  max-width: 1200px;
}
div[class*='contents_hr'].mw1300 hr {
  max-width: 1300px;
}
div[class*='contents_hr'].mw1400 hr {
  max-width: 1400px;
}
div[class*='contents_hr'].mw1500 hr {
  max-width: 1500px;
}
div[class*='contents_hr'].mw1600 hr {
  max-width: 1600px;
}
div[class*='contents_hr'].mw1700 hr {
  max-width: 1700px;
}
div[class*='contents_hr'].mw1800 hr {
  max-width: 1800px;
}
.contents_hr.block_line_2 hr {
  border: none;
  display: block;
  clear: both;
  width: 100%;
  height: 1px;
  border-bottom: 1px dashed var(--i_border_color, rgba(125, 125, 125, 0.5));
}
.contents_hr.block_line_3 {
  height: 20px;
}
.contents_hr.block_line_3 hr {
  display: block;
  border: none;
  width: 20px !important;
  height: 20px;
  border-bottom: 3px solid var(--i_main_color, rgba(125, 125, 125, 0.5));
  border-right: 3px solid var(--i_main_color, rgba(125, 125, 125, 0.5));
  margin: 0 auto;
  transform: rotate(45deg);
  position: absolute;
  top: calc(50% - 18px);
  left: calc(50% - 10px);
}
.contents_hr.block_line_4 {
  height: 40px;
}
.contents_hr.block_line_4:before {
  content: '';
  display: block;
  width: 40px;
  height: 40px;
  background: var(--i_main_color, rgba(125, 125, 125, 0.5));
  border-radius: 100%;
  position: absolute;
  top: calc(50% - 20px);
  left: calc(50% - 20px);
}
.contents_hr.block_line_4 hr {
  display: block;
  border: none;
  width: 10px !important;
  height: 10px;
  border-bottom: 2px solid var(--i_bg_color, rgba(125, 125, 125, 1));
  border-right: 2px solid var(--i_bg_color, rgba(125, 125, 125, 1));
  margin: 0 auto;
  transform: rotate(45deg);
  position: absolute;
  top: calc(50% - 8px);
  left: calc(50% - 6px);
}

.contents_hr.block_line_5 hr {
  height: 30px;
  display: block;
  background-image: radial-gradient(
    farthest-side at 50% -50%,
    var(--i_shadow_color, rgba(0, 0, 0, 0.1)),
    rgba(0, 0, 0, 0)
  );
  position: relative;
  border: none;
}
.contents_hr.block_line_5 hr:before {
  content: '';
  height: 30px;
  width: 100%;
  display: block;
  background-image: radial-gradient(
    farthest-side at 50% -50%,
    var(--i_shadow_color, rgba(0, 0, 0, 0.1)),
    rgba(0, 0, 0, 0)
  );
  position: absolute;
  top: 0;
  left: 0;
  border: none;
}

/*--リスト--*/

.default_ul li {
  padding-left: 15px;
  position: relative;
}
.default_ul li:before {
  content: '';
  display: block;
  position: absolute;
}
.inner_item_txt ol {
  counter-reset: num;
}
.inner_item_txt ol li {
  position: relative;
  padding-left: 25px;
  list-style: none;
}
.inner_item_txt ol li:before {
  counter-increment: num;
  content: counter(num) '. ';
  position: absolute;
  top: 0;
  left: 0;
}
.inner_item_txt ul li {
  list-style: disc;
  list-style-position: inside;
}
.inner_item_txt ul li::marker {
  font-size: 12px;
}
#form-tool .items li {
  border: none;
}

/*--noimg--*/

.contents_box01 .inner_item_img a[href*='no_image.jpg'],
.composite_box01 .inner_item_img a[href*='no_image.jpg'] {
  pointer-events: none;
}
.contents_box01 .inner_item_img img[src*='no_image.jpg'],
.composite_box01 .inner_item_img img[src*='no_image.jpg'] {
  opacity: 0;
}

/*--LV--*/

#lv_outer {
  position: relative;
}
header.nofixed + #lv_outer {
  border-top-width: 0 !important;
}
@media screen and (min-width: 901px) {
  body:not(.ss) header:not(.over) + #lv_outer {
    border-top-width: 0;
  }
}
#lv {
  position: relative;
  margin: 0 auto;
  overflow: hidden;
  min-width: 280px;
  display: flex;
  align-items: center;
  padding: 0;
  box-sizing: border-box;
}
#lv p {
  position: relative;
  z-index: 3;
}
#lv p span {
  min-height: 3rem;
  min-width: 20px;
}

#lv .parallax_img {
  height: 100%;
  margin-top: 0;
}
#lv:not(.parallax) .parallax_img {
  transform: translateY(0) !important;
  top: 0;
}
#lv:not(.parallax).pos_lt .parallax_img {
  background-position: 0 0 !important;
}
#lv:not(.parallax).pos_ct .parallax_img {
  background-position: 50% 0 !important;
}
#lv:not(.parallax).pos_rt .parallax_img {
  background-position: 100% 0 !important;
}
#lv:not(.parallax).pos_l .parallax_img {
  background-position: 0 50% !important;
}
#lv:not(.parallax).pos_c .parallax_img {
  background-position: 50% 50% !important;
}
#lv:not(.parallax).pos_r .parallax_img {
  background-position: 50% 100% !important;
}
#lv:not(.parallax).pos_lb .parallax_img {
  background-position: 0 100% !important;
}
#lv:not(.parallax).pos_cb .parallax_img {
  background-position: 50% 100% !important;
}
#lv:not(.parallax).pos_rb .parallax_img {
  background-position: 100% 100% !important;
}

#lv.blur0 .parallax_img {
  width: 100% !important;
  margin-top: 0 !important;
  margin-left: 0 !important;
}
#lv:not(.parallax).blur0 .parallax_img {
  height: 100% !important;
}
#lv.blur5 .parallax_img {
  width: calc(100% + 10px) !important;
  margin-top: -5px !important;
  margin-left: -5px !important;
}
#lv:not(.parallax).blur5 .parallax_img {
  height: calc(100% + 10px) !important;
}
#lv.blur10 .parallax_img {
  width: calc(100% + 20px) !important;
  margin-top: -10px !important;
  margin-left: -10px !important;
}
#lv:not(.parallax).blur10 .parallax_img {
  height: calc(100% + 20px) !important;
}
#lv.blur20 .parallax_img {
  width: calc(100% + 40px) !important;
  margin-top: -20px !important;
  margin-left: -20px !important;
}
#lv:not(.parallax).blur20 .parallax_img {
  height: calc(100% + 40px) !important;
}
#lv.blur30 .parallax_img {
  width: calc(100% + 60px) !important;
  margin-top: -30px !important;
  margin-left: -30px !important;
}
#lv:not(.parallax).blur30 .parallax_img {
  height: calc(100% + 60px) !important;
}

#mv.blur0 .mv_img img,
#lv.blur0 .parallax_img {
  -webkit-filter: blur(0px);
  -moz-filter: blur(0px);
  -o-filter: blur(0px);
  -ms-filter: blur(0px);
  filter: blur(0px);
}
#mv.blur5 .mv_img img,
#lv.blur5 .parallax_img {
  -webkit-filter: blur(5px);
  -moz-filter: blur(5px);
  -o-filter: blur(5px);
  -ms-filter: blur(5px);
  filter: blur(5px);
}
#mv.blur10 .mv_img img,
#lv.blur10 .parallax_img {
  -webkit-filter: blur(10px);
  -moz-filter: blur(10px);
  -o-filter: blur(10px);
  -ms-filter: blur(10px);
  filter: blur(10px);
}
#mv.blur20 .mv_img img,
#lv.blur20 .parallax_img {
  -webkit-filter: blur(20px);
  -moz-filter: blur(20px);
  -o-filter: blur(20px);
  -ms-filter: blur(20px);
  filter: blur(20px);
}
#mv.blur30 .mv_img img,
#lv.blur30 .parallax_img {
  -webkit-filter: blur(30px);
  -moz-filter: blur(30px);
  -o-filter: blur(30px);
  -ms-filter: blur(30px);
  filter: blur(30px);
}

/*--pan--*/

#pan {
  z-index: 2;
  position: relative;
}
#pan ul,
#pan ol {
  display: flex;
  justify-content: flex-end;
  box-sizing: border-box;
  padding: 0 var(--i_padding, 20px);
  max-width: 1200px;
  margin: 0 auto;
  text-align: right;
}
#pan li {
  display: block;
  position: relative;
  overflow: hidden;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
#pan li:before,
#pan li:after {
  content: '';
  display: block;
  height: 30px;
  width: 30px;
  transform: rotate(45deg);
  position: absolute;
  top: calc(50% - 15px);
  left: -13px;
}
#pan li:first-child:before,
#pan li:first-child:after {
  display: none;
}
@media screen and (max-width: 400px) {
  #pan {
    display: none;
  }
}

/*--category1--*/

.category1 {
  display: block;
  margin: 0 auto 30px;
  text-align: center;
}
.category1 li {
  display: inline-block;
  margin-bottom: 10px;
}
.category1 li a {
  display: block;
  padding: 7px 20px;
  margin: 0 5px;
  transition: 0.2s ease-in-out;
}

/*--pager--*/

.pager {
  width: 100%;
  display: block;
  margin: 0 auto;
  padding-bottom: 0 !important;
  text-align: center;
  box-sizing: border-box;
  font-size: 1.5rem;
}
main > .pager {
  margin-bottom: 40px;
}
.pager > p {
  text-align: center;
  font-size: 1.3rem;
  margin-bottom: 10px;
}
.pager ul {
  display: block;
  white-space: nowrap;
}
.pager li {
  display: inline-block;
  margin: 0 1px;
}
.pager li a {
  display: block;
  transition: 0.2s ease-in-out;
}
@media screen and (max-width: 450px) {
  .pager li a {
    width: 37px !important;
    height: 37px !important;
    line-height: 37px !important;
    white-space: nowrap;
  }
}
.pager li.arrow_prev a,
.pager li.arrow_next a {
  pointer-events: none;
}

/*--pager2--*/

.pager2 {
  width: 100%;
  display: block;
  margin: 0 auto 40px;
  padding: 0 0 0;
  box-sizing: border-box;
  font-size: 1.5rem;
}
.pager2 ul {
  display: flex;
  justify-content: center;
  align-items: center;
}
.pager2 ul:nth-of-type(2):nth-last-of-type(1) {
  margin-top: 20px;
}
.pager2 li {
  display: flex;
  align-items: stretch;
  width: 30%;
}
.pager2 li:nth-of-type(2) {
  width: 40%;
}
.pager2 li.prev {
  text-align: left;
  justify-content: flex-start;
}
.pager2 li.back {
  text-align: center;
  justify-content: center;
}
.pager2 li.next {
  text-align: right;
  justify-content: flex-end;
}
.pager2 li a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 45px;
  transition: 0.2s ease-in-out;
  text-align: center;
  line-height: 1.4 !important;
}
@media screen and (max-width: 450px) {
  .pager2 li a {
    font-size: 1.4rem;
  }
}

/*----------------------------popup--------------------------------*/

.popup {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 60;
}
.popclose {
  display: block;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  position: absolute;
  top: 10px;
  right: 10px;
  cursor: pointer;
  z-index: 10;
  transition: 0.3s ease-in-out;
  font-size: 5rem;
  font-weight: normal;
  color: var(--i_btn_color);
}
.popclose:hover {
  opacity: 0.8;
}
.popimg {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 10;
  display: table;
  table-layout: fixed;
}
.popimg > div {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  width: 100%;
}
.popimgwrap {
  display: inline-block;
  max-width: 80%;
  position: relative;
  opacity: 0;
  z-index: 5;
}
.popimg img {
  display: block;
  margin: 0 auto;
  position: relative;
  z-index: 5;
  background: var(--i_bg_color);
  max-height: 90vh;
  box-shadow: 10px 10px 20px var(--i_shadow_color);
}
.poptxt {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 11;
  padding: 10px;
  width: 100%;
  box-sizing: border-box;
  text-align: left;
  transition: 0.2s ease-in-out;
}
.poptxt:before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: var(--i_bg_color);
  opacity: 0.7;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.poptxt p {
  position: relative;
  z-index: 2;
  color: var(--i_txt_color);
}
.poptxt:empty {
  opacity: 0 !important;
}
.poptxt.timelimit {
  opacity: 0;
}
.popimgwrap:hover .poptxt.timelimit {
  opacity: 1;
}
.popnav {
  display: block;
  width: 100%;
  height: 0;
  position: absolute;
  top: calc(50% - 22px);
  left: 0;
  z-index: 10;
}
.popnav li {
  display: block;
  float: left;
  width: 44px;
  height: 44px;
  cursor: pointer;
  position: relative;
  border-radius: 44px;
  background: var(--i_btn_color);
}
.popnav li:hover {
  opacity: 0.7;
}
.popnav li.popprev {
  float: left;
  margin-left: 10px;
}
.popnav li.popnext {
  float: right;
  margin-right: 10px;
}
.popnav li:before {
  content: '';
  font-size: 3rem;
  line-height: 40px;
  display: block;
  width: 10px;
  height: 10px;
  text-align: center;
  position: absolute;
  top: 15px;
  left: 13px;
  border-top: 3px solid var(--i_bg_color);
  border-right: 3px solid var(--i_bg_color);
}
.popnav li.popprev:before {
  transform: rotate(-135deg);
  left: 17px;
}
.popnav li.popnext:before {
  transform: rotate(45deg);
}
.popup .loader {
  position: relative;
  display: inline-block;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  animation: spin 0.75s infinite linear;
  position: absolute;
  top: calc(50% - 25px);
  left: calc(50% - 25px);
  display: block;
  z-index: 4;
}
.popup .loader::before,
.popup .loader::after {
  display: none;
  position: absolute;
  content: '';
  width: inherit;
  height: inherit;
  border: inherit;
  border-radius: inherit;
}
.popup .loader,
.popup .loader::before {
  display: inline-block;
  border-color: transparent;
}
.popup .loader::before {
  animation: spin 1.5s infinite ease;
}
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

/*----------------------------fixbtn--------------------------------*/

#fixbtn {
  min-height: 60px;
}
#fixbtn .fixbtnwrap {
  width: 100%;
  position: fixed;
  left: 0;
  transition: 0.3s ease-in-out;
  transform: translateY(100%);
}
#fixbtn.scrolled .fixbtnwrap {
  bottom: 0;
}
#fixbtn .inner {
  display: flex;
  min-height: 60px;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto;
  box-sizing: border-box;
}
footer.width_full #fixbtn .inner {
  max-width: none;
}
#fixbtn .inner > div {
  display: flex;
  align-items: center;
  padding: 8px 15px;
}
#fixbtn .fixbtntel {
  line-height: 1.5;
  text-align: left;
  flex-grow: 1;
  flex-shrink: 2;
}
#fixbtn .fixbtntel [data-tel],
#fixbtn .fixbtntel > a {
  align-items: center;
}
#fixbtn .fixbtntel [data-tel] {
  pointer-events: none;
}
#fixbtn .fixbtntel [data-tel],
#fixbtn .fixbtntel > a {
  text-decoration: none !important;
}
#fixbtn .fixbtntel a.pc_tel {
  pointer-events: auto;
}
#fixbtn .fixbtntel span {
  white-space: nowrap;
}
#fixbtn .fixbtntel > p {
  font-size: 1.25rem;
  line-height: 1.2;
  word-break: break-all;
}
@media screen and (min-width: 1200px) {
  footer.width_full #fixbtn .inner > div.fixbtntel {
    padding-left: 20px;
  }
  footer.width_full #fixbtn #scrolltop {
    padding-right: 20px;
  }
}
@media screen and (max-width: 1300px) {
  #fixbtn .fixbtntel {
    flex-wrap: wrap;
    align-content: center;
  }
  #fixbtn .fixbtntel p {
    width: 100%;
    padding-top: 10px;
  }
}
@media screen and (max-width: 768px) {
  #fixbtn .fixbtntel [data-tel] {
    pointer-events: auto;
  }
}
@media screen and (max-width: 600px) {
  #fixbtn .fixbtnwrap {
    border-bottom: none !important;
  }
}
#fixbtn .inner > div.contents_btn01 {
  flex-shrink: 0;
  align-items: center;
  box-sizing: border-box;
}
#fixbtn .contents_btn01 a[style*='background-color:']:hover {
  opacity: 0.8;
}
#fixbtn .contents_btn01 a:nth-of-type(2):nth-last-of-type(1) {
  margin-left: 10px;
}
#fixbtn .contents_btn01 a i.ic {
  display: block;
  width: 25px;
  height: 25px;
  margin-left: 15px;
  flex-shrink: 0;
}
#fixbtn .contents_btn01 a[target='_blank'] i.ic {
  margin-left: 7px;
}
#fixbtn .contents_btn01 a img.icimg {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
#fixbtn .contents_btn01 a i.ic {
  mask-size: contain !important;
}
#fixbtn .contents_btn01 a i.ic + span,
#fixbtn .accordion_btn span.inn {
  padding-left: 5px;
}
#fixbtn #scrolltop {
  padding-left: 0;
}
#fixbtn #scrolltop a {
  display: block;
  position: relative;
  transition: 0.4s ease-in-out;
  overflow: hidden;
}
#fixbtn #scrolltop a:before {
  content: '';
  display: block;
  position: absolute;
}
@media screen and (max-width: 1300px) {
  #fixbtn .contents_btn01 {
    flex-direction: column;
    justify-content: center;
  }
  #fixbtn .contents_btn01 a:nth-of-type(2):nth-last-of-type(1) {
    margin-top: 5px;
    margin-left: inherit;
  }
}
@media screen and (max-width: 700px) {
  #fixbtn .inner {
    justify-content: space-around;
    flex-wrap: wrap;
    padding: 3px 5px;
  }
  #fixbtn .inner > div {
    border: none !important;
    padding: 8px 0;
  }
  #fixbtn .inner > div.fixbtntel {
    flex-grow: 0;
    flex-shrink: 0;
    padding-left: 5px;
    padding-right: 5px;
  }
  #fixbtn .fixbtntel [data-tel],
  #fixbtn .fixbtntel > a {
    margin-left: 5px;
    margin-right: 5px;
  }
  #fixbtn .fixbtntel p {
    display: none;
  }
  #fixbtn .inner > div.contents_btn01 {
    flex-grow: 0;
    flex-shrink: 0;
    max-width: 100%;
    flex-wrap: wrap;
  }
  #fixbtn .contents_btn01 {
    flex-direction: row;
  }
  #fixbtn .contents_btn01 a {
    /*min-width: 0;*/
    margin: 2px 2.5px !important;
    min-width: 130px;
  }
  #fixbtn .contents_btn01 a:nth-of-type(2):nth-last-of-type(1) {
    margin-top: 0;
  }
  #fixbtn .contents_btn01 > a i.ic {
    width: 20px;
    height: 20px;
    margin-left: 5px;
  }
  /*▼2個の時*/
  #fixbtn .contents_btn01 a:nth-last-child(2):not([target='_blank']) span,
  #fixbtn .contents_btn01 a + a:not([target='_blank']) span {
    padding-left: 5px !important;
    padding-right: 5px !important;
  }
  #fixbtn .contents_btn01 a:nth-last-child(2)[target='_blank'] span,
  #fixbtn .contents_btn01 a + a[target='_blank'] span {
    padding-left: 5px !important;
  }
  /*▲2個の時*/
  #fixbtn #scrolltop {
    display: none;
  }
  #fixbtn.no {
    display: none;
  }
}
@media screen and (max-width: 600px) {
  #fixbtn .fixbtntel svg {
    width: 12px !important;
    height: 12px !important;
  }
  #fixbtn .fixbtntel [data-tel],
  #fixbtn .fixbtntel > a {
    font-size: 2.5rem !important;
  }
  .ft02 #fixbtn .fixbtntel [data-tel],
  .ft02 #fixbtn .fixbtntel > a {
    font-size: 2.7rem !important;
  }
  .ft02 #fixbtn .contents_btn01 span {
    font-size: 1.5rem !important;
  }
}
@media screen and (max-width: 400px) {
  #fixbtn .fixbtntel [data-tel],
  #fixbtn .fixbtntel > a {
    font-size: 2.1rem !important;
  }
  #fixbtn .contents_btn01 span {
    font-size: 1.3rem !important;
    letter-spacing: 0;
    line-height: 1.4;
    text-align: left;
  }
  .ft02 #fixbtn .fixbtntel [data-tel],
  .ft02 #fixbtn .fixbtntel > a {
    font-size: 2.4rem !important;
  }
  .ft02 #fixbtn .contents_btn01 span {
    font-size: 1.5rem !important;
  }
}
@media screen and (max-width: 320px) {
  #fixbtn .inner > div.fixbtntel {
    flex-wrap: wrap;
    width: 100%;
    justify-content: center;
  }
}

/*----------------------------pattern1--------------------------------*/

#fixbtn[data-pattern='1'] .contents_btn01 a {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: none;
  min-width: 0;
}
#fixbtn[data-pattern='1']:has(.accordion_btn) .contents_btn01 a,
#fixbtn[data-pattern='1']:has(.accordion_btn) .contents_btn01 .accordion_btn {
  width: 48%;
}
@media screen and (max-width: 1300px) {
  #fixbtn[data-pattern='1']:has(.accordion_btn) .contents_btn01 a,
  #fixbtn[data-pattern='1']:has(.accordion_btn) .contents_btn01 .accordion_btn {
    width: 100%;
  }
}

/*----------------------------pattern2--------------------------------*/

#fixbtn[data-pattern='2'] .inner {
  max-width: none;
  flex-wrap: wrap;
  padding: 0 !important;
}
#fixbtn[data-pattern='2'] .fixbtntel {
  padding: 0 !important;
  border: none;
  flex-grow: 1;
  flex-shrink: inherit;
  padding: 0 10px !important;
  justify-content: center;
  box-sizing: border-box;
  flex-wrap: nowrap;
  max-width: 34%;
}
#fixbtn[data-pattern='2'] .fixbtntel svg {
  width: 14px;
  height: 14px;
  transform: translateY(-1px);
}
#fixbtn[data-pattern='2'] .fixbtntel [data-tel],
#fixbtn[data-pattern='2'] .fixbtntel > a {
  font-size: 2rem !important;
  margin: 0;
  width: auto;
  box-sizing: border-box;
  text-align: center;
  padding: 5px 15px;
}
#fixbtn[data-pattern='2'] .fixbtntel [data-tel],
#fixbtn[data-pattern='2'] .fixbtntel > a {
  white-space: nowrap;
}
#fixbtn[data-pattern='2'] .fixbtntel [data-tel] *,
#fixbtn[data-pattern='2'] .fixbtntel > a * {
  white-space: normal;
}
#fixbtn[data-pattern='2'] .fixbtntel p {
  width: auto;
  padding: 5px 15px;
}
#fixbtn[data-pattern='2'] .fixbtntel p:nth-child(1):nth-last-child(1) {
  text-align: center;
}
#fixbtn[data-pattern='2'] .inner > div {
  padding: 0;
}
#fixbtn[data-pattern='2'] .contents_btn01 {
  align-items: stretch !important;
  border: none;
  box-sizing: border-box;
  flex-direction: row !important;
}
#fixbtn[data-pattern='2'] .contents_btn01 > a {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: none;
  min-width: 0;
  border-radius: 0 !important;
  margin: 0 !important;
}
#fixbtn[data-pattern='2'] .contents_btn01 > a:before,
#fixbtn[data-pattern='2'] .contents_btn01 > a:after {
  border-radius: 0 !important;
}
#fixbtn[data-pattern='2'] .contents_btn01 > a span,
#fixbtn[data-pattern='2'] .accordion_btn span.inn {
  padding-top: 11px;
  padding-bottom: 9px;
}
#fixbtn[data-pattern='2'] #scrolltop {
  display: none;
}

/*btn*1 => a*/
#fixbtn[data-pattern='2'] .contents_btn01:has(> a:nth-child(1):nth-last-child(1)) > a {
  width: 100% !important;
}
/*btn*2 => a*/
#fixbtn[data-pattern='2'] .contents_btn01:has(> a:nth-child(1):nth-last-child(2)) > a {
  width: 50% !important;
  box-sizing: border-box;
}
/*btn*1 => a, .accordion_btn*/
#fixbtn[data-pattern='2'] a + .accordion_btn,
#fixbtn[data-pattern='2']
  .contents_btn01:has(.accordion_btn):has(> a:nth-child(1):nth-last-child(2))
  > a {
  width: 50% !important;
  box-sizing: border-box;
}
/*btn*2 => a, .accordion_btn */
#fixbtn[data-pattern='2'] a + a + .accordion_btn,
#fixbtn[data-pattern='2']
  .contents_btn01:has(.accordion_btn):has(> a:nth-child(1):nth-last-child(3))
  > a {
  width: 33.3% !important;
}
/*.contents_btn01*/
#fixbtn[data-pattern='2']:not(:has(.fixbtntel)) .contents_btn01 {
  width: 100%;
}
/*tel tel => .contents_btn01*/
/*tel => .contents_btn01*/
/*tel p => .contents_btn01*/
/*p => .contents_btn01*/
#fixbtn[data-pattern='2']:has(.fixbtntel) .contents_btn01 {
  width: 66%;
}
/*tel tel p*/
/*tel p*/
/*.fixbtntel btn*1*/
#fixbtn[data-pattern='2']:has(.fixbtntel [data-tel]:nth-child(1)):has(
    .fixbtntel [data-tel]:nth-child(2)
  ):has(.fixbtntel > p)
  .contents_btn01,
#fixbtn[data-pattern='2']:has(.fixbtntel [data-tel]:nth-child(1):nth-last-child(2)):has(
    .fixbtntel > p
  ):has(.contents_btn01 > a:nth-child(2):nth-last-child(1))
  .contents_btn01,
#fixbtn[data-pattern='2']:has(.fixbtntel > a:nth-child(1)):has(.fixbtntel > a:nth-child(2)):has(
    .fixbtntel > p
  )
  .contents_btn01,
#fixbtn[data-pattern='2']:has(.fixbtntel > a:nth-child(1):nth-last-child(2)):has(
    .fixbtntel > p
  ):has(.contents_btn01 > a:nth-child(2):nth-last-child(1))
  .contents_btn01,
#fixbtn[data-pattern='2']:has(.fixbtntel):has(.contents_btn01 > a:nth-child(1):nth-last-child(1))
  .contents_btn01 {
  width: 50%;
}
#fixbtn[data-pattern='2']
  .fixbtntel:has([data-tel]:nth-child(1)):has([data-tel]:nth-child(2)):has(> p),
#fixbtn[data-pattern='2'] .fixbtntel:has(> a:nth-child(1)):has(> a:nth-child(2)):has(> p),
#fixbtn[data-pattern='2']:has(.contents_btn01 > a:nth-child(1):nth-last-child(1)) .fixbtntel {
  max-width: 50%;
}

@media screen and (max-width: 1300px) {
  /*tel tel => .contents_btn01*/
  /*tel => .contents_btn01*/
  /*tel p => .contents_btn01*/
  /*p => .contents_btn01*/
  #fixbtn[data-pattern='2']:has(.fixbtntel) .contents_btn01,
  #fixbtn[data-pattern='2']:has(.fixbtntel) .fixbtntel {
    max-width: 50%;
  }
  /*tel tel p*/
  #fixbtn[data-pattern='2']:has(.fixbtntel [data-tel]:nth-child(1)):has(
      .fixbtntel [data-tel]:nth-child(2)
    ):has(.fixbtntel > p)
    .contents_btn01,
  #fixbtn[data-pattern='2']:has(.fixbtntel > a:nth-child(1)):has(.fixbtntel > a:nth-child(2)):has(
      .fixbtntel > p
    )
    .contents_btn01 {
    width: 40%;
  }
  #fixbtn[data-pattern='2']
    .fixbtntel:has([data-tel]:nth-child(1)):has([data-tel]:nth-child(2)):has(> p),
  #fixbtn[data-pattern='2'] .fixbtntel:has(> a:nth-child(1)):has(> a:nth-child(2)):has(> p) {
    max-width: 60%;
  }
  /*tel tel p btn*1*/
  #fixbtn[data-pattern='2']:has(.fixbtntel [data-tel]:nth-child(1)):has(
      .fixbtntel [data-tel]:nth-child(2)
    ):has(.fixbtntel > p):has(.contents_btn01 > a:nth-child(1):nth-last-child(1))
    .contents_btn01,
  #fixbtn[data-pattern='2']:has(.fixbtntel > a:nth-child(1)):has(.fixbtntel > a:nth-child(2)):has(
      .fixbtntel > p
    ):has(.contents_btn01 > a:nth-child(1):nth-last-child(1))
    .contents_btn01 {
    width: 33%;
  }
  #fixbtn[data-pattern='2']:has(.fixbtntel [data-tel]:nth-child(1)):has(
      .fixbtntel [data-tel]:nth-child(2)
    ):has(.fixbtntel > p):has(.contents_btn01 > a:nth-child(1):nth-last-child(1))
    .contents_btn01,
  #fixbtn[data-pattern='2']:has(.fixbtntel > a:nth-child(1)):has(.fixbtntel > a:nth-child(2)):has(
      .fixbtntel > p
    ):has(.contents_btn01 > a:nth-child(1):nth-last-child(1))
    .contents_btn01 {
    max-width: 67%;
  }
  /*tel btn*2*/
  #fixbtn[data-pattern='2']:has(.fixbtntel [data-tel]:nth-child(1):nth-last-child(1)):has(
      .contents_btn01 > a:nth-child(2):nth-last-child(1)
    )
    .contents_btn01,
  #fixbtn[data-pattern='2']:has(.fixbtntel > a:nth-child(1):nth-last-child(1)):has(
      .contents_btn01 > a:nth-child(2):nth-last-child(1)
    )
    .contents_btn01 {
    width: 67%;
    max-width: none;
  }
  #fixbtn[data-pattern='2']:has(.fixbtntel [data-tel]:nth-child(1):nth-last-child(1)):has(
      .contents_btn01 > a:nth-child(2):nth-last-child(1)
    )
    .fixbtntel,
  #fixbtn[data-pattern='2']:has(.fixbtntel > a:nth-child(1):nth-last-child(1)):has(
      .contents_btn01 > a:nth-child(2):nth-last-child(1)
    )
    .fixbtntel {
    max-width: 33%;
  }
  /*tel tel btn*1*/
  /*tel p btn*2*/
  /*tel p btn*1*/
  /*p btn*1*/
  #fixbtn[data-pattern='2']:has(.fixbtntel [data-tel]:nth-child(2):nth-last-child(1)):has(
      .contents_btn01 > a:nth-child(1):nth-last-child(1)
    )
    .contents_btn01,
  #fixbtn[data-pattern='2']:has(.fixbtntel [data-tel]:nth-child(1):nth-last-child(2)):has(
      .fixbtntel > p
    ):has(.contents_btn01 > a:nth-child(2):nth-last-child(1))
    .contents_btn01,
  #fixbtn[data-pattern='2']:has(.fixbtntel [data-tel]:nth-child(1):nth-last-child(2)):has(
      .fixbtntel > p
    ):has(.contents_btn01 > a:nth-child(2):nth-last-child(1))
    .fixbtntel,
  #fixbtn[data-pattern='2']:has(.fixbtntel [data-tel]:nth-child(1):nth-last-child(2)):has(
      .fixbtntel > p
    ):has(.contents_btn01 > a:nth-child(1):nth-last-child(1))
    .contents_btn01,
  #fixbtn[data-pattern='2']:has(.fixbtntel [data-tel]:nth-child(1):nth-last-child(2)):has(
      .fixbtntel > p
    ):has(.contents_btn01 > a:nth-child(1):nth-last-child(1))
    .fixbtntel,
  #fixbtn[data-pattern='2']:has(.fixbtntel > a:nth-child(2):nth-last-child(1)):has(
      .contents_btn01 > a:nth-child(1):nth-last-child(1)
    )
    .contents_btn01,
  #fixbtn[data-pattern='2']:has(.fixbtntel > a:nth-child(1):nth-last-child(2)):has(
      .fixbtntel > p
    ):has(.contents_btn01 > a:nth-child(2):nth-last-child(1))
    .contents_btn01,
  #fixbtn[data-pattern='2']:has(.fixbtntel > a:nth-child(1):nth-last-child(2)):has(
      .fixbtntel > p
    ):has(.contents_btn01 > a:nth-child(2):nth-last-child(1))
    .fixbtntel,
  #fixbtn[data-pattern='2']:has(.fixbtntel > a:nth-child(1):nth-last-child(2)):has(
      .fixbtntel > p
    ):has(.contents_btn01 > a:nth-child(1):nth-last-child(1))
    .contents_btn01,
  #fixbtn[data-pattern='2']:has(.fixbtntel > a:nth-child(1):nth-last-child(2)):has(
      .fixbtntel > p
    ):has(.contents_btn01 > a:nth-child(1):nth-last-child(1))
    .fixbtntel,
  #fixbtn[data-pattern='2']:has(.fixbtntel > p:nth-child(1)):has(
      .contents_btn01 > a:nth-child(1):nth-last-child(1)
    )
    .contents_btn01,
  #fixbtn[data-pattern='2']:has(.fixbtntel > p:nth-child(1)):has(
      .contents_btn01 > a:nth-child(1):nth-last-child(1)
    )
    .fixbtntel {
    width: 50%;
  }
}
@media screen and (max-width: 1100px) {
  /*tel tel p  btn*2*/
  #fixbtn[data-pattern='2']:has(.fixbtntel [data-tel]:nth-child(1)):has(
      .fixbtntel [data-tel]:nth-child(2)
    ):has(.fixbtntel > p):has(.contents_btn01 > a:nth-child(2):nth-last-child(1))
    .contents_btn01,
  #fixbtn[data-pattern='2']:has(.fixbtntel [data-tel]:nth-child(1)):has(
      .fixbtntel [data-tel]:nth-child(2)
    ):has(.fixbtntel > p):has(.contents_btn01 > a:nth-child(2):nth-last-child(1))
    .fixbtntel,
  #fixbtn[data-pattern='2']:has(.fixbtntel > a:nth-child(1)):has(.fixbtntel > a:nth-child(2)):has(
      .fixbtntel > p
    ):has(.contents_btn01 > a:nth-child(2):nth-last-child(1))
    .contents_btn01,
  #fixbtn[data-pattern='2']:has(.fixbtntel > a:nth-child(1)):has(.fixbtntel > a:nth-child(2)):has(
      .fixbtntel > p
    ):has(.contents_btn01 > a:nth-child(2):nth-last-child(1))
    .fixbtntel {
    width: 100%;
    max-width: 100%;
  }
}
@media screen and (max-width: 900px) {
  #fixbtn[data-pattern='2'] .fixbtntel {
    padding: 0 5px !important;
  }
  #fixbtn[data-pattern='2'] .fixbtntel [data-tel],
  #fixbtn[data-pattern='2'] .fixbtntel > a {
    padding: 5px;
  }
  /*tel tel p  btn*1*/
  #fixbtn[data-pattern='2']:has(.fixbtntel [data-tel]:nth-child(1)):has(
      .fixbtntel [data-tel]:nth-child(2)
    ):has(.fixbtntel > p):has(.contents_btn01 > a:nth-child(1):nth-last-child(1))
    .contents_btn01,
  #fixbtn[data-pattern='2']:has(.fixbtntel [data-tel]:nth-child(1)):has(
      .fixbtntel [data-tel]:nth-child(2)
    ):has(.fixbtntel > p):has(.contents_btn01 > a:nth-child(1):nth-last-child(1))
    .fixbtntel,
  #fixbtn[data-pattern='2']:has(.fixbtntel > a:nth-child(1)):has(.fixbtntel > a:nth-child(2)):has(
      .fixbtntel > p
    ):has(.contents_btn01 > a:nth-child(1):nth-last-child(1))
    .contents_btn01,
  #fixbtn[data-pattern='2']:has(.fixbtntel > a:nth-child(1)):has(.fixbtntel > a:nth-child(2)):has(
      .fixbtntel > p
    ):has(.contents_btn01 > a:nth-child(1):nth-last-child(1))
    .fixbtntel {
    width: 100%;
    max-width: 100%;
  }
}
@media screen and (max-width: 768px) {
  /*tel tel btn*1 => .contents_btn01*/
  #fixbtn[data-pattern='2']:has(.fixbtntel [data-tel]:nth-child(2):nth-last-child(1)):has(
      .contents_btn01 > a:nth-child(1):nth-last-child(1)
    )
    .contents_btn01,
  #fixbtn[data-pattern='2']:has(.fixbtntel > a:nth-child(2):nth-last-child(1)):has(
      .contents_btn01 > a:nth-child(1):nth-last-child(1)
    )
    .contents_btn01 {
    width: 33%;
  }
  #fixbtn[data-pattern='2']:has(.fixbtntel [data-tel]:nth-child(2):nth-last-child(1)):has(
      .contents_btn01 > a:nth-child(1):nth-last-child(1)
    )
    .fixbtntel,
  #fixbtn[data-pattern='2']:has(.fixbtntel > a:nth-child(2):nth-last-child(1)):has(
      .contents_btn01 > a:nth-child(1):nth-last-child(1)
    )
    .fixbtntel {
    width: 67%;
    max-width: none;
  }
}
@media screen and (max-width: 700px) {
  /*tel p btn*2*/
  #fixbtn[data-pattern='2']:has(.fixbtntel [data-tel]:nth-child(1):nth-last-child(2)):has(
      .fixbtntel > p
    ):has(.contents_btn01 > a:nth-child(2):nth-last-child(1))
    .contents_btn01,
  #fixbtn[data-pattern='2']:has(.fixbtntel > a:nth-child(1):nth-last-child(2)):has(
      .fixbtntel > p
    ):has(.contents_btn01 > a:nth-child(2):nth-last-child(1))
    .contents_btn01 {
    width: 66%;
    max-width: none;
  }
  #fixbtn[data-pattern='2']:has(.fixbtntel [data-tel]:nth-child(1):nth-last-child(2)):has(
      .fixbtntel > p
    ):has(.contents_btn01 > a:nth-child(2):nth-last-child(1))
    .fixbtntel,
  #fixbtn[data-pattern='2']:has(.fixbtntel > a:nth-child(1):nth-last-child(2)):has(
      .fixbtntel > p
    ):has(.contents_btn01 > a:nth-child(2):nth-last-child(1))
    .fixbtntel {
    width: 34%;
  }
  /*p*/
  /*p btn*1*/
  #fixbtn[data-pattern='2']:has(.fixbtntel > p) .contents_btn01,
  #fixbtn[data-pattern='2']:has(.fixbtntel > p:nth-child(1)):has(
      .contents_btn01 > a:nth-child(1):nth-last-child(1)
    )
    .contents_btn01 {
    width: 100%;
    max-width: none;
  }
  #fixbtn[data-pattern='2'] .inner > div.fixbtntel {
    flex-grow: 1;
  }
}
@media screen and (max-width: 670px) {
  /*tel tel btn*2*/
  #fixbtn[data-pattern='2']:has(.fixbtntel [data-tel]:nth-child(2):nth-last-child(1)):has(
      .contents_btn01 > a:nth-child(2):nth-last-child(1)
    )
    .contents_btn01,
  #fixbtn[data-pattern='2']:has(.fixbtntel [data-tel]:nth-child(2):nth-last-child(1)):has(
      .contents_btn01 > a:nth-child(2):nth-last-child(1)
    )
    .fixbtntel,
  #fixbtn[data-pattern='2']:has(.fixbtntel > a:nth-child(2):nth-last-child(1)):has(
      .contents_btn01 > a:nth-child(2):nth-last-child(1)
    )
    .contents_btn01,
  #fixbtn[data-pattern='2']:has(.fixbtntel > a:nth-child(2):nth-last-child(1)):has(
      .contents_btn01 > a:nth-child(2):nth-last-child(1)
    )
    .fixbtntel {
    width: 100%;
    max-width: none;
  }
}
@media screen and (max-width: 600px) {
  #fixbtn[data-pattern='2'] .contents_btn01 span {
    font-size: 1.3rem !important;
  }
  #fixbtn[data-pattern='2'] .fixbtntel svg {
    transform: translateY(-2px);
  }
}
@media screen and (max-width: 550px) {
  /*tel p btn*2*/
  #fixbtn[data-pattern='2']:has(.fixbtntel [data-tel]:nth-child(1):nth-last-child(2)):has(
      .fixbtntel > p
    ):has(.contents_btn01 > a:nth-child(2):nth-last-child(1))
    .contents_btn01,
  #fixbtn[data-pattern='2']:has(.fixbtntel [data-tel]:nth-child(1):nth-last-child(2)):has(
      .fixbtntel > p
    ):has(.contents_btn01 > a:nth-child(2):nth-last-child(1))
    .fixbtntel,
  #fixbtn[data-pattern='2']:has(.contents_btn01 > a:nth-child(2):nth-last-child(1)) .contents_btn01,
  #fixbtn[data-pattern='2']:has(.contents_btn01 > a:nth-child(2):nth-last-child(1)) .fixbtntel {
    width: 100% !important;
  }
  /*tel tel btn*1*/
  #fixbtn[data-pattern='2']:has(.fixbtntel [data-tel]:nth-child(2):nth-last-child(1)):has(
      .contents_btn01 > a:nth-child(1):nth-last-child(1)
    )
    .contents_btn01,
  #fixbtn[data-pattern='2']:has(.fixbtntel > a:nth-child(2):nth-last-child(1)):has(
      .contents_btn01 > a:nth-child(1):nth-last-child(1)
    )
    .contents_btn01 {
    width: auto;
    max-width: none;
    flex-grow: 1;
  }
  #fixbtn[data-pattern='2']:has(.fixbtntel [data-tel]:nth-child(2):nth-last-child(1)):has(
      .contents_btn01 > a:nth-child(1):nth-last-child(1)
    )
    .fixbtntel,
  #fixbtn[data-pattern='2']:has(.fixbtntel > a:nth-child(2):nth-last-child(1)):has(
      .contents_btn01 > a:nth-child(1):nth-last-child(1)
    )
    .fixbtntel {
    width: auto;
  }
}

/*----------------------------pattern3--------------------------------*/

#fixbtn[data-pattern='3'] .fixbtnwrap {
  background-color: transparent;
  pointer-events: none;
}
#fixbtn[data-pattern='3'] .inner {
  float: right;
  padding: 0 !important;
  justify-content: flex-end;
  flex-wrap: nowrap;
}
#fixbtn[data-pattern='3'] .fixbtntel {
  padding: 0 !important;
  border: none;
  flex-grow: inherit;
  flex-shrink: inherit;
  padding: 8px 8px 0 !important;
  justify-content: center;
  box-sizing: border-box;
  background: var(--i_bg_color);
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
  pointer-events: auto;
}

#fixbtn[data-pattern='3'] .fixbtntel svg {
  width: 14px;
  height: 14px;
  transform: translateY(-1px);
}
#fixbtn[data-pattern='3'] .fixbtntel [data-tel],
#fixbtn[data-pattern='3'] .fixbtntel > a {
  font-size: 2rem !important;
  margin: 0;
  width: auto;
  box-sizing: border-box;
  text-align: center;
  padding: 0 8px 8px;
  white-space: nowrap;
}
#fixbtn[data-pattern='3'] .fixbtntel p {
  width: auto;
  padding: 0 8px 8px;
}
#fixbtn[data-pattern='3'] .fixbtntel p:nth-child(1):nth-last-child(1) {
  text-align: center;
}
#fixbtn[data-pattern='3'] .contents_btn01 {
  pointer-events: auto;
  align-items: stretch !important;
  padding: 0;
}
footer #fixbtn[data-pattern='3'] .accordion_btn span.inn,
#fixbtn[data-pattern='3'] .contents_btn01 a {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  max-width: none;
  min-width: 0;
  margin: 0 !important;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
  box-sizing: border-box;
}
footer #fixbtn[data-pattern='3'] .accordion_btn span.inn {
  border-radius: 0;
  box-shadow: none;
}
footer #fixbtn[data-pattern='3'] .accordion_btn summary {
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}
footer #fixbtn[data-pattern='3'] .accordion_btn span.inn {
  width: 100%;
}
footer #fixbtn[data-pattern='3'] .accordion_btn,
#fixbtn[data-pattern='3'] .contents_btn01 a {
  margin-left: 1px !important;
}
footer #fixbtn[data-pattern='3'] .accordion_btn span.inn:before,
#fixbtn[data-pattern='3'] .contents_btn01 a i.ic {
  margin: 7px 7px 5px;
  width: 30px;
  height: 30px;
}
#fixbtn[data-pattern='3'] .contents_btn01 a[target='_blank'] i.ic + span:before {
  top: calc(50% - 3px);
}
#fixbtn[data-pattern='3'] .contents_btn01 a[target='_blank'] i.ic + span:after {
  top: calc(50% - 5px);
}
footer #fixbtn[data-pattern='3'] .accordion_btn span.inn,
#fixbtn[data-pattern='3'] .contents_btn01 a span {
  font-size: 1.3rem !important;
  letter-spacing: 0;
  line-height: 1.2;
  padding: 7px 3px;
  white-space: nowrap;
}
footer #fixbtn[data-pattern='3'] .accordion_btn span.inn,
#fixbtn[data-pattern='3'] .contents_btn01 a i.ic + span {
  padding: 0 3px 4px;
}
#fixbtn[data-pattern='3'] #scrolltop {
  display: none;
}

@media screen and (max-width: 1300px) {
  #fixbtn[data-pattern='3'] .contents_btn01 {
    flex-direction: row;
  }
}
@media screen and (max-width: 700px) {
  #fixbtn[data-pattern='3'][style*='position: relative'] .fixbtntel {
    justify-content: center !important;
  }
  #fixbtn[data-pattern='3'] .fixbtntel {
    flex-grow: inherit !important;
    flex-shrink: inherit !important;
    display: inline-flex !important;
    margin: 0 0 0 auto;
    flex-wrap: nowrap;
  }
}
@media screen and (max-width: 600px) {
  #fixbtn[data-pattern='3'] .fixbtntel svg {
    transform: translateY(-2px);
  }
  #fixbtn[data-pattern='3'] .contents_btn01 span {
    font-size: 1.3rem !important;
  }
}

#fixbtn[data-pattern='3'].column .inner {
  float: none;
  width: 100%;
  flex-wrap: wrap;
}
#fixbtn[data-pattern='3'].column .inner .fixbtntel,
#fixbtn[data-pattern='3'].column .inner .contents_btn01 {
  width: 100%;
  justify-content: center;
}
#fixbtn[data-pattern='3'].column .inner .contents_btn01 a:nth-of-type(2):nth-last-of-type(1),
#fixbtn[data-pattern='3'].column .inner .contents_btn01 a:nth-of-type(1):nth-last-of-type(2) {
  width: 50% !important;
  border-radius: 0;
  margin: 0 !important;
}

#fixbtn[data-pattern='3'][style*='position: relative'] .inner {
  width: 100%;
}
#fixbtn[data-pattern='3'][style*='position: relative'] .fixbtntel,
#fixbtn[data-pattern='3'][style*='position: relative'] .contents_btn01 a {
  box-shadow: none;
}
#fixbtn[data-pattern='3'][style*='position: relative'] .contents_btn01 {
  border: none !important;
}
#fixbtn[data-pattern='3'][style*='position: relative']
  .contents_btn01
  a:nth-of-type(2):nth-last-of-type(1) {
  margin-left: 0 !important;
}
#fixbtn[data-pattern='3'][style*='position: relative'] .contents_btn01 a {
  border-radius: 0;
}
#fixbtn[data-pattern='3'][style*='position: relative'] .fixbtntel {
  justify-content: flex-start;
  flex-grow: 1 !important;
  border-radius: 0;
}

/*----------------------------pattern4--------------------------------*/

#fixbtn[data-pattern='4'] {
  min-height: 0;
  z-index: 3;
}
#fixbtn[data-pattern='4'] .fixbtnwrap {
  background-color: transparent;
  pointer-events: none;
}
#fixbtn[data-pattern='4'] .inner {
  float: right;
  padding: 0 !important;
  justify-content: flex-end;
  flex-wrap: nowrap;
}
#fixbtn[data-pattern='4'] .fixbtntel {
  padding: 0 !important;
  flex-grow: inherit !important;
  flex-shrink: inherit !important;
  padding: 8px 8px 0 !important;
  justify-content: center;
  box-sizing: border-box;
  background: var(--i_bg_color);
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
  pointer-events: auto;
  display: block !important;
  width: auto !important;
  border-bottom: none !important;
}

#fixbtn[data-pattern='4'] .fixbtntel svg {
  width: 14px;
  height: 14px;
  transform: translateY(-1px);
}
#fixbtn[data-pattern='4'] .fixbtntel [data-tel],
#fixbtn[data-pattern='4'] .fixbtntel > a {
  font-size: 2rem !important;
  margin: 0;
  display: block;
  width: auto;
  box-sizing: border-box;
  text-align: center;
  padding: 0 0 8px;
  white-space: nowrap;
}
#fixbtn[data-pattern='4'] .fixbtntel p {
  width: auto;
  padding: 0 8px 8px;
  text-align: center;
}
#fixbtn[data-pattern='4'] .fixbtntel p:nth-child(1):nth-last-child(1) {
  text-align: center;
}
#fixbtn[data-pattern='4'] .contents_btn01 {
  pointer-events: auto;
  align-items: stretch !important;
  padding: 0;
}
#fixbtn[data-pattern='4'] .contents_btn01 a {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  max-width: 100px;
  min-width: 0;
  width: 20vw !important;
  margin: 0 0 0 1px !important;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
  box-sizing: border-box;
  border-bottom: none;
}
#fixbtn[data-pattern='4'] .contents_btn01 a i.ic {
  max-width: 40px;
  width: 55%;
  height: auto;
  aspect-ratio: 1;
}
#fixbtn[data-pattern='4'] .contents_btn01 a i.ic {
  margin: 7px 7px 5px;
  width: 30px;
  height: 30px;
}
#fixbtn[data-pattern='4'] .contents_btn01 a i.ic + span {
  display: none;
}
#fixbtn[data-pattern='4'] .contents_btn01 a span {
  font-size: 1.3rem !important;
  letter-spacing: 0;
  line-height: 1.2;
  padding: 7px 3px;
  white-space: nowrap;
}
#fixbtn[data-pattern='4'] #scrolltop {
  display: none;
}

@media screen and (max-width: 1300px) {
  #fixbtn[data-pattern='4'] .contents_btn01 {
    flex-direction: row;
  }
}
@media screen and (max-width: 700px) {
  #fixbtn[data-pattern='4'] .fixbtntel p {
    display: block;
    padding-left: 0;
    padding-right: 0;
  }
  #fixbtn[data-pattern='4'] ~ #cp {
    padding-bottom: 100px;
  }
}
@media screen and (max-width: 600px) {
  #fixbtn[data-pattern='4'] .fixbtntel svg {
    transform: translateY(-2px);
  }
  #fixbtn[data-pattern='4'] .contents_btn01 span {
    font-size: 1.3rem !important;
  }
}

#fixbtn[data-pattern='4'].column .inner {
  float: none;
  width: 100%;
  flex-wrap: wrap;
}
#fixbtn[data-pattern='4'].column .inner .fixbtntel,
#fixbtn[data-pattern='4'].column .inner .contents_btn01 {
  width: 100%;
  justify-content: center;
}
#fixbtn[data-pattern='4'].column .inner .contents_btn01 a:nth-of-type(2):nth-last-of-type(1),
#fixbtn[data-pattern='4'].column .inner .contents_btn01 a:nth-of-type(1):nth-last-of-type(2) {
  width: 50% !important;
  border-radius: 0;
  margin: 0 !important;
}

/*
#fixbtn[data-pattern="4"][style*="position: relative"] .inner{
	width: 100%;
}
#fixbtn[data-pattern="4"][style*="position: relative"] .fixbtntel,
#fixbtn[data-pattern="4"][style*="position: relative"] .contents_btn01 a{
	box-shadow: none;
}
#fixbtn[data-pattern="4"][style*="position: relative"] .contents_btn01{
	border: none !important;
}
#fixbtn[data-pattern="4"][style*="position: relative"] .contents_btn01 a:nth-of-type(2):nth-last-of-type(1){
	margin-left: 0 !important;
}
#fixbtn[data-pattern="4"][style*="position: relative"] .contents_btn01 a{
	border-radius: 0;
}
#fixbtn[data-pattern="4"][style*="position: relative"] .fixbtntel{
	justify-content: flex-start;
	flex-grow: 1 !important;
	border-radius: 0;
}
*/

/*----------------------------footer--------------------------------*/

footer {
  min-width: 280px;
  z-index: 15;
  position: relative;
  padding-bottom: 0 !important;
}
footer nav {
  display: block;
  margin-bottom: 30px;
}
footer nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
}
footer nav li {
  display: block;
}
footer nav li a {
  padding: 0 10px;
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.fnshow footer nav li a {
  white-space: normal;
  text-overflow: inherit;
}
footer .logo {
  margin: 0 auto 30px;
}
footer .sns {
  display: table;
  table-layout: fixed;
  justify-content: center;
}
footer .sns li {
  display: table-cell;
}
footer .sns li a {
  display: block;
}
footer .sns svg {
  margin: 0 auto;
  display: block;
}
@media screen and (max-width: 330px) {
  footer nav li a {
    letter-spacing: 0;
  }
}

/*add_design2 3 4 5*/
@media screen and (min-width: 701px) {
  footer.add_design2 .content_wrapper:after,
  footer.add_design3 .content_wrapper:after,
  footer.add_design4 .content_wrapper:after,
  footer.add_design5 .content_wrapper:after {
    content: '';
    display: block;
    clear: both;
  }
  footer.add_design2 .logo,
  footer.add_design3 .logo,
  footer.add_design4 .logo,
  footer.add_design5 .logo {
    float: right;
    width: 20%;
    max-width: 300px;
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    padding: 10px 0 10px 10px;
    box-sizing: border-box;
    text-align: right;
  }
  footer.add_design3 .logo,
  footer.add_design5 .logo {
    float: left;
    justify-content: flex-start;
    padding: 10px 10px 10px 0;
  }
  footer.width_full.add_design2 .logo,
  footer.width_full.add_design3 .logo,
  footer.width_full.add_design4 .logo,
  footer.width_full.add_design5 .logo {
    padding: 10px;
  }
  footer.add_design2 .logo a,
  footer.add_design3 .logo a,
  footer.add_design4 .logo a,
  footer.add_design5 .logo a {
    max-width: 80%;
    display: inline-block;
  }
  footer.add_design2 nav,
  footer.add_design2 .content_wrapper ul.sns,
  footer.add_design3 nav,
  footer.add_design3 .content_wrapper ul.sns,
  footer.add_design4 nav,
  footer.add_design4 .content_wrapper ul.sns,
  footer.add_design5 nav,
  footer.add_design5 .content_wrapper ul.sns {
    float: left;
    width: 80%;
  }
  footer.add_design3 nav,
  footer.add_design3 .content_wrapper ul.sns,
  footer.add_design5 nav,
  footer.add_design5 .content_wrapper ul.sns {
    float: right;
  }
  footer.add_design2 nav,
  footer.add_design3 nav,
  footer.add_design4 nav,
  footer.add_design5 nav {
    margin-bottom: 20px;
  }
  footer.add_design5 nav:after {
    content: '';
    display: block;
    clear: both;
  }
  footer.add_design2 nav:nth-last-child(2),
  footer.add_design3 nav:nth-last-child(2),
  footer.add_design2 .logo:nth-last-child(1),
  footer.add_design3 .logo:nth-last-child(1),
  footer.add_design4 nav:nth-last-child(2),
  footer.add_design5 nav:nth-last-child(2),
  footer.add_design4 .logo:nth-last-child(1),
  footer.add_design5 .logo:nth-last-child(1) {
    margin-bottom: 50px;
  }
  footer.add_design2 nav ul,
  footer.add_design2 .content_wrapper ul.sns,
  footer.add_design3 nav ul,
  footer.add_design3 .content_wrapper ul.sns,
  footer.add_design4 nav ul,
  footer.add_design4 .content_wrapper ul.sns,
  footer.add_design5 nav ul,
  footer.add_design5 .content_wrapper ul.sns {
    display: flex;
    align-items: center;
    align-content: flex-start;
    justify-content: flex-start;
    text-align: left;
  }
  footer.add_design3 nav ul,
  footer.add_design3 .content_wrapper ul.sns,
  footer.add_design5 nav ul,
  footer.add_design5 .content_wrapper ul.sns {
    justify-content: flex-end;
    text-align: right;
  }
  footer.add_design4 nav ul,
  footer.add_design5 nav ul {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    max-width: 1200px;
    text-align: left;
  }
  footer.add_design5 nav ul {
    float: right;
  }
  footer.add_design4 nav li.flw20,
  footer.add_design5 nav li.flw20 {
    width: 20%;
  }
  footer.add_design4 nav li.flw25,
  footer.add_design5 nav li.flw25 {
    width: 25%;
  }
  footer.add_design4 nav li.flw100,
  footer.add_design5 nav li.flw100 {
    width: 100%;
  }
  footer.add_design2 nav li,
  footer.add_design3 nav li,
  footer.add_design4 nav li,
  footer.add_design5 nav li {
    line-height: 1.6;
  }
}
/*add_design2 3 4 5*/

@media screen and (max-width: 700px) {
  footer .content_wrapper {
    padding: 0 !important;
  }
  footer nav {
    margin-bottom: 20px;
  }
  footer nav ul {
    align-items: stretch;
  }
  footer.add_design4 nav ul,
  footer.add_design5 nav ul {
    height: auto !important;
  }
  footer nav li {
    display: flex;
    align-items: stretch;
    width: 50%;
    box-sizing: border-box;
    padding: 10px 5px;
  }
  footer nav li:nth-last-of-type(2n-1):nth-of-type(1) {
    /*後ろから数えて奇数番目且つ先頭*/
    display: none;
  }
  footer nav li a {
    width: 100%;
    text-align: center;
    padding: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: normal;
    text-overflow: inherit;
  }
  footer nav li a span {
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  .fnshow footer nav li a span {
    white-space: normal;
    text-overflow: inherit;
  }
  footer .logo {
    width: 100px;
  }
  footer .sns {
    margin-bottom: 20px;
  }
  #cp {
    padding-top: 20px;
    letter-spacing: 0.1rem;
  }
  #scrolltop {
    margin-bottom: 5px;
    position: relative !important;
  }
  #scrolltop a {
    bottom: 0;
    position: absolute !important;
  }
  /*ios16 bugfix*/
  footer nav li {
    border-radius: 0.1px;
  }
}
@media screen and (max-width: 400px) {
  footer .sns svg {
    padding: 5px !important;
  }
}

/*----------------------------fixsns--------------------------------*/

#fixsns {
  position: absolute;
  bottom: calc(100% + 0px);
  left: 50px;
  width: 100%;
  text-align: right;
  line-height: 1;
  pointer-events: none;
  overflow: hidden;
  padding: 5px 0 15px;
  z-index: 3;
  transition: 0.3s ease-in-out;
}
#fixsns.show {
  left: 0;
}
#fixsns .sns {
  display: inline-flex;
  align-items: stretch;
  justify-content: flex-start;
  width: auto;
  transition: 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
  transform: translateX(calc(100% - 45px));
  margin: 0;
  pointer-events: auto;
  background: #fff;
  overflow: hidden;
  box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1);
}
#fixsns:not(.sp) .sns:hover,
#fixsns.sp.open .sns {
  transform: translateX(0);
}
#fixsns:not(.show) .sns {
  transform: translateX(calc(100% - 45px)) !important;
}
#fixsns .sns li {
  z-index: 2;
  position: relative;
  background: #fff;
}
#fixsns .sns li:not(.snstgl) {
  padding: 20px 0 20px 20px;
}
#fixsns .sns li:not(.snstgl):last-child {
  padding-right: 20px;
}
#fixsns .sns li.snstgl {
  position: sticky;
  left: -50vw;
  opacity: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--i_btn_color);
  cursor: pointer;
  z-index: 3;
  padding-left: 50vw;
  margin-left: -50vw;
  width: 45px;
}
#fixsns .sns li.snstgl a {
  pointer-events: none;
  transform: scale(0.7);
}
#fixsns .sns li.snstgl a svg {
  width: 31px;
  height: 31px;
  padding: 11px !important;
  fill: var(--i_btn_txt_color);
}
#fixsns .sns li:not(.snstgl) a {
  opacity: 0;
  transition: 0.5s ease-in-out;
}
#fixsns:not(.sp) .sns:hover li a,
#fixsns.sp.open .sns li a {
  opacity: 1;
}
#fixsns:not(.sp) .sns:hover li:nth-of-type(2) a,
#fixsns.sp.open .sns li:nth-of-type(2) a {
  transition-delay: 0.05s;
}
#fixsns:not(.sp) .sns:hover li:nth-of-type(3) a,
#fixsns.sp.open .sns li:nth-of-type(3) a {
  transition-delay: 0.1s;
}
#fixsns:not(.sp) .sns:hover li:nth-of-type(4) a,
#fixsns.sp.open .sns li:nth-of-type(4) a {
  transition-delay: 0.15s;
}
#fixsns:not(.sp) .sns:hover li:nth-of-type(5) a,
#fixsns.sp.open .sns li:nth-of-type(5) a {
  transition-delay: 0.2s;
}
#fixsns:not(.sp) .sns:hover li:nth-of-type(6) a,
#fixsns.sp.open .sns li:nth-of-type(6) a {
  transition-delay: 0.25s;
}
#fixsns:not(.sp) .sns:hover li:nth-of-type(7) a,
#fixsns.sp.open .sns li:nth-of-type(7) a {
  transition-delay: 0.3s;
}
#fixsns:not(.sp) .sns:hover li:nth-of-type(8) a,
#fixsns.sp.open .sns li:nth-of-type(8) a {
  transition-delay: 0.35s;
}
#fixsns:not(.sp) .sns:hover li:nth-of-type(9) a,
#fixsns.sp.open .sns li:nth-of-type(9) a {
  transition-delay: 0.4s;
}
#fixsns:not(.sp) .sns:hover li:nth-of-type(10) a,
#fixsns.sp.open .sns li:nth-of-type(10) a {
  transition-delay: 0.45s;
}
#fixsns .sns li a {
  display: block;
  transition: 0.2s;
}
#fixsns:not(.sp) .sns li a:hover,
#fixsns.sp.open .sns li a:hover {
  opacity: 1 !important;
}
#fixsns .sns li a span {
  width: 40px;
  height: 40px;
  display: block;
  background-image: url(/images/sns.png);
  background-repeat: no-repeat;
  background-size: auto 100%;
}
#fixsns .sns .sns_1 a span {
  background-position: 0 0;
}
#fixsns .sns .sns_2 a span {
  background-position: -40px 0;
}
#fixsns .sns .sns_2 a[href*='x.com'] span {
  background-position: -320px 0;
}
#fixsns .sns .sns_3 a span {
  background-position: -80px 0;
}
#fixsns .sns .sns_4 a span {
  background-position: -120px 0;
}
#fixsns .sns .sns_5 a span {
  background-position: -160px 0;
}
#fixsns .sns .sns_6 a span {
  background-position: -200px 0;
}
#fixsns .sns .sns_7 a span {
  background-position: -240px 0;
}
#fixsns .sns .sns_8 a span {
  background-position: -280px 0;
}
#fixsns .sns .sns_add {
  display: block;
}
#fixsns .sns .sns_add img {
  width: 40px;
  height: 40px;
  object-fit: contain;
  display: block;
}
@media screen and (max-width: 768px) {
  #fixsns .sns li a span,
  #fixsns .sns .sns_add img {
    max-width: none;
  }
}
@media screen and (max-width: 500px) {
  #fixsns .sns {
    overflow: scroll;
    max-width: 315px;
  }
}
#fixsns:not(:has(li[class*='sns_'])) {
  display: none !important;
}

/*----------------------------teli-----------------------------------*/

.teli {
  display: block;
  font-style: normal;
  font-size: 1.2rem;
  text-align: center;
  padding-top: 3px;
}

/*----------------------------tooltip--------------------------------*/

.tip {
  position: absolute;
  line-height: 1.4;
  color: #222;
  z-index: 100;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
  font-size: 1.4rem;
  padding: 0;
  width: 280px;
  pointer-events: none;
  transition: all 0.15s ease-out;
  transform: translate(0, -20px);
  opacity: 0;
  pointer-events: none;
  background: #fff;
  color: #222;
  box-shadow: 0 10px 20px var(--i_shadow_color);
}
.tip p:nth-of-type(1) {
  font-weight: bold;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  padding: 15px 15px 5px 15px;
}
.tip p:nth-of-type(2) {
  padding: 0 15px 15px 15px;
}
.tip span {
  display: block;
  width: 21px;
  height: 21px;
  background: #fff;
  transform: rotate(-45deg);
  position: absolute;
  bottom: -10px;
  left: 10px;
}
@media screen and (max-width: 400px) {
  .tip {
    width: 280px;
  }
}

/*--------*/

#modaldesign:before,
#modaldesign:after {
  display: none !important;
}

/*----------------------------googlecalendar--------------------------------*/

iframe[src*='calendar.google.com'] {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  display: block;
  max-height: 600px;
  height: 70vw;
  min-height: 400px;
}
@media screen and (max-width: 450px) {
  iframe[src*='calendar.google.com'] {
    transform: scale(0.78) translateX(-15%);
    transform-origin: 50% 0;
    width: 131% !important;
    height: 100vw;
    margin-bottom: -20vw;
  }
}

/*----------------------------payment--------------------------------*/

body > .mypayment {
  display: none !important;
}
.poppay {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.poppayclose {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
}
.poppay .tgt {
  position: relative;
  z-index: 2;
  overflow: auto;
  max-height: 80vh;
  height: auto;
  box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.13);
}
.poppay .mypayment {
  background: #fff;
  color: #333;
  padding: 30px;
  position: relative;
  z-index: 5;
  text-align: center;
  max-width: 90vw;
  width: 800px;
  box-sizing: border-box;
}
.poppay .mypayment .pay1,
.poppay .mypayment .pay2 {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: flex-start;
  width: 100%;
  box-sizing: border-box;
  margin-top: 20px;
}
.poppay .mypayment .pay1 {
  padding: 10px;
  border-radius: 5px;
  border: 1px solid #ddd;
  box-shadow: 2px 2px 7px rgba(0, 0, 0, 0.05);
}
.poppay .mypayment .pay1 li {
  display: block;
  width: 50%;
  box-sizing: border-box;
  padding: 5px;
  line-height: 1.4;
  text-align: left;
}
.poppay .mypayment .pay1 li:first-child:last-child {
  width: 100%;
}
.poppay .mypayment .pay1 li a {
  display: flex;
  align-items: center;
  border: 1px solid #ddd;
  box-sizing: border-box;
  padding: 10px;
  border-radius: 5px;
  padding-right: 30px;
  position: relative;
  transition: 0.3s;
}
.poppay .mypayment .pay1 li a:hover {
  background: #e5e5e5;
}
.poppay .mypayment .pay1 li a:after {
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  border-top: 2px solid #aaa;
  border-right: 2px solid #aaa;
  position: absolute;
  top: calc(50% - 7px);
  right: 10px;
  transform: rotate(45deg);
}
.poppay .mypayment .pay1 li a img {
  width: 50px;
  display: block;
  margin-right: 10px;
}
.poppay .mypayment .pay2 {
  width: auto;
  display: inline-flex;
}
.poppay .mypayment .pay2 li {
  display: block;
  box-sizing: border-box;
  padding: 5px;
  width: 80px;
}
@media screen and (max-width: 800px) {
  .poppay .mypayment .pay2 {
    display: flex;
    justify-content: center;
    width: 100%;
  }
  .poppay .mypayment .pay2 li {
    width: 12.5%;
  }
}
@media screen and (max-width: 670px) {
  .poppay .mypayment .pay1 li {
    width: 100%;
  }
}
@media screen and (max-width: 550px) {
  .poppay .mypayment {
    padding: 20px 15px;
  }
  .poppay .mypayment .pay2 {
    margin: 10px auto 0;
    width: 260px;
  }
  .poppay .mypayment .pay2 li {
    width: 25%;
    max-width: 65px;
  }
}

.grecaptcha-badge {
  z-index: 2;
}

/*----------------------------column--------------------------------*/

.news_single .entry_body .column_wrapper {
  padding-top: 30px;
}
.news_single .entry_body .column_wrapper > h3 {
  margin-bottom: 10px;
  margin-top: 100px;
  border-left: 3px solid var(--i_main_color);
  padding: 5px 10px;
  position: relative;
  background: var(--i_sub2_color, rgba(125, 125, 125, 0.1));
}
.news_single .entry_body .column_wrapper > h3:before {
  content: '';
  display: block;
  width: 1px;
  height: 60px;
  position: absolute;
  top: -90px;
  left: 50%;
  background: var(--i_sub2_color, rgba(125, 125, 125, 0.2));
}
.news_single .entry_body .column_wrapper > p {
  padding-bottom: 20px;
}
.news_single #primary article .entry_body:last-child {
  margin-bottom: 0;
  min-height: 100px;
}

/*----------------------------pindex--------------------------------*/

.pindex .content_wrapper {
  text-align: center;
}
.pindex .inner_item {
  display: inline-block;
  background: var(--i_bg_color);
  border: 1px solid var(--i_border_color);
  padding: 20px 30px;
  min-width: 40%;
  counter-reset: indexnum;
  box-sizing: border-box;
  position: relative;
}
.pindex .inner_item > p {
  font-size: 1.8rem;
  font-weight: bold;
}
.pindex .inner_item input[type='checkbox'] {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: block;
  width: 150px;
  height: 30px;
  position: absolute;
  bottom: 18px;
  left: calc(50% - 75px);
  z-index: 2;
  opacity: 1;
  cursor: pointer;
}
.pindex .inner_item .tgl {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 150px;
  height: 30px;
  position: absolute;
  bottom: 18px;
  left: calc(50% - 75px);
  z-index: 3;
  pointer-events: none;
}
.pindex .inner_item .tgl:before {
  content: '[目次を閉じる]';
  font-size: 1.6rem;
  line-height: 1;
  text-decoration: underline;
  opacity: 0.7;
}
.pindex .inner_item input[type='checkbox']:checked + .tgl:before {
  content: '[目次を開く]';
}
.pindex .inner_item input[type='checkbox']:hover + .tgl:before {
  opacity: 1;
}
.pindex .inner_item ul {
  text-align: left;
  display: block;
  padding-top: 10px;
  margin-bottom: 40px;
}
.pindex .inner_item input[type='checkbox']:checked + .tgl + ul {
  overflow: hidden;
  height: 100px;
}
.pindex .inner_item ul li {
  position: relative;
  padding-left: 25px;
  display: block;
}
.pindex .inner_item ul li:before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  padding: 5px 0;
  counter-increment: indexnum;
  content: counter(indexnum) '　';
}
.pindex .inner_item ul li a {
  display: block;
  text-decoration: underline;
  padding: 2px 0;
}
.pindex .inner_item ul li a:hover {
  opacity: 0.8;
}
.pindex .inner_item ul li:not(.sub) + li.sub {
  counter-reset: indexnum2;
}
.pindex .inner_item ul li:not(.sub) ~ li.sub {
  padding-left: 35px;
  margin-left: 25px;
}
.pindex .inner_item ul li:not(.sub) ~ li.sub:before {
  counter-increment: indexnum2;
  content: counter(indexnum) '.' counter(indexnum2) '　';
}
@media screen and (max-width: 850px) {
  .pindex .inner_item {
    padding: 20px;
  }
  .pindex .inner_item ul li {
    padding-left: 20px;
  }
  .pindex .inner_item ul li:not(.sub) ~ li.sub {
    padding-left: 30px;
    margin-left: 20px;
  }
}
@media screen and (max-width: 550px) {
  .pindex .inner_item {
    min-width: 80%;
  }
}

/*----------------------------signature--------------------------------*/

.article-signature {
  overflow-wrap: break-word;
  word-break: break-all;
}
.article-signature:empty {
  display: none;
}
.article-signature a {
  text-decoration: underline;
  text-decoration-color: rgba(255, 255, 255, 0.3);
}
.article-signature > *:last-child {
  margin-bottom: 40px;
}

/*----------------------------insta_reel no video--------------------------------*/

.block_html .insta_reel .inner_item_img img {
  filter: brightness(80%);
}
.block_html .insta_reel .inner_item_img,
.block_html .insta_reel .inner_item_img a {
  display: block;
  position: relative;
}
.block_html .insta_reel .inner_item_img:before,
.block_html .insta_reel .inner_item_img:after {
  content: '';
  position: absolute;
  top: 10px;
  right: 10px;
  width: 15px;
  height: 12px;
  border: 2px solid #fff;
  box-sizing: border-box;
  z-index: 4;
}
.block_html .insta_reel .inner_item_img:after {
  top: 14px;
  right: 14px;
}
.block_html .insta_reel .inner_item_img a:after {
  content: '';
  position: absolute;
  top: calc(50% - 50px);
  left: calc(50% - 50px);
  width: 100px;
  height: 100px;
  background: rgba(0, 0, 0, 0.4);
  background: radial-gradient(rgba(0, 0, 0, 0.6) 0% 20%, rgba(0, 0, 0, 0.4) 40% 100%);
  border-radius: 100%;
  z-index: 3;
}
.playarrow,
.playarrow:before,
.playarrow:after {
  content: '';
  position: absolute;
  width: 22px;
  height: 22px;
  background: #fff;
}
.playarrow {
  top: calc(50% - 11px);
  left: calc(50% - 8px);
  z-index: 4;
  border-top-left-radius: 30%;
  transform: rotate(120deg) skewY(30deg) scaleX(0.86666);
}
.playarrow:before {
  border-top-right-radius: 30%;
  transform: skewX(-45deg);
}
.playarrow:after {
  border-bottom-left-radius: 30%;
  transform: skewY(-45deg) translateX(-11px);
}
@media screen and (max-width: 600px) {
  .block_html .insta_reel .inner_item_img:before,
  .block_html .insta_reel .inner_item_img:after {
    top: 5px;
    right: 5px;
  }
  .block_html .insta_reel .inner_item_img:after {
    top: 7px;
    right: 7px;
  }
  .block_html .insta_reel .inner_item_img a:after {
    top: calc(50% - 35px);
    left: calc(50% - 35px);
    width: 70px;
    height: 70px;
  }
  .playarrow,
  .playarrow:before,
  .playarrow:after {
    width: 18px;
    height: 18px;
  }
  .playarrow {
    top: calc(50% - 9px);
    left: calc(50% - 6px);
  }
  .playarrow:after {
    transform: skewY(-45deg) translateX(-9px);
  }
}

/*----------------------------a table i--------------------------------*/

.article_table1 table,
.article_table1 tr,
.article_table1 td {
  border: 1px solid var(--i_border_color, rgba(125, 125, 125, 0.5));
}
.article_table1 table {
  width: 100%;
  table-layout: auto;
  margin-bottom: 20px;
}
.article_table1 td {
  padding: 7px;
  line-height: 1.5;
}
.article_table1 tr:first-child td {
  background-color: var(--i_sub2_color);
  text-align: center;
}

/*----------------------------cookie--------------------------------*/

#cookie_alert {
  box-sizing: border-box;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 10px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 99;
  background: rgba(50, 50, 50, 0.9);
}
#cookie_alert > p {
  width: calc(100% - 180px);
  font-size: 1.3rem;
  line-height: 1.7;
  color: #fff !important;
}
#cookie_alert > p a {
  color: #fff !important;
  text-decoration: underline !important;
}
#cookie_alert > .contents_btn01 {
  width: 160px;
  margin: 0 auto;
}
#cookie_alert > .contents_btn01 a {
  min-width: 0;
  width: 100%;
  display: block;
  min-width: 0 !important;
  padding: 0;
}
#cookie_alert > .contents_btn01 a:before,
#cookie_alert > .contents_btn01 a:after {
  display: none !important;
}
#cookie_alert > .contents_btn01 a:hover {
  background: var(--i_btn_color) !important;
  color: var(--i_btn_txt_color) !important;
  opacity: 0.7;
}
@media screen and (max-width: 500px) {
  #cookie_alert {
    display: block;
    padding: 10px 15px;
  }
  #cookie_alert > p {
    width: 100%;
    margin-bottom: 10px;
  }
}

/*----------------------------装飾.so--------------------------------*/

/*----基本----*/
.contents_box01[class*='dec1_'],
.composite_box01[class*='dec1_'],
.contents_box01[class*='dec2_'],
.composite_box01[class*='dec2_'] {
  padding-left: var(--i_padding, 20px);
  padding-right: var(--i_padding, 20px);
}
.contents_box01[class*='dec1_'] > .content_wrapper,
.composite_box01[class*='dec1_'] > .content_wrapper,
.contents_box01[class*='dec2_'] > .content_wrapper,
.composite_box01[class*='dec2_'] > .content_wrapper {
  padding: 0;
}

/*----外側基本----*/
[class*='dec1_']:not(.block_images_21) > .content_wrapper {
  padding: 40px;
}
[class*='dec1_'].contents_box01.block_text_4 > .content_wrapper,
[class*='dec1_'].contents_box01.block_text_6 > .content_wrapper {
  width: 100%;
}
[class*='dec1_'].contents_box01.block_text_6.width_fixed:not([class*='mw']) > .content_wrapper {
  max-width: 1200px !important;
}
[class*='dec1_'].contents_box01.block_text_6 .heading {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: 0 !important;
}
@media screen and (max-width: 1000px) {
  [class*='dec1_']:not(.block_images_21) > .content_wrapper {
    padding: 4vw;
  }
}
@media screen and (max-width: 600px) {
  [class*='dec1_']:not(.block_images_21) > .content_wrapper {
    padding: 5vw;
  }
}

/*外側背景*/
.dec1_1:not(.block_images_21) > .content_wrapper {
  background: var(--i_sub2_color);
}
.dec1_1[style*='background-color']:not([style*='background-color: transparent']):not(
    .block_images_21
  )
  > .content_wrapper {
  background: var(--i_bg_color);
}

/*外側角丸*/
.dec1_2:not(.block_images_21) > .content_wrapper {
  overflow: hidden;
  border-radius: 20px;
}

/*外側ボーダー*/
.dec1_3:not(.block_images_21) > .content_wrapper {
  border: 1px solid var(--i_border_color);
}

/*外側ドロップ*/
.dec1_4:not(.block_images_21) > .content_wrapper {
  box-shadow: 10px 10px 20px var(--i_shadow_color);
}

/*----内側基本----*/
[class*='dec2_'][class*='block_text_']:not([class*='block_image_text_']):not(
    [class*='block_text_6']
  )
  .wrapper_item,
[class*='dec2_'][class*='block_image_']:not([class*='block_image_text_']) .wrapper_item,
[class*='dec2_'].contents_box01.block_text_6 .inner_item_txt,
[class*='dec2_'][class*='block_image_text_']:not([class*='block_image_text_11']):not(
    [class*='block_image_text_12']
  )
  .wrapper_item {
  padding: 30px !important;
}
[class*='dec2_'].block_image_text_1 .inner_item_txt,
[class*='dec2_'].block_image_text_5 .inner_item_txt {
  padding-top: 0 !important;
}
[class*='dec2_'].block_image_text_9 .inner_item_txt,
[class*='dec2_'].block_image_text_10 .inner_item_txt {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
[class*='dec2_'].composite_box01.block_images_1 .inner_item_txt,
[class*='dec2_'].composite_box01.block_images_9 .inner_item_txt {
  padding: 10px 20px 20px;
}
[class*='dec2_'].composite_box01.block_images_2 .inner_item_txt {
  padding: 20px 20px 10px;
}
[class*='dec2_'].composite_box01.block_images_2 .inner_item_txt:not(:has(.heading)) {
  padding-top: 0;
}
[class*='dec2_'].composite_box01.block_images_3 .inner_item,
[class*='dec2_'].composite_box01.block_images_4 .inner_item,
[class*='dec2_'].composite_box01.block_images_5 .inner_item,
[class*='dec2_'].composite_box01.block_images_6 .inner_item {
  padding: 20px;
}
[class*='dec2_'].composite_box01.block_images_22 .inner_item,
[class*='dec2_'].composite_box01.block_images_23 .inner_item,
[class*='dec2_'].composite_box01.block_images_24 .inner_item {
  padding: 30px;
}
@media screen and (max-width: 1000px) {
  [class*='dec2_'][class*='block_text_']:not([class*='block_image_text_']):not(
      [class*='block_text_6']
    )
    .wrapper_item,
  [class*='dec2_'][class*='block_image_']:not([class*='block_image_text_']) .wrapper_item,
  [class*='dec2_'].contents_box01.block_text_6 .inner_item_txt,
  [class*='dec2_'][class*='block_image_text_']:not([class*='block_image_text_11']):not(
      [class*='block_image_text_12']
    )
    .wrapper_item {
    padding: 4vw !important;
  }
  [class*='dec2_'].composite_box01.block_images_1 .inner_item_txt,
  [class*='dec2_'].composite_box01.block_images_9 .inner_item_txt {
    padding: 10px 20px 20px;
    padding: calc(3vw - 10px) 3vw 3vw;
  }
  [class*='dec2_'].composite_box01.block_images_2 .inner_item_txt {
    padding: 20px 20px 10px;
    padding: 3vw 3vw calc(3vw - 10px);
  }
  [class*='dec2_'].composite_box01.block_images_3 .inner_item,
  [class*='dec2_'].composite_box01.block_images_4 .inner_item,
  [class*='dec2_'].composite_box01.block_images_5 .inner_item,
  [class*='dec2_'].composite_box01.block_images_6 .inner_item {
    padding: 20px;
    padding: 3vw;
  }
  [class*='dec2_'].composite_box01.block_images_22 .inner_item,
  [class*='dec2_'].composite_box01.block_images_23 .inner_item,
  [class*='dec2_'].composite_box01.block_images_24 .inner_item {
    padding: 30px;
    padding: 4vw;
  }
}
@media screen and (max-width: 600px) {
}

/*内側背景*/
.dec2_1:not(.composite_box01):not(.block_text_6) .wrapper_item,
.dec2_2.contents_box01.block_text_6 .inner_item_txt,
.dec2_1.composite_box01 .inner_item {
  background: var(--i_bg_color);
}
@media screen and (max-width: 1024px) {
  .dec2_1.composite_box01.block_images_16 .inner_item {
    background-color: inherit;
  }
}

/*内側角丸*/
.dec2_2:not(.composite_box01):not(.block_text_6) .wrapper_item,
.dec2_2.composite_box01 .inner_item,
.dec2_2.composite_box01 .inner_item .inner_item_txt > p,
.dec2_2.contents_box01.block_text_6 .inner_item_txt {
  border-radius: 20px;
  /*overflow: hidden;*/
}
.dec2_2.composite_box01.block_images_7 .inner_item,
.dec2_2.composite_box01.block_images_8 .inner_item,
.dec2_2.composite_box01.block_images_10 .inner_item,
.dec2_2.composite_box01.block_images_13 .inner_item,
.dec2_2.composite_box01.block_images_17 .inner_item,
.dec2_2.composite_box01.block_images_21 .inner_item {
  border-radius: 0;
}
.dec2_2.composite_box01.block_images_12 .inner_item_txt .heading .h,
.dec2_2.composite_box01.block_images_16 .inner_item_txt .heading .h {
  border-bottom-right-radius: 20px;
}
.dec2_2.composite_box01.block_images_1 .inner_item .inner_item_img {
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  overflow: hidden;
}
.dec2_2.composite_box01.block_images_2 .inner_item .inner_item_img {
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .dec2_2.composite_box01.block_images_16 .inner_item,
  .dec2_2.composite_box01.block_images_16 .inner_item .inner_item_txt > p {
    border-radius: 0 !important;
  }
  .dec2_2.composite_box01.block_images_16 .inner_item .inner_item_img {
    border-radius: 20px;
  }
}

/*内側ボーダー*/
.dec2_3:not(.composite_box01):not(.block_text_6) .wrapper_item,
.dec2_3.composite_box01 .inner_item,
.dec2_3.contents_box01.block_text_6 .inner_item_txt {
  border: 1px solid var(--i_border_color);
}
.dec2_3.composite_box01.block_images_7 .inner_item,
.dec2_3.composite_box01.block_images_8 .inner_item,
.dec2_3.composite_box01.block_images_10 .inner_item,
.dec2_3.composite_box01.block_images_13 .inner_item,
.dec2_3.composite_box01.block_images_17 .inner_item,
.dec2_3.composite_box01.block_images_21 .inner_item {
  border: none;
}
@media screen and (max-width: 1024px) {
  .dec2_3.composite_box01.block_images_16 .inner_item {
    border: none !important;
  }
  .dec2_3.composite_box01.block_images_16 .inner_item .inner_item_img {
    border: 1px solid var(--i_border_color);
  }
}

/*内側ドロップ*/
.dec2_4:not(.composite_box01):not(.block_text_6) .wrapper_item,
.dec2_2.contents_box01.block_text_6 .inner_item_txt,
.dec2_4.composite_box01 .inner_item {
  box-shadow: 10px 10px 20px var(--i_shadow_color);
}
.dec2_4.composite_box01.block_images_8 .inner_item,
.dec2_4.composite_box01.block_images_13 .inner_item,
.dec2_4.composite_box01.block_images_16 .inner_item,
.dec2_4.composite_box01.block_images_21 .inner_item {
  box-shadow: none;
}
.dec2_4.composite_box01 .wrapper_item {
  overflow: visible;
}

/*----画像基本----*/

/*画像ドロップ*/
.dec3_1:not(.block_images_13).composite_box01.block_images_1 .wrapper_item {
  overflow: visible;
}
.dec3_1:not(.block_images_13):not(.block_images_21) .inner_item_img,
.dec3_1.composite_box01.block_images_16 .inner_item .inner_item_img,
.dec3_1.composite_box01.block_images_17 .inner_item .inner_item_img img,
.dec3_1.composite_box01:not(.block_images_17) .inner_item {
  filter: drop-shadow(10px 10px 20px var(--i_shadow_color));
}
.dec3_1.composite_box01.block_images_8 .inner_item,
.dec3_1.composite_box01.block_images_13 .inner_item,
.dec3_1.composite_box01.block_images_16 .inner_item,
.dec3_1.composite_box01.block_images_21 .inner_item {
  filter: drop-shadow(0 0 0 rgba(0, 0, 0, 0)); /*none*/
}
.dec3_1.composite_box01.block_images_16 .inner_item .inner_item_img {
  overflow: hidden;
}
.dec3_1.composite_box01.block_images_16 .inner_item a {
  overflow: visible !important;
}

/*画像クリップ1*/
.dec3_2.contents_box01.block_image_1 .inner_item_img img,
.dec3_2.contents_box01.block_image_text_1 .inner_item_img img,
.dec3_2.contents_box01.block_image_text_2 .inner_item_img img,
.dec3_2.contents_box01.block_image_text_3 .inner_item_img img,
.dec3_2.contents_box01.block_image_text_4 .inner_item_img img,
.dec3_2.contents_box01.block_image_text_9 .inner_item_img img,
.dec3_2.contents_box01.block_image_text_10 .inner_item_img img,
.dec3_2.contents_box01.block_image_text_13 .inner_item_img img,
.dec3_2.contents_box01.block_image_text_14 .inner_item_img img,
.dec3_2.composite_box01.block_images_1 .inner_item_img img,
.dec3_2.composite_box01.block_images_2 .inner_item_img img,
.dec3_2.composite_box01.block_images_3 .inner_item_img img,
.dec3_2.composite_box01.block_images_14 .inner_item_img img,
.dec3_2.composite_box01.block_images_18 .inner_item_img img,
.dec3_2.composite_box01.block_images_19 .inner_item_img img,
.dec3_2.composite_box01.block_images_20 .inner_item_img img,
.dec3_2.contents_box01.block_image_text_3 .inner_item_img img,
.dec3_2.contents_box01.block_image_text_9 .inner_item_img img,
.dec3_2.contents_box01.block_image_text_13 .inner_item_img img,
.dec3_2.composite_box01.block_images_22 .inner_item_img img,
.dec3_2.composite_box01.block_images_24 .inner_item:nth-of-type(odd) .inner_item_img img {
  clip-path: polygon(0 0, 100% 0, 90% 90%, 0 100%);
}
.dec3_2.contents_box01.block_image_text_4 .inner_item_img img,
.dec3_2.contents_box01.block_image_text_10 .inner_item_img img,
.dec3_2.contents_box01.block_image_text_14 .inner_item_img img,
.dec3_2.composite_box01.block_images_23 .inner_item_img img,
.dec3_2.composite_box01.block_images_24 .inner_item:nth-of-type(even) .inner_item_img img {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 10% 90%);
}

/*画像クリップ2*/
.dec3_3.contents_box01.block_image_1 .inner_item_img img,
.dec3_3.contents_box01.block_image_text_1 .inner_item_img img,
.dec3_3.contents_box01.block_image_text_2 .inner_item_img img,
.dec3_3.contents_box01.block_image_text_3 .inner_item_img img,
.dec3_3.contents_box01.block_image_text_4 .inner_item_img img,
.dec3_3.contents_box01.block_image_text_9 .inner_item_img img,
.dec3_3.contents_box01.block_image_text_10 .inner_item_img img,
.dec3_3.contents_box01.block_image_text_13 .inner_item_img img,
.dec3_3.contents_box01.block_image_text_14 .inner_item_img img,
.dec3_3.composite_box01.block_images_1 .inner_item_img img,
.dec3_3.composite_box01.block_images_2 .inner_item_img img,
.dec3_3.composite_box01.block_images_3 .inner_item_img img,
.dec3_3.composite_box01.block_images_14 .inner_item_img img,
.dec3_3.composite_box01.block_images_18 .inner_item_img img,
.dec3_3.composite_box01.block_images_19 .inner_item_img img,
.dec3_3.composite_box01.block_images_20 .inner_item_img img,
.dec3_3.contents_box01.block_image_text_3 .inner_item_img img,
.dec3_3.contents_box01.block_image_text_9 .inner_item_img img,
.dec3_3.contents_box01.block_image_text_13 .inner_item_img img,
.dec3_3.composite_box01.block_images_22 .inner_item_img img,
.dec3_3.composite_box01.block_images_24 .inner_item:nth-of-type(odd) .inner_item_img img {
  clip-path: polygon(0 0, 90% 10%, 100% 100%, 0 100%);
}
.dec3_3.contents_box01.block_image_text_4 .inner_item_img img,
.dec3_3.contents_box01.block_image_text_10 .inner_item_img img,
.dec3_3.contents_box01.block_image_text_14 .inner_item_img img,
.dec3_3.composite_box01.block_images_23 .inner_item_img img,
.dec3_3.composite_box01.block_images_24 .inner_item:nth-of-type(even) .inner_item_img img {
  clip-path: polygon(10% 10%, 100% 0, 100% 100%, 0 100%);
}

/*画像クリップ3*/
.dec3_4.contents_box01.block_image_1 .inner_item_img img,
.dec3_4.contents_box01.block_image_text_1 .inner_item_img img,
.dec3_4.contents_box01.block_image_text_2 .inner_item_img img,
.dec3_4.contents_box01.block_image_text_3 .inner_item_img img,
.dec3_4.contents_box01.block_image_text_4 .inner_item_img img,
.dec3_4.contents_box01.block_image_text_9 .inner_item_img img,
.dec3_4.contents_box01.block_image_text_10 .inner_item_img img,
.dec3_4.contents_box01.block_image_text_13 .inner_item_img img,
.dec3_4.contents_box01.block_image_text_14 .inner_item_img img,
.dec3_4.composite_box01.block_images_1 .inner_item_img img,
.dec3_4.composite_box01.block_images_2 .inner_item_img img,
.dec3_4.composite_box01.block_images_3 .inner_item_img img,
.dec3_4.composite_box01.block_images_14 .inner_item_img img,
.dec3_4.composite_box01.block_images_18 .inner_item_img img,
.dec3_4.composite_box01.block_images_19 .inner_item_img img,
.dec3_4.composite_box01.block_images_20 .inner_item_img img,
.dec3_4.contents_box01.block_image_text_3 .inner_item_img img,
.dec3_4.contents_box01.block_image_text_9 .inner_item_img img,
.dec3_4.contents_box01.block_image_text_13 .inner_item_img img,
.dec3_4.composite_box01.block_images_22 .inner_item_img img,
.dec3_4.composite_box01.block_images_24 .inner_item:nth-of-type(odd) .inner_item_img img,
.dec3_4.contents_box01.block_image_text_4 .inner_item_img img,
.dec3_4.contents_box01.block_image_text_10 .inner_item_img img,
.dec3_4.contents_box01.block_image_text_14 .inner_item_img img,
.dec3_4.composite_box01.block_images_23 .inner_item_img img,
.dec3_4.composite_box01.block_images_24 .inner_item:nth-of-type(even) .inner_item_img img {
  clip-path: polygon(10% 10%, 100% 0, 90% 90%, 0 100%);
}

/*画像クリップ4*/
.dec3_5.contents_box01.block_image_1 .inner_item_img img,
.dec3_5.contents_box01.block_image_text_1 .inner_item_img img,
.dec3_5.contents_box01.block_image_text_2 .inner_item_img img,
.dec3_5.contents_box01.block_image_text_3 .inner_item_img img,
.dec3_5.contents_box01.block_image_text_4 .inner_item_img img,
.dec3_5.contents_box01.block_image_text_9 .inner_item_img img,
.dec3_5.contents_box01.block_image_text_10 .inner_item_img img,
.dec3_5.contents_box01.block_image_text_13 .inner_item_img img,
.dec3_5.contents_box01.block_image_text_14 .inner_item_img img,
.dec3_5.composite_box01.block_images_1 .inner_item_img img,
.dec3_5.composite_box01.block_images_2 .inner_item_img img,
.dec3_5.composite_box01.block_images_3 .inner_item_img img,
.dec3_5.composite_box01.block_images_14 .inner_item_img img,
.dec3_5.composite_box01.block_images_18 .inner_item_img img,
.dec3_5.composite_box01.block_images_19 .inner_item_img img,
.dec3_5.composite_box01.block_images_20 .inner_item_img img,
.dec3_5.contents_box01.block_image_text_3 .inner_item_img img,
.dec3_5.contents_box01.block_image_text_9 .inner_item_img img,
.dec3_5.contents_box01.block_image_text_13 .inner_item_img img,
.dec3_5.composite_box01.block_images_22 .inner_item_img img,
.dec3_5.composite_box01.block_images_24 .inner_item:nth-of-type(odd) .inner_item_img img,
.dec3_5.contents_box01.block_image_text_4 .inner_item_img img,
.dec3_5.contents_box01.block_image_text_10 .inner_item_img img,
.dec3_5.contents_box01.block_image_text_14 .inner_item_img img,
.dec3_5.composite_box01.block_images_23 .inner_item_img img,
.dec3_5.composite_box01.block_images_24 .inner_item:nth-of-type(even) .inner_item_img img {
  clip-path: polygon(0 0, 90% 10%, 100% 100%, 10% 90%);
}

/*画像クリップ5*/
.dec3_6.contents_box01.block_image_1 .inner_item_img img,
.dec3_6.contents_box01.block_image_text_1 .inner_item_img img,
.dec3_6.contents_box01.block_image_text_2 .inner_item_img img,
.dec3_6.contents_box01.block_image_text_3 .inner_item_img img,
.dec3_6.contents_box01.block_image_text_4 .inner_item_img img,
.dec3_6.contents_box01.block_image_text_9 .inner_item_img img,
.dec3_6.contents_box01.block_image_text_10 .inner_item_img img,
.dec3_6.contents_box01.block_image_text_13 .inner_item_img img,
.dec3_6.contents_box01.block_image_text_14 .inner_item_img img,
.dec3_6.composite_box01.block_images_1 .inner_item_img img,
.dec3_6.composite_box01.block_images_2 .inner_item_img img,
.dec3_6.composite_box01.block_images_3 .inner_item_img img,
.dec3_6.composite_box01.block_images_14 .inner_item_img img,
.dec3_6.composite_box01.block_images_18 .inner_item_img img,
.dec3_6.composite_box01.block_images_19 .inner_item_img img,
.dec3_6.composite_box01.block_images_20 .inner_item_img img,
.dec3_6.contents_box01.block_image_text_3 .inner_item_img img,
.dec3_6.contents_box01.block_image_text_9 .inner_item_img img,
.dec3_6.contents_box01.block_image_text_13 .inner_item_img img,
.dec3_6.composite_box01.block_images_22 .inner_item_img img,
.dec3_6.composite_box01.block_images_24 .inner_item:nth-of-type(odd) .inner_item_img img,
.dec3_6.contents_box01.block_image_text_4 .inner_item_img img,
.dec3_6.contents_box01.block_image_text_10 .inner_item_img img,
.dec3_6.contents_box01.block_image_text_14 .inner_item_img img,
.dec3_6.composite_box01.block_images_23 .inner_item_img img,
.dec3_6.composite_box01.block_images_24 .inner_item:nth-of-type(even) .inner_item_img img {
  clip-path: polygon(0 10%, 100% 0, 100% 90%, 0 100%);
}

/*画像クリップ6 正円*/
.dec3_7.contents_box01.block_image_1 .inner_item_img img,
.dec3_7.contents_box01.block_image_text_1 .inner_item_img img,
.dec3_7.contents_box01.block_image_text_1 .inner_item_img img,
.dec3_7.contents_box01.block_image_text_2 .inner_item_img img,
.dec3_7.contents_box01.block_image_text_3 .inner_item_img img,
.dec3_7.contents_box01.block_image_text_4 .inner_item_img img,
.dec3_7.contents_box01.block_image_text_9 .inner_item_img img,
.dec3_7.contents_box01.block_image_text_10 .inner_item_img img,
.dec3_7.contents_box01.block_image_text_13 .inner_item_img img,
.dec3_7.contents_box01.block_image_text_14 .inner_item_img img,
.dec3_7.composite_box01.block_images_1 .inner_item_img img,
.dec3_7.composite_box01.block_images_2 .inner_item_img img,
.dec3_7.composite_box01.block_images_3 .inner_item_img img,
.dec3_7.composite_box01.block_images_14 .inner_item_img img,
.dec3_7.composite_box01.block_images_22 .inner_item_img img,
.dec3_7.composite_box01.block_images_23 .inner_item_img img,
.dec3_7.composite_box01.block_images_24 .inner_item_img img {
  border-radius: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  height: auto !important;
}

/*画像クリップ7 ひずみ円*/
.dec3_8.contents_box01.block_image_1 .inner_item_img img,
.dec3_8.contents_box01.block_image_text_1 .inner_item_img img,
.dec3_8.contents_box01.block_image_text_2 .inner_item_img img,
.dec3_8.contents_box01.block_image_text_3 .inner_item_img img,
.dec3_8.contents_box01.block_image_text_4 .inner_item_img img,
.dec3_8.contents_box01.block_image_text_9 .inner_item_img img,
.dec3_8.contents_box01.block_image_text_10 .inner_item_img img,
.dec3_8.contents_box01.block_image_text_13 .inner_item_img img,
.dec3_8.contents_box01.block_image_text_14 .inner_item_img img,
.dec3_8.composite_box01.block_images_1 .inner_item_img img,
.dec3_8.composite_box01.block_images_2 .inner_item_img img,
.dec3_8.composite_box01.block_images_3 .inner_item_img img,
.dec3_8.composite_box01.block_images_14 .inner_item_img img,
.dec3_8.composite_box01.block_images_22 .inner_item_img img,
.dec3_8.composite_box01.block_images_23 .inner_item_img img,
.dec3_8.composite_box01.block_images_24 .inner_item_img img {
  border-radius: 50% 50% 50% 70%/50% 50% 70% 60%;
  aspect-ratio: 1;
  object-fit: cover;
  height: auto !important;
}
.dec3_8.contents_box01.block_image_1:nth-of-type(even) .inner_item_img img,
.dec3_8.contents_box01.block_image_text_1:nth-of-type(even) .inner_item_img img,
.dec3_8.contents_box01.block_image_text_2:nth-of-type(even) .inner_item_img img,
.dec3_8.contents_box01.block_image_text_3:nth-of-type(even) .inner_item_img img,
.dec3_8.contents_box01.block_image_text_4:nth-of-type(even) .inner_item_img img,
.dec3_8.contents_box01.block_image_text_13:nth-of-type(even) .inner_item_img img,
.dec3_8.contents_box01.block_image_text_14:nth-of-type(even) .inner_item_img img,
.dec3_8.composite_box01.block_images_1 .inner_item:nth-of-type(2n) .inner_item_img img,
.dec3_8.composite_box01.block_images_2 .inner_item:nth-of-type(2n) .inner_item_img img,
.dec3_8.composite_box01.block_images_3 .inner_item:nth-of-type(2n) .inner_item_img img,
.dec3_8.composite_box01.block_images_14 .inner_item:nth-of-type(2n) .inner_item_img img,
.dec3_8.composite_box01.block_images_22 .inner_item:nth-of-type(2n) .inner_item_img img,
.dec3_8.composite_box01.block_images_23 .inner_item:nth-of-type(2n) .inner_item_img img,
.dec3_8.composite_box01.block_images_24 .inner_item:nth-of-type(2n) .inner_item_img img {
  border-radius: 80% 30% 50% 50%/50%;
}
.dec3_8.composite_box01.block_images_1 .inner_item:nth-of-type(3n) .inner_item_img img,
.dec3_8.composite_box01.block_images_2 .inner_item:nth-of-type(3n) .inner_item_img img,
.dec3_8.composite_box01.block_images_3 .inner_item:nth-of-type(3n) .inner_item_img img,
.dec3_8.composite_box01.block_images_14 .inner_item:nth-of-type(3n) .inner_item_img img,
.dec3_8.composite_box01.block_images_22 .inner_item:nth-of-type(3n) .inner_item_img img,
.dec3_8.composite_box01.block_images_23 .inner_item:nth-of-type(3n) .inner_item_img img,
.dec3_8.composite_box01.block_images_24 .inner_item:nth-of-type(3n) .inner_item_img img {
  border-radius: 40% 40% 50% 40%/30% 50% 50% 50%;
}
#main > *:not(.dec3_9):not(.admin_edit) + .dec3_9,
.edit_view #main > *:not(.dec3_9) + .admin_edit + .dec3_9,
.edit_view #main > .admin_edit:first-child + .dec3_9,
#primary > *:not(.dec3_9):not(.admin_edit) + .dec3_9,
.edit_view #primary > *:not(.dec3_9) + .admin_edit + .dec3_9,
.edit_view #primary > .admin_edit:first-child + .dec3_9,
.entry_body > *:not(.dec3_9):not(.admin_edit) + .dec3_9,
.edit_view .entry_body > *:not(.dec3_9) + .admin_edit + .dec3_9,
.edit_view .entry_body > .admin_edit:first-child + .dec3_9 {
  counter-reset: number 0;
}

/*ナンバリング*/
.dec3_9.contents_box01.block_image_text_1 .inner_item_img:before,
.dec3_9.contents_box01.block_image_text_2 .inner_item_img:before,
.dec3_9.contents_box01.block_image_text_3 .inner_item_img:before,
.dec3_9.contents_box01.block_image_text_4 .inner_item_img:before,
.dec3_9.contents_box01.block_image_text_9 .inner_item_img:before,
.dec3_9.contents_box01.block_image_text_10 .inner_item_img:before,
.dec3_9.contents_box01.block_image_text_11 .inner_item_img:before,
.dec3_9.contents_box01.block_image_text_12 .inner_item_img:before,
.dec3_9.contents_box01.block_image_text_13 .inner_item_img:before,
.dec3_9.contents_box01.block_image_text_14 .inner_item_img:before,
.dec3_9.composite_box01.block_images_1 .inner_item:before,
.dec3_9.composite_box01.block_images_2 .inner_item:before,
.dec3_9.composite_box01.block_images_3 .inner_item:before,
.dec3_9.composite_box01.block_images_22 .inner_item_img:before,
.dec3_9.composite_box01.block_images_23 .inner_item_img:before,
.dec3_9.composite_box01.block_images_24 .inner_item_img:before {
  counter-increment: number 1;
  content: counter(number, decimal-leading-zero);
  color: var(--i_btn_txt_color);
  background: var(--i_btn_color);
  line-height: 1;
  font-size: 2.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5rem;
  aspect-ratio: 1;
  border-radius: 100%;
  order: -1;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
[class*='dec2_'].dec3_9.composite_box01.block_images_1 .inner_item:before {
  margin-top: 15px;
  margin-bottom: 15px;
}
[class*='dec2_'].dec3_9.composite_box01.block_images_2 .inner_item:before {
  margin-top: 15px;
}
.dec3_9.composite_box01.block_images_1 .inner_item:before,
.dec3_9.composite_box01.block_images_2 .inner_item:before,
.dec3_9.composite_box01.block_images_3 .inner_item:before {
  margin-bottom: 15px;
}
.dec3_9.contents_box01.block_image_text_1 .inner_item_img:before,
.dec3_9.contents_box01.block_image_text_2 .inner_item_img:before,
.dec3_9.contents_box01.block_image_text_3 .inner_item_img:before,
.dec3_9.contents_box01.block_image_text_4 .inner_item_img:before,
.dec3_9.contents_box01.block_image_text_9 .inner_item_img:before,
.dec3_9.contents_box01.block_image_text_10 .inner_item_img:before,
.dec3_9.contents_box01.block_image_text_13 .inner_item_img:before,
.dec3_9.contents_box01.block_image_text_14 .inner_item_img:before,
.dec3_9.composite_box01.block_images_22 .inner_item_img:before,
.dec3_9.composite_box01.block_images_23 .inner_item_img:before,
.dec3_9.composite_box01.block_images_24 .inner_item_img:before {
  margin-bottom: -2.5rem;
}
.dec3_9.contents_box01.block_image_text_11 .inner_item_img,
.dec3_9.contents_box01.block_image_text_12 .inner_item_img {
  position: relative;
}
.dec3_9.contents_box01.block_image_text_11 .inner_item_img:before,
.dec3_9.contents_box01.block_image_text_12 .inner_item_img:before {
  position: absolute;
  top: calc(50% - 2.5rem);
  right: -2.5rem;
  margin: 0;
}
.dec3_9.contents_box01.block_image_text_12 .inner_item_img:before {
  top: calc(50% - 2.5rem);
  left: -2.5rem;
  right: auto;
}
@media screen and (max-width: 768px) {
  .dec3_9.contents_box01.block_image_text_1 .inner_item_img:before,
  .dec3_9.contents_box01.block_image_text_2 .inner_item_img:before,
  .dec3_9.contents_box01.block_image_text_3 .inner_item_img:before,
  .dec3_9.contents_box01.block_image_text_4 .inner_item_img:before,
  .dec3_9.contents_box01.block_image_text_9 .inner_item_img:before,
  .dec3_9.contents_box01.block_image_text_10 .inner_item_img:before,
  .dec3_9.contents_box01.block_image_text_11 .inner_item_img:before,
  .dec3_9.contents_box01.block_image_text_12 .inner_item_img:before,
  .dec3_9.contents_box01.block_image_text_13 .inner_item_img:before,
  .dec3_9.contents_box01.block_image_text_14 .inner_item_img:before,
  .dec3_9.composite_box01.block_images_1 .inner_item:before,
  .dec3_9.composite_box01.block_images_2 .inner_item:before,
  .dec3_9.composite_box01.block_images_3 .inner_item:before,
  .dec3_9.composite_box01.block_images_22 .inner_item_img:before,
  .dec3_9.composite_box01.block_images_23 .inner_item_img:before,
  .dec3_9.composite_box01.block_images_24 .inner_item_img:before {
    font-size: 2.2rem;
    width: 4rem;
  }
  .dec3_9.contents_box01.block_image_text_1 .inner_item_img:before,
  .dec3_9.contents_box01.block_image_text_2 .inner_item_img:before,
  .dec3_9.contents_box01.block_image_text_3 .inner_item_img:before,
  .dec3_9.contents_box01.block_image_text_4 .inner_item_img:before,
  .dec3_9.contents_box01.block_image_text_9 .inner_item_img:before,
  .dec3_9.contents_box01.block_image_text_10 .inner_item_img:before,
  .dec3_9.contents_box01.block_image_text_13 .inner_item_img:before,
  .dec3_9.contents_box01.block_image_text_14 .inner_item_img:before,
  .dec3_9.composite_box01.block_images_22 .inner_item_img:before,
  .dec3_9.composite_box01.block_images_23 .inner_item_img:before,
  .dec3_9.composite_box01.block_images_24 .inner_item_img:before {
    margin-bottom: -2rem;
  }
  .dec3_9.contents_box01.block_image_text_11 .inner_item_img:before,
  .dec3_9.contents_box01.block_image_text_12 .inner_item_img:before {
    top: -2.5rem;
    left: calc(50% - 2.5rem);
  }
}

/*-------離脱防止-------*/

.-w-modal {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 999;
  width: 100%;
  height: 100%;
  opacity: 1;
  transition: 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
  text-align: center;
  line-height: 1.4;
  opacity: 0;
  pointer-events: none;
}
.-w-modal.show-up {
  opacity: 1;
  pointer-events: auto;
}
.-w-modal .-w-modal-dialog {
  width: calc(100% - 40px);
  max-width: calc(100vh - 120px);
  margin: auto;
  top: 50%;
  transform: translateY(-50%);
  position: relative;
  z-index: 3;
  pointer-events: none;
}
.-w-modal .-w-modal-dialog .dialogclose {
  width: 40px;
  height: 40px;
  background: var(--i_bg_color);
  box-shadow: 10px 10px 20px var(--i_shadow_color);
  border-radius: 100px;
  margin: 15px auto 0;
  position: relative;
  pointer-events: none;
}
.-w-modal .-w-modal-dialog .dialogclose:before,
.-w-modal .-w-modal-dialog .dialogclose:after {
  content: '';
  display: block;
  width: 20px;
  height: 3px;
  background-color: var(--i_main_color);
  position: absolute;
  top: calc(50% - 1px);
  left: calc(50% - 10px);
  transform: rotate(45deg);
}
.-w-modal .-w-modal-dialog .dialogclose:after {
  transform: rotate(-45deg);
}
.-w-modal .-w-modal-content {
  position: relative;
  width: 100%;
  max-width: 500px;
  margin: auto;
  opacity: 0;
  transform: translateY(50px);
  transition: 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
  box-shadow: 10px 10px 20px var(--i_shadow_color);
  overflow: hidden;
  border-radius: 0;
  padding-bottom: 40px;
}
.-w-modal .-w-modal-content:has(.-w-btn a span:empty) {
  padding-bottom: 0;
}
.-w-modal.show-up .-w-modal-content {
  opacity: 1;
  transform: translateY(0);
}
.-w-modal.show-up .-w-modal-body {
  pointer-events: auto;
}
.-w-modal .-w-image {
  position: relative;
}
.-w-modal .-w-image img {
  display: block;
  aspect-ratio: 1;
  width: 100%;
  object-fit: cover;
}
.-w-modal .-w-image a {
  display: block;
}
.-w-modal .-w-txt {
  position: absolute;
  top: 5%;
  left: 5%;
  height: 90%;
  width: 90%;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  text-align: left;
}
.-w-modal .-w-txt:has(p:empty) {
  display: none;
}
.-w-modal .-w-txt.pos_lt {
  align-items: flex-start;
  justify-content: flex-start;
}
.-w-modal .-w-txt.pos_t {
  align-items: flex-start;
  justify-content: center;
}
.-w-modal .-w-txt.pos_rt {
  align-items: flex-start;
  justify-content: flex-end;
}
.-w-modal .-w-txt.pos_l {
  align-items: center;
  justify-content: flex-start;
}
.-w-modal .-w-txt.pos_c {
  align-items: center;
  justify-content: center;
}
.-w-modal .-w-txt.pos_r {
  align-items: center;
  justify-content: flex-end;
}
.-w-modal .-w-txt.pos_lb {
  align-items: flex-end;
  justify-content: flex-start;
}
.-w-modal .-w-txt.pos_b {
  align-items: flex-end;
  justify-content: center;
}
.-w-modal .-w-txt.pos_rb {
  align-items: flex-end;
  justify-content: flex-end;
}
.-w-modal .-w-txt p {
  display: inline-block;
  background: #f00;
  font-size: 1.8rem;
  padding: 5px;
  font-weight: bold;
}
.-w-modal .-w-btn {
  position: absolute;
  transform: translateY(-100%);
  top: 100%;
  left: 0;
  width: 100%;
}
.-w-modal .-w-btn:has(a span:empty) {
  display: none;
}
.-w-modal .-w-btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 5px;
  font-size: 1.5rem;
  font-weight: bold;
}
.-w-modal .-w-btn a:hover {
}
.-w-modal .-w-btn a span {
  position: relative;
  display: inline-block;
  text-align: left;
}
.-w-modal .close {
  width: 100%;
  height: 100%;
  display: block;
  z-index: 2;
  position: absolute;
  top: 0;
  left: 0;
  cursor: pointer;
}
@media screen and (max-width: 800px) {
  .-w-modal .-w-txt p {
    font-size: 1.5rem;
  }
}
