@charset "UTF-8";
/* common
====================================================================================================================================== */
* {
  outline-offset: -2px; }

a:focus,
button:focus,
input:focus,
.qa_title:focus,
li[tabindex="0"]:focus {
  outline: solid 2px #0A67BF;
  outline-offset: -2px; }

/*非表示*/
.none {
  display: none !important; }

.visible-off {
  display: none; }

img.filer_image.none {
  display: inline !important; }

.hide {
  display: none; }

img {
  height: auto; }

p:empty {
  display: none; }
p strong:empty {
  display: none; }

/* スクロールして画面に入ったらフェードイン */
.scroll_fadein {
  opacity: 0;
  transform: translateY(50px);
  transition: 1.3s ease-out; }

.scroll_fadein.window_in {
  opacity: 1;
  transform: translateY(0); }

.scroll_opacity {
  opacity: 0;
  transition: 1.7s ease-out; }

.scroll_opacity.window_in {
  opacity: 1; }

/*左寄せ・右寄せ対策*/
img.left_align_img {
  margin-right: 15px; }

img.right_align_img {
  margin-left: 15px; }

.flex {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between; }
  .flex > * {
    flex: 1; }

.grid_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem; }
  @media screen and (max-width: 540px) {
    .grid_list {
      grid-template-columns: repeat(2, 1fr); } }

.table_column02 > p:last-child {
  margin-bottom: 0; }

@media screen and (min-width: 768px) {
  .table_column02 > table {
    width: 45%;
    margin-left: 2%;
    margin-right: 2%;
    display: inline-block;
    border: 0; }
    .table_column02 > table td {
      width: 100%; } }
.white {
  color: #fff; }

.bg_white {
  background-color: #fff; }

/*画像背景のボタン*/
.bg_img_btn a,
a.bg_img_btn {
  display: block;
  background: no-repeat;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden; }

/*center button list*/
.btn_center_box {
  clear: both;
  overflow: hidden;
  width: 100%;
  margin: 0 0 10px; }

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

.btn_center_box ul {
  position: relative;
  left: 50%;
  float: left;
  margin: 0;
  overflow: visible;
  list-style: none;
  list-style-position: inside; }

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

.btn_center_box li {
  position: relative;
  left: -50%;
  float: left;
  list-style: none;
  display: inline; }

.btn_center_box li:first-child {
  margin: 0; }

.btn_center_box li a {
  margin: 0 10px 10px; }

/*list*/
#conts ul {
  margin-bottom: 2.5rem;
  overflow: hidden; }
  #conts ul > li {
    position: relative;
    line-height: 1.6;
    padding-left: 11px;
    margin-bottom: 0.6em; }
    #conts ul > li:last-child {
      margin-bottom: 0; }
    #conts ul > li:before {
      content: "";
      display: block;
      position: absolute;
      left: 0;
      top: 0.5lh;
      background-color: #111;
      width: 4px;
      height: 4px;
      border-radius: 50%;
      translate: 0 -50%; }

#conts ul.sitemap {
  margin-bottom: 0; }

#conts ol {
  counter-reset: ordered_num;
  margin-bottom: 2.5rem;
  overflow: hidden; }
  #conts ol[start="1"] {
    counter-reset: ordered_num 0; }
  #conts ol[start="2"] {
    counter-reset: ordered_num 1; }
  #conts ol[start="3"] {
    counter-reset: ordered_num 2; }
  #conts ol[start="4"] {
    counter-reset: ordered_num 3; }
  #conts ol[start="5"] {
    counter-reset: ordered_num 4; }
  #conts ol[start="6"] {
    counter-reset: ordered_num 5; }
  #conts ol[start="7"] {
    counter-reset: ordered_num 6; }
  #conts ol[start="8"] {
    counter-reset: ordered_num 7; }
  #conts ol[start="9"] {
    counter-reset: ordered_num 8; }
  #conts ol[start="10"] {
    counter-reset: ordered_num 9; }
  #conts ol[start="11"] {
    counter-reset: ordered_num 10; }
  #conts ol[start="12"] {
    counter-reset: ordered_num 11; }
  #conts ol[start="13"] {
    counter-reset: ordered_num 12; }
  #conts ol[start="14"] {
    counter-reset: ordered_num 13; }
  #conts ol[start="15"] {
    counter-reset: ordered_num 14; }
  #conts ol[start="16"] {
    counter-reset: ordered_num 15; }
  #conts ol[start="17"] {
    counter-reset: ordered_num 16; }
  #conts ol[start="18"] {
    counter-reset: ordered_num 17; }
  #conts ol[start="19"] {
    counter-reset: ordered_num 18; }
  #conts ol[start="20"] {
    counter-reset: ordered_num 19; }
  #conts ol[start="21"] {
    counter-reset: ordered_num 20; }
  #conts ol[start="22"] {
    counter-reset: ordered_num 21; }
  #conts ol[start="23"] {
    counter-reset: ordered_num 22; }
  #conts ol[start="24"] {
    counter-reset: ordered_num 23; }
  #conts ol[start="25"] {
    counter-reset: ordered_num 24; }
  #conts ol[start="26"] {
    counter-reset: ordered_num 25; }
  #conts ol[start="27"] {
    counter-reset: ordered_num 26; }
  #conts ol[start="28"] {
    counter-reset: ordered_num 27; }
  #conts ol[start="29"] {
    counter-reset: ordered_num 28; }
  #conts ol[start="30"] {
    counter-reset: ordered_num 29; }
  #conts ol[start="31"] {
    counter-reset: ordered_num 30; }
  #conts ol[start="32"] {
    counter-reset: ordered_num 31; }
  #conts ol[start="33"] {
    counter-reset: ordered_num 32; }
  #conts ol[start="34"] {
    counter-reset: ordered_num 33; }
  #conts ol[start="35"] {
    counter-reset: ordered_num 34; }
  #conts ol[start="36"] {
    counter-reset: ordered_num 35; }
  #conts ol[start="37"] {
    counter-reset: ordered_num 36; }
  #conts ol[start="38"] {
    counter-reset: ordered_num 37; }
  #conts ol[start="39"] {
    counter-reset: ordered_num 38; }
  #conts ol[start="40"] {
    counter-reset: ordered_num 39; }
  #conts ol[start="41"] {
    counter-reset: ordered_num 40; }
  #conts ol[start="42"] {
    counter-reset: ordered_num 41; }
  #conts ol[start="43"] {
    counter-reset: ordered_num 42; }
  #conts ol[start="44"] {
    counter-reset: ordered_num 43; }
  #conts ol[start="45"] {
    counter-reset: ordered_num 44; }
  #conts ol[start="46"] {
    counter-reset: ordered_num 45; }
  #conts ol[start="47"] {
    counter-reset: ordered_num 46; }
  #conts ol[start="48"] {
    counter-reset: ordered_num 47; }
  #conts ol[start="49"] {
    counter-reset: ordered_num 48; }
  #conts ol[start="50"] {
    counter-reset: ordered_num 49; }
  #conts ol[start="51"] {
    counter-reset: ordered_num 50; }
  #conts ol[start="52"] {
    counter-reset: ordered_num 51; }
  #conts ol[start="53"] {
    counter-reset: ordered_num 52; }
  #conts ol[start="54"] {
    counter-reset: ordered_num 53; }
  #conts ol[start="55"] {
    counter-reset: ordered_num 54; }
  #conts ol[start="56"] {
    counter-reset: ordered_num 55; }
  #conts ol[start="57"] {
    counter-reset: ordered_num 56; }
  #conts ol[start="58"] {
    counter-reset: ordered_num 57; }
  #conts ol[start="59"] {
    counter-reset: ordered_num 58; }
  #conts ol[start="60"] {
    counter-reset: ordered_num 59; }
  #conts ol[start="61"] {
    counter-reset: ordered_num 60; }
  #conts ol[start="62"] {
    counter-reset: ordered_num 61; }
  #conts ol[start="63"] {
    counter-reset: ordered_num 62; }
  #conts ol[start="64"] {
    counter-reset: ordered_num 63; }
  #conts ol[start="65"] {
    counter-reset: ordered_num 64; }
  #conts ol[start="66"] {
    counter-reset: ordered_num 65; }
  #conts ol[start="67"] {
    counter-reset: ordered_num 66; }
  #conts ol[start="68"] {
    counter-reset: ordered_num 67; }
  #conts ol[start="69"] {
    counter-reset: ordered_num 68; }
  #conts ol[start="70"] {
    counter-reset: ordered_num 69; }
  #conts ol[start="71"] {
    counter-reset: ordered_num 70; }
  #conts ol[start="72"] {
    counter-reset: ordered_num 71; }
  #conts ol[start="73"] {
    counter-reset: ordered_num 72; }
  #conts ol[start="74"] {
    counter-reset: ordered_num 73; }
  #conts ol[start="75"] {
    counter-reset: ordered_num 74; }
  #conts ol[start="76"] {
    counter-reset: ordered_num 75; }
  #conts ol[start="77"] {
    counter-reset: ordered_num 76; }
  #conts ol[start="78"] {
    counter-reset: ordered_num 77; }
  #conts ol[start="79"] {
    counter-reset: ordered_num 78; }
  #conts ol[start="80"] {
    counter-reset: ordered_num 79; }
  #conts ol[start="81"] {
    counter-reset: ordered_num 80; }
  #conts ol[start="82"] {
    counter-reset: ordered_num 81; }
  #conts ol[start="83"] {
    counter-reset: ordered_num 82; }
  #conts ol[start="84"] {
    counter-reset: ordered_num 83; }
  #conts ol[start="85"] {
    counter-reset: ordered_num 84; }
  #conts ol[start="86"] {
    counter-reset: ordered_num 85; }
  #conts ol[start="87"] {
    counter-reset: ordered_num 86; }
  #conts ol[start="88"] {
    counter-reset: ordered_num 87; }
  #conts ol[start="89"] {
    counter-reset: ordered_num 88; }
  #conts ol[start="90"] {
    counter-reset: ordered_num 89; }
  #conts ol[start="91"] {
    counter-reset: ordered_num 90; }
  #conts ol[start="92"] {
    counter-reset: ordered_num 91; }
  #conts ol[start="93"] {
    counter-reset: ordered_num 92; }
  #conts ol[start="94"] {
    counter-reset: ordered_num 93; }
  #conts ol[start="95"] {
    counter-reset: ordered_num 94; }
  #conts ol[start="96"] {
    counter-reset: ordered_num 95; }
  #conts ol[start="97"] {
    counter-reset: ordered_num 96; }
  #conts ol[start="98"] {
    counter-reset: ordered_num 97; }
  #conts ol[start="99"] {
    counter-reset: ordered_num 98; }
  #conts ol > li {
    line-height: 1.6;
    padding-left: 1.3em;
    text-indent: -1.3em;
    margin-bottom: 0.6em; }
    #conts ol > li:nth-child(n+10) {
      padding-left: 1.9em;
      text-indent: -1.9em; }
    #conts ol > li:last-child {
      margin-bottom: 0; }
    #conts ol > li:before {
      counter-increment: ordered_num;
      content: counter(ordered_num) ".";
      margin-right: 0.35em; }

#conts ul.caution,
.contents ul.caution {
  margin-bottom: 2.5em; }
#conts ul.caution li,
.contents ul.caution li {
  margin-bottom: 0; }
#conts ul.caution li:before,
.contents ul.caution li:before {
  content: "※"; }
#conts ul.plane,
#conts ol.plane,
#conts ul.plane li,
#conts ol.plane li,
.contents ul.plane,
.contents ol.plane,
.contents ul.plane li,
.contents ol.plane li {
  list-style-type: none !important;
  padding: 0; }
#conts ul.plane li:before,
#conts ol.plane li:before,
.contents ul.plane li:before,
.contents ol.plane li:before {
  display: none; }

/*news list*/
#conts .article_list {
  padding: 0;
  margin: 0 0 1.1em; }

#conts .article_list li,
.news_box {
  padding: 1.2em 0;
  margin: 0;
  text-indent: 0;
  line-height: 1.5;
  border-bottom: 1px dotted #BECACC; }
  #conts .article_list li .flex_area,
  .news_box .flex_area {
    display: flex;
    align-items: center;
    gap: 0.4em;
    margin-bottom: 0.4em; }
    #conts .article_list li .flex_area time,
    .news_box .flex_area time {
      margin-bottom: 0; }
  #conts .article_list li .category,
  .news_box .category {
    font-size: 0.7rem;
    color: #fff;
    background-color: #1D72C2;
    width: 8.1em;
    text-align: center;
    margin-bottom: 0;
    line-height: 1.9;
    letter-spacing: normal; }
    #conts .article_list li .category.event,
    .news_box .category.event {
      background-color: #FCE77E;
      color: #0A67BF; }
    #conts .article_list li .category.boshu,
    .news_box .category.boshu {
      background-color: #008A27;
      color: #fff; }
  #conts .article_list li:first-child,
  .news_box:first-child {
    padding-top: 0; }
  #conts .article_list li:before,
  .news_box:before {
    display: none; }
  #conts .article_list li time,
  #conts .article_list li a,
  .news_box time,
  .news_box a {
    display: block; }
  #conts .article_list li time,
  .news_box time {
    white-space: nowrap;
    font-size: 0.8rem;
    line-height: 1;
    margin-bottom: 0.5em; }
  #conts .article_list li.no_news,
  .news_box.no_news {
    font-size: 1rem; }
    #conts .article_list li.no_news p,
    .news_box.no_news p {
      margin-bottom: 0; }

@media (hover: hover) {
  #conts .article_list li a:hover,
  .news_box a:hover {
    text-decoration: none; } }
/*default heading*/
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold;
  margin: 0 0 0.7rem;
  line-height: 1.6; }

h1.page_title {
  font-size: 1.8rem;
  text-align: left;
  line-height: 1.5;
  margin: 0; }

h2 {
  font-size: 1.3rem;
  line-height: 1.3;
  color: #fff;
  background-color: #1D72C2;
  padding: 0.6em;
  border-left: 8px solid rgba(255, 255, 255, 0.35);
  margin-bottom: 1.7rem; }

h3 {
  font-size: 1.25rem;
  line-height: 1.4;
  margin-bottom: 1.7rem;
  padding: 0.15em 0 0.3em 0.6em;
  border-left: 6px solid #0E6CC4;
  border-bottom: 1px solid #BECACC; }
  h3.simple {
    padding: 0;
    border: none;
    margin-bottom: 0.8rem; }

h4 {
  font-size: 1.15rem;
  line-height: 1.4;
  padding-left: 1.15em;
  position: relative; }
  h4:before {
    content: "";
    display: block;
    width: 0.8em;
    height: 0.8em;
    background-color: #1D72C2;
    clip-path: circle(50%);
    mask-image: radial-gradient(transparent 27%, black 27%);
    position: absolute;
    top: 0.5lh;
    left: 0;
    translate: 0 -50%; }

h5 {
  font-size: 1.1rem; }

:where(.list_box, .file_icon_link) + .flame:has(> :first-child:is(h2, h3, h4)) > :first-child {
  margin-top: 2rem; }

.list_box + h2, .list_box + h3,
.button_area + h2,
.button_area + h3,
.file_icon_link + h2,
.file_icon_link + h3 {
  margin-top: 2rem; }

.button_area + .flame:has(> :first-child:is(h2, h3, h4)) > :first-child {
  margin-top: 3rem; }

.catch {
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 0.65em; }

.width_100 {
  width: 100%; }

/*hr*/
hr {
  border-bottom: solid 1px #ccc;
  background: none;
  margin: 2.5rem 0;
  clear: both; }

/*段落*/
table p {
  margin-bottom: 0; }

/*カラー*/
.blue {
  color: #0A67BF; }

.red {
  color: #c00; }

.green {
  color: #481; }

/*画像*/
.wide_photo_image {
  position: relative;
  margin: 4.3em 0 0; }

.wide_photo_image.in {
  margin: 3em 0 4em; }

.wide_photo_image img {
  width: 100%;
  margin: 0; }

.wide_photo_image .caption {
  color: #fff;
  position: absolute;
  right: 2.5%;
  bottom: 2%;
  font-size: 0.78em; }

/*container*/
.section_box {
  clear: both;
  display: flow-root;
  margin-bottom: 5rem; }
  .section_box .section_box {
    margin-bottom: 2.5rem; }
  .section_box .img_box,
  .section_box figure {
    text-align: center;
    margin-bottom: 2.5rem; }
  .section_box > *:last-child {
    margin-bottom: 0 !important; }

/*3列ボックス*/
.box_3_column {
  overflow: hidden;
  margin: 0 -1.5% 1.5em; }
  .box_3_column .box {
    float: left;
    width: 33.3333333%;
    padding: 0 1.5%;
    margin-bottom: 2em; }

/*2列ボックス*/
.box_2_column {
  overflow: hidden;
  margin: 0 -1.5% 1.5em; }
  .box_2_column .box {
    float: left;
    width: 50%;
    padding: 0 1.5%;
    margin-bottom: 3%; }

/*索引*/
.list_box {
  display: inline-block;
  vertical-align: top;
  width: 48%;
  border: none;
  padding: 0;
  margin: 0 0.7% 1.2rem; }
  .list_box > strong {
    font-weight: inherit;
    display: contents; }
  .list_box a {
    display: block;
    height: 100%;
    color: #111;
    text-decoration: none; }
    .list_box a:hover {
      color: #0A67BF;
      text-decoration: underline; }
    .list_box a a {
      display: inline;
      height: auto; }
    .list_box a .text_area .title {
      padding-left: 1.5em;
      background: url(../images/icon/icon_arrow.svg) no-repeat left top 0.1em;
      background-size: 1.18em auto;
      transition: .2s; }
    .list_box a[target="_blank"] .text_area .title:after {
      content: "";
      display: inline-block;
      width: 14px;
      aspect-ratio: 14/11;
      background: url(../images/icon/i_outlink.svg) no-repeat left center;
      background-size: contain;
      margin-left: 6px; }
  .list_box .border_box {
    border-radius: 10px;
    border: 1px solid #BECACC;
    display: flex;
    gap: 1em;
    overflow: hidden;
    background-color: #fff;
    transition: .3s;
    height: 100%;
    padding: 0.7em; }
    .list_box .border_box:not(.img_wrap) {
      display: block; }
      .list_box .border_box:not(.img_wrap) .text_area {
        padding-top: 1em;
        padding-right: 0.6em;
        padding-bottom: 1em; }
  .list_box .icon_area {
    width: 85px;
    height: 85px;
    margin-bottom: 0;
    border-radius: 6px;
    overflow: hidden; }
    .list_box .icon_area img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .list_box .text_area {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-weight: bold;
    padding: 0.3em 0 0.3em 0.6em; }
    .list_box .text_area time {
      display: block;
      font-size: 0.75em;
      color: #777;
      font-weight: normal;
      line-height: 1;
      margin-bottom: 0.4em; }
    .list_box .text_area .title {
      font-size: 1rem;
      line-height: 1.6;
      margin-bottom: 0; }
      @media screen and (min-width: 768px) {
        .list_box .text_area .title {
          font-size: 1.05rem; } }
      .list_box .text_area .title .ext {
        display: inline-block;
        font-size: 0.7em;
        font-weight: normal;
        margin-left: 0.5em; }
  .list_box .comment_text {
    font-size: 0.8rem;
    line-height: 1.6;
    color: #666;
    margin: 0.3em 0 0;
    font-weight: normal; }
    .list_box .comment_text p {
      margin-bottom: 0; }
    .list_box .comment_text table.kakuka_comment {
      margin-bottom: -1.2rem;
      font-size: 0.85rem; }

@media (hover: hover) {
  .list_box a:hover .border_box {
    background-color: #f8f8f8; }
  .list_box a:hover .text_area .title {
    background-position: left 2px top 0.1em;
    text-decoration: underline; } }
.listbox_4_columns {
  display: inline-block;
  width: 23%;
  margin: 0 0.6% 1.3rem; }
  .listbox_4_columns a {
    display: block;
    text-decoration: none;
    color: #111; }
  .listbox_4_columns .inner_box {
    border: 1px solid #BECACC;
    border-radius: 10px;
    overflow: hidden; }

.thumbnail_box figure figcaption {
  font-size: 0.9rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.6;
  padding: 0.9em 0.5em; }
.thumbnail_box .thumb_area {
  aspect-ratio: 233/130;
  transition: .2s; }
  .thumbnail_box .thumb_area img {
    width: 100%;
    height: 100%;
    object-fit: cover; }

.link_with_icon {
  font-size: 1.06rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.6; }
  .link_with_icon .inner_box {
    padding: 1.8em 0 1.3em; }
  .link_with_icon .icon {
    background-color: #DEF0FA;
    border-radius: 50%;
    width: 4.2em;
    aspect-ratio: 1/1;
    margin: 0 auto 1em;
    display: grid;
    place-items: center; }
    .link_with_icon .icon img {
      width: 65%; }
  .link_with_icon .link_title {
    margin-bottom: 0; }

@media (hover: hover) {
  .listbox_4_columns a:hover {
    text-decoration: underline;
    color: #0A67BF; }
    .listbox_4_columns a:hover .inner_box {
      background: #f8f8f8; }

  .thumbnail_box a:hover .thumb_area {
    opacity: 0.8; } }
.life_scenes_wrap {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px; }
  .life_scenes_wrap .link_with_icon {
    display: block;
    margin: 0;
    width: auto; }

/* 広報誌用 */
.magazine_link {
  display: flex;
  gap: 1rem;
  padding: 0 0 1.2rem;
  margin: 0 0 1.2rem;
  text-indent: 0;
  line-height: 1.5;
  border-bottom: 1px dotted #BECACC; }
  .magazine_link .icon_area {
    width: min(30%, 200px); }
    .magazine_link .icon_area img {
      width: 100%; }
  .magazine_link .text_area {
    flex: 1;
    line-height: 1.7; }
    .magazine_link .text_area .title {
      font-size: 1rem;
      margin-bottom: 0;
      font-weight: bold; }
    .magazine_link .text_area .ext {
      display: inline-block;
      font-size: 0.7rem;
      font-weight: normal;
      margin-left: 0.5em; }
    .magazine_link .text_area .comment_text {
      font-size: 0.85rem;
      color: #666;
      margin: 0.3em 0 0; }

/*image100%*/
.img_wide {
  width: 100%; }

/*button design*/
/*ボタン*/
.button_area,
.form_box01.credit {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 1.5rem; }

.form_box01.credit .text {
  width: 100%;
  text-align: center;
  margin-bottom: 40px; }
.form_box01.credit #contactBack,
.form_box01.credit #contactSubmit {
  display: contents; }

.button_area a,
.button_area input,
.button_area button,
.form_box01.credit input[type="submit"] {
  display: block;
  border-radius: 2em;
  font-size: 1rem;
  font-weight: bold;
  text-align: left;
  line-height: 1.6;
  color: #fff;
  text-decoration: none;
  border: 2px solid #1D72C2;
  background: #1D72C2 url(../images/icon/icon_arrow.svg) no-repeat left 1.6em center;
  padding: 0.85em 1.8em;
  padding-left: 3.1em;
  width: auto;
  min-width: 16rem;
  transition: .2s; }
  .button_area a span,
  .button_area input span,
  .button_area button span,
  .form_box01.credit input[type="submit"] span {
    color: inherit !important; }
  .button_area a:disabled,
  .button_area input:disabled,
  .button_area button:disabled,
  .form_box01.credit input[type="submit"]:disabled {
    opacity: 0.4; }
  .button_area a:focus,
  .button_area input:focus,
  .button_area button:focus,
  .form_box01.credit input[type="submit"]:focus {
    outline-color: #000 !important; }
  .button_area a.button_white,
  .button_area input.button_white,
  .button_area button.button_white,
  .form_box01.credit input[type="submit"].button_white {
    background-color: #fff;
    color: #111;
    border: 1px solid #BECACC; }
  .button_area a.button_gray,
  .button_area input.button_gray,
  .button_area button.button_gray,
  .form_box01.credit input[type="submit"].button_gray {
    background: #F2F5F5;
    border-color: #F2F5F5;
    padding-left: 1.8em;
    color: #666; }
  .button_area a[name="prev"],
  .button_area input[name="prev"],
  .button_area button[name="prev"],
  .form_box01.credit input[type="submit"][name="prev"] {
    color: #0A67BF;
    background-color: #fff;
    background-image: url(../images/icon/arrow_bl.svg); }
  .button_area a[name="prev"],
  .button_area input[name="prev"],
  .button_area button[name="prev"],
  .form_box01.credit input[type="submit"][name="prev"] {
    background-image: url(../images/icon/arrow_bl_l.svg);
    background-position: left 25px center;
    padding-right: 20px;
    padding-left: 45px; }

@media (hover: hover) {
  .button_area a:hover,
  .form_box01.credit input[type="submit"]:hover {
    opacity: 0.8;
    cursor: pointer; } }
/* ２列ボタン */
.button_2_column {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 2em; }
  .button_2_column .btn {
    display: block;
    width: 48%;
    margin-bottom: 1.1em; }
    .button_2_column .btn a {
      display: block;
      margin: 0;
      width: 100%; }

a.btn:hover,
button:hover,
.btn a:hover,
#myreset:hover,
.btn_icon:hover,
a.btn_wide:hover,
form input.submit_btn:hover {
  opacity: 0.8; }

/*table*/
.scroll_table {
  overflow: auto;
  margin-bottom: 2.5rem; }
  .scroll_table table {
    margin-bottom: 0; }
  @media screen and (min-width: 768px) {
    .scroll_table {
      overflow: visible !important; }
      .scroll_table .scroll-hint-icon-wrap {
        display: none; } }

/* テーブル */
table {
  clear: both;
  width: auto;
  max-width: 100%;
  margin-bottom: 2.5rem; }
  table,
  table th,
  table td {
    border: 1px solid #d9d9d9; }
  table th,
  table td {
    font-size: 1em;
    padding: 15px 20px;
    line-height: 1.8;
    vertical-align: top; }
  table th {
    font-weight: bold;
    width: auto;
    white-space: nowrap; }
  table thead th {
    background-color: #666;
    color: #fff;
    font-size: 0.9em;
    font-weight: bold;
    padding-top: 6px;
    padding-bottom: 6px;
    vertical-align: middle; }
    table thead th:last-of-type {
      border-right: none; }
  table tbody th {
    background-color: #f5f5f5; }
  table caption {
    font-weight: bold; }
    table caption:before {
      content: "●"; }
    table caption:has(h2, h3, h4):before {
      display: none; }
  table.line,
  table.line th,
  table.line td {
    border: none; }
  table.line th,
  table.line td {
    border-bottom: 1px solid #d9d9d9;
    padding-left: 0.75rem;
    padding-right: 0.75rem; }
  table.line thead th {
    background: none;
    color: #111; }
  table.line tbody th {
    background: none; }
  table.table03[width="640"] td {
    word-break: keep-all; }

p + table:has(caption) {
  margin-top: -1rem; }

.caption_big caption {
  font-size: 1.15rem;
  margin-bottom: 0.2rem; }

/* color box
====================================================================================================================================== */
.color_box {
  background-color: #F2F5F5;
  padding: 1.2em 1.4em;
  border-radius: 10px;
  margin-bottom: 2.5rem; }
  .color_box > *:last-child {
    margin-bottom: 0 !important; }
  .color_box.important_info {
    background-color: #DEF0FA; }
    .color_box.important_info h4 {
      font-size: 1rem;
      padding-left: 1.35em;
      margin-bottom: 0.4em;
      background: url(../images/icon/i_attention_b.svg) no-repeat left center;
      background-size: 1em auto; }
      .color_box.important_info h4:before {
        display: none; }
  .color_box.attention_box {
    background-color: #FFF4F2;
    border: 2px solid #c00; }
    .color_box.attention_box h4 {
      font-size: 1.2rem;
      padding-left: 1.4em;
      color: #c00;
      margin-bottom: 0.4em;
      background: url(../images/icon/i_attention_r.svg) no-repeat left center;
      background-size: 1.03em auto; }
      .color_box.attention_box h4:before {
        display: none; }

/*画像で見出しを作る用（スタイルを強制リセット）*/
h1.plane,
h2.plane,
h3.plane,
h4.plane,
h5.plane {
  background: none !important;
  border: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: 0 !important; }

h1.plane:after,
h2.plane:after,
h3.plane:after,
h4.plane:after,
h5.plane:after {
  display: none !important; }

h1.plane img,
h2.plane img,
h3.plane img,
h4.plane img,
h5.plane img {
  margin: 0;
  max-width: none; }

/*adjust*/
.clear {
  clear: both; }

.block {
  display: block; }

.ma0 {
  margin: 0 !important; }

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

.mab5 {
  margin-bottom: 5px !important; }

.mab10 {
  margin-bottom: 10px !important; }

.mab20 {
  margin-bottom: 20px !important; }

.mab30 {
  margin-bottom: 30px !important; }

.mab40 {
  margin-bottom: 40px !important; }

.mab1em {
  margin-bottom: 1em !important; }

.mab15em {
  margin-bottom: 1.5em !important; }

.mab2em {
  margin-bottom: 2em !important; }

.mab25em {
  margin-bottom: 2.5em !important; }

.mab3em {
  margin-bottom: 3em !important; }

.mab35em {
  margin-bottom: 35em !important; }

.mat0 {
  margin-top: 0 !important; }

.mat5 {
  margin-top: 5px !important; }

.mat10 {
  margin-top: 10px !important; }

.mat20 {
  margin-top: 20px !important; }

.mat30 {
  margin-top: 30px !important; }

.mat1em {
  margin-top: 1em !important; }

.mat15em {
  margin-top: 1.5em !important; }

.mat2em {
  margin-top: 2em !important; }

.mat25em {
  margin-top: 2.5em !important; }

.mat3em {
  margin-top: 3em !important; }

.mat35em {
  margin-top: 35em !important; }

.mat-10 {
  margin-top: -10px !important; }

.mat-20 {
  margin-top: -20px !important; }

.mat-30 {
  margin-top: -30px !important; }

.mar10 {
  margin-right: 10px !important; }

.mar20 {
  margin-right: 20px !important; }

.mal10 {
  margin-left: 10px !important; }

.mal20 {
  margin-left: 20px !important; }

.pa0 {
  padding: 0 !important; }

.pat0 {
  padding-top: 0 !important; }

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

.pat15 {
  padding-top: 15px !important; }

/*font size*/
.font_xs {
  font-size: 0.8em; }

.font_sm {
  font-size: 0.9em; }

.font_la {
  font-size: 1.2em; }

.font_xl {
  font-size: 1.4em; }

.font_normal {
  font-weight: normal; }

.font_bold {
  font-weight: bold; }

.text_center {
  text-align: center !important; }

.text_right {
  text-align: right !important; }

.text_left {
  text-align: left !important; }

.font_0 {
  font-size: 0; }

.font_plus {
  font-size: 1.07em; }

/*kerning*/
.nowrap {
  white-space: nowrap !important; }

.kerning0 {
  letter-spacing: 0; }

.kerning {
  letter-spacing: -0.05em; }

.kerning01 {
  letter-spacing: -0.1em; }

.kerning02 {
  letter-spacing: -0.25em; }

.kerning03 {
  letter-spacing: -0.5em; }

.kerning_plus {
  letter-spacing: 0.25em; }

/*行間詰め*/
.line_height_min {
  line-height: 1.6; }

/*文字間*/
.letter {
  letter-spacing: 0.08em; }

/*タイトル調整用*/
.kerning_tit {
  letter-spacing: 0.27em; }

.kerning_tit_m {
  letter-spacing: 0.17em; }

.kerning_tit_m02 {
  letter-spacing: 0.1em; }

.font_num {
  font-size: 1.05em; }

/*文字にアンチエイリアスを効かせる*/
.font_smoothing {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

/* 文章枠用CSS
====================================================================================================================================== */
p {
  margin-bottom: 2.5rem; }

/*スタンダード（画像右／左寄せ）*/
.common_box {
  overflow: visible;
  /*右*/ }
  .common_box .img_box {
    float: left;
    max-width: 49%;
    margin-right: 2rem;
    margin-top: 0.5em;
    margin-bottom: 2.5rem; }
  .common_box .text_box {
    display: inline;
    overflow: hidden; }
    .common_box .text_box table {
      clear: none; }
  .common_box.right .img_box {
    float: right;
    margin-right: 0;
    margin-left: 2rem; }

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

.box_l,
.box_l2,
.box_r,
.box_r2 {
  margin-bottom: 100px; }

.box_l .photo,
.box_l2 .photo {
  float: left; }

.box_r .photo,
.box_r2 .photo {
  float: right; }

.photo:has(img.left) {
  float: left;
  margin-right: 20px;
  margin-bottom: 20px; }
  .photo:has(img.left) img {
    margin: 0; }
.photo:has(img.right) {
  float: right;
  margin-left: 20px;
  margin-bottom: 20px; }
  .photo:has(img.right) img {
    margin: 0; }

.left_img_box,
.right_img_box {
  float: left;
  margin-right: 20px;
  margin-bottom: 20px;
  max-width: 48%;
  width: 100%;
  margin-top: 0.5em; }
  .left_img_box img,
  .right_img_box img {
    width: 100%;
    float: none; }

.right_img_box {
  float: right;
  margin-right: 0;
  margin-left: 20px; }

img.align-left {
  float: left;
  margin-right: 1rem;
  margin-bottom: 2.5rem; }
img.align-right {
  float: right;
  margin-left: 1rem;
  margin-bottom: 2.5rem; }
img.align-center {
  display: block;
  margin-left: auto;
  margin-right: auto; }
@media screen and (max-width: 540px) {
  img.align-left, img.align-right {
    float: none;
    display: block;
    margin: 0 auto; } }

.img_caption {
  font-size: 0.8em;
  line-height: 1.6;
  margin-top: 5px;
  margin-bottom: 1em; }

/*画像3つ並び*/
.photo_3column {
  overflow: hidden;
  text-align: center; }

.photo_3column img {
  float: left;
  width: 33.3333%; }

/*画像3つ並び（ページ内）*/
.photo_3column_in,
.photo_2column_in {
  margin: 2.5rem 0;
  display: grid;
  gap: 15px; }
  .photo_3column_in .image_wrap img,
  .photo_2column_in .image_wrap img {
    width: 100%;
    height: auto; }

.photo_3column_in {
  grid-template-columns: repeat(3, 1fr); }

/*画像2つ並び（ページ内）*/
.photo_2column_in {
  grid-template-columns: repeat(2, 1fr); }

/* ２列入力枠 */
.two_column_box {
  margin: 0 -1.5% 1.5em; }
  .two_column_box .half_box {
    float: left;
    width: 50%;
    padding: 0 1.5%; }
  .two_column_box:after {
    content: "";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden; }

/*お問い合わせ窓口*/
.contact_kakuka {
  clear: both;
  margin-top: 80px; }
  .contact_kakuka .color_box {
    display: flex;
    justify-content: space-between;
    align-items: center; }
  .contact_kakuka .section_info + .section_info {
    margin-top: 1.1em; }
  .contact_kakuka .text_area {
    width: calc(100% - 320px - 20px); }
    .contact_kakuka .text_area h5 {
      font-size: 1.2em;
      margin-bottom: 0; }
    .contact_kakuka .text_area p {
      margin-bottom: 5px; }
    .contact_kakuka .text_area .tel {
      line-height: 1.5;
      display: flex;
      gap: 30px;
      font-weight: bold; }
      .contact_kakuka .text_area .tel.column {
        flex-direction: column;
        gap: 15px; }
      .contact_kakuka .text_area .tel p {
        margin-bottom: 0; }
        .contact_kakuka .text_area .tel p a,
        .contact_kakuka .text_area .tel p span {
          font-size: 1.6em;
          margin-left: 7px; }
  .contact_kakuka .button_area {
    width: 320px;
    margin-bottom: 0; }
    .contact_kakuka .button_area a {
      width: 100%;
      min-width: initial;
      border-color: #d9d9d9;
      padding: 20px 5px;
      padding-left: 72px;
      background: #fff url(../images/icon/bnr_madoguchi.svg) no-repeat left 16px center;
      background-size: 42px auto;
      color: #0A67BF;
      text-align: left; }

@media (hover: hover) {
  .contact_kakuka .button_area a:hover {
    opacity: 0.7; } }
details,
.qa_box {
  padding: 0 !important;
  border: 1px solid #BECACC;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 1.2rem; }
  details summary,
  details .qa_title,
  .qa_box summary,
  .qa_box .qa_title {
    font-weight: bold;
    padding: 1.6em 1.4em;
    padding-right: 2.5em;
    position: relative;
    cursor: pointer;
    font-size: 1rem;
    line-height: 1.6; }
    details summary p,
    details .qa_title p,
    .qa_box summary p,
    .qa_box .qa_title p {
      margin-bottom: 0; }
    details summary:after,
    details .qa_title:after,
    .qa_box summary:after,
    .qa_box .qa_title:after {
      content: "";
      display: block;
      width: 0.83em;
      aspect-ratio: 1/1;
      background: url(../images/icon/icon_acc_closed.svg) no-repeat center center;
      background-size: contain;
      position: absolute;
      right: 1.4em;
      top: 50%;
      translate: 0 -50%; }
  details[open] summary,
  details[open] .qa_title, details.opened summary,
  details.opened .qa_title,
  .qa_box[open] summary,
  .qa_box[open] .qa_title,
  .qa_box.opened summary,
  .qa_box.opened .qa_title {
    background-color: #DEF0FA; }
    details[open] summary:after,
    details[open] .qa_title:after, details.opened summary:after,
    details.opened .qa_title:after,
    .qa_box[open] summary:after,
    .qa_box[open] .qa_title:after,
    .qa_box.opened summary:after,
    .qa_box.opened .qa_title:after {
      background-image: url(../images/icon/icon_acc_opened.svg); }
  details[open] > :not(:last-child), details.opened > :not(:last-child),
  .qa_box[open] > :not(:last-child),
  .qa_box.opened > :not(:last-child) {
    margin-bottom: 0 !important; }
  details .qa_answer,
  .qa_box .qa_answer {
    padding: 1.8em 1.6em 1.6em; }
    details .qa_answer p,
    .qa_box .qa_answer p {
      margin-bottom: 1rem; }
      details .qa_answer p:last-child,
      .qa_box .qa_answer p:last-child {
        margin-bottom: 0; }

@media (hover: hover) {
  details summary:hover,
  .qa_box .qa_title:hover {
    opacity: 0.7; } }
.contact_box {
  margin-top: 5rem; }
  .contact_box h4 {
    font-size: 1.1rem;
    width: fit-content;
    margin: 0 auto 0.8em;
    padding-left: 1.8em;
    background: url(../images/icon/i_soudan.svg) no-repeat left center;
    background-size: 1.5em auto; }
    .contact_box h4:before {
      display: none; }

.categories_wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin-bottom: 4rem; }

.category_box {
  border: 1px solid #BECACC;
  border-radius: 10px;
  overflow: hidden; }
  .category_box h3 {
    background-color: rgba(14, 108, 196, 0.15);
    border: none;
    font-size: 1.1rem;
    font-weight: bold;
    padding: 0.7em 1em;
    margin-bottom: 0; }
    .category_box h3 a {
      display: block;
      color: inherit;
      text-decoration: none; }
  .category_box .list_area {
    padding: 1.1em 1em; }
    .category_box .list_area ul {
      margin-bottom: 0 !important; }
      .category_box .list_area ul li {
        font-size: 0.9rem;
        padding: 0 !important;
        margin-bottom: 0.8em !important; }
        @media screen and (max-width: 540px) {
          .category_box .list_area ul li {
            font-size: 1rem; } }
        .category_box .list_area ul li:before {
          display: none !important; }
        .category_box .list_area ul li:last-child {
          margin-bottom: 0 !important; }
        .category_box .list_area ul li a {
          display: block;
          padding-left: 1.6em;
          background: url(../images/icon/icon_arrow.svg) no-repeat left top;
          background-size: 1.35em auto; }

@media (hover: hover) {
  .category_box h3 a:hover {
    text-decoration: underline; } }
.link_to_list {
  text-align: right; }
  .link_to_list a {
    display: inline-block;
    font-size: 0.9rem;
    font-weight: bold;
    padding-left: 1.7em;
    background: url(../images/icon/icon_arrow.svg) no-repeat left center;
    background-size: 1.33em auto; }

.key_color_kenko #page_title_wrap.subtop .subtop_title_wrap {
  border-color: #63B7EB;
  background: linear-gradient(to bottom, rgba(99, 183, 235, 0.15) 0%, transparent 100%); }
.key_color_kenko .link_to_list a {
  background-image: url(../images/icon/icon_arrow_kenko.svg); }
.key_color_kenko h2 {
  background-color: rgba(99, 183, 235, 0.65);
  color: #111; }
.key_color_kenko .category_box h3 {
  background-color: rgba(99, 183, 235, 0.15); }
.key_color_kenko .category_box .list_area ul li a {
  background-image: url(../images/icon/icon_arrow_kenko.svg); }

.key_color_kosodate #page_title_wrap.subtop .subtop_title_wrap {
  border-color: #98C71E;
  background: linear-gradient(to bottom, rgba(152, 199, 30, 0.15) 0%, transparent 100%); }
.key_color_kosodate .link_to_list a {
  background-image: url(../images/icon/icon_arrow_kosodate.svg); }
.key_color_kosodate h2 {
  background-color: rgba(152, 199, 30, 0.65);
  color: #111; }
.key_color_kosodate .category_box h3 {
  background-color: rgba(152, 199, 30, 0.15); }
.key_color_kosodate .category_box .list_area ul li a {
  background-image: url(../images/icon/icon_arrow_kosodate.svg); }

.key_color_bousai #page_title_wrap.subtop .subtop_title_wrap {
  border-color: #E0BB00;
  background: linear-gradient(to bottom, rgba(224, 187, 0, 0.15) 0%, transparent 100%); }
.key_color_bousai .link_to_list a {
  background-image: url(../images/icon/icon_arrow_bousai.svg); }
.key_color_bousai h2 {
  background-color: rgba(224, 187, 0, 0.65);
  color: #111; }
.key_color_bousai .category_box h3 {
  background-color: rgba(224, 187, 0, 0.15); }
.key_color_bousai .category_box .list_area ul li a {
  background-image: url(../images/icon/icon_arrow_bousai.svg); }

.key_color_chosei #page_title_wrap.subtop .subtop_title_wrap {
  border-color: #E07E22;
  background: linear-gradient(to bottom, rgba(224, 126, 34, 0.15) 0%, transparent 100%); }
.key_color_chosei .link_to_list a {
  background-image: url(../images/icon/icon_arrow_chosei.svg); }
.key_color_chosei h2 {
  background-color: rgba(224, 126, 34, 0.65);
  color: #111; }
.key_color_chosei .category_box h3 {
  background-color: rgba(224, 126, 34, 0.15); }
.key_color_chosei .category_box .list_area ul li a {
  background-image: url(../images/icon/icon_arrow_chosei.svg); }

.key_color_jigyosha #page_title_wrap.subtop .subtop_title_wrap {
  border-color: #6768AB;
  background: linear-gradient(to bottom, rgba(103, 104, 171, 0.15) 0%, transparent 100%); }
.key_color_jigyosha .link_to_list a {
  background-image: url(../images/icon/icon_arrow_jigyosha.svg); }
.key_color_jigyosha h2 {
  background-color: #6768AB; }
.key_color_jigyosha .category_box h3 {
  background-color: rgba(103, 104, 171, 0.15); }
.key_color_jigyosha .category_box .list_area ul li a {
  background-image: url(../images/icon/icon_arrow_jigyosha.svg); }

.key_color_kanko #page_title_wrap.subtop .subtop_title_wrap {
  border-color: #e07096;
  background: linear-gradient(to bottom, rgba(224, 112, 150, 0.15) 0%, transparent 100%); }
.key_color_kanko .link_to_list a {
  background-image: url(../images/icon/icon_arrow_kanko.svg); }
.key_color_kanko h2 {
  background-color: rgba(224, 112, 150, 0.65);
  color: #111; }
.key_color_kanko .category_box h3 {
  background-color: rgba(224, 112, 150, 0.15); }
.key_color_kanko .category_box .list_area ul li a {
  background-image: url(../images/icon/icon_arrow_kanko.svg); }

table.kakuka_comment {
  font-size: 0.9rem;
  line-height: 1.6;
  margin-bottom: 0;
  width: 100%; }
  table.kakuka_comment th,
  table.kakuka_comment td {
    display: inline;
    padding: 0;
    border: none; }
  table.kakuka_comment tr {
    display: block;
    width: 100%;
    border-bottom: 1px solid #d9d9d9;
    padding: 0.8em 0;
    padding-left: 2.2em;
    text-indent: -2.2em; }
    table.kakuka_comment tr:before {
      content: "";
      display: inline-block;
      width: 1.6em;
      height: 1.6em;
      margin-right: 0.3em;
      margin-bottom: -0.5em;
      border-radius: 50%;
      background-color: #DEF0FA;
      background-repeat: no-repeat;
      background-position: center;
      background-size: 75%; }
    table.kakuka_comment tr.kakuka_row_gyomu:before {
      background-image: url(../images/icon/i_tree.svg); }
    table.kakuka_comment tr.kakuka_row_madoguchi:before {
      background-image: url(../images/icon/i_access.svg); }
    table.kakuka_comment tr.kakuka_row_tel:before {
      background-image: url(../images/icon/i_tel.svg); }
    table.kakuka_comment tr:last-of-type {
      border-bottom: none; }

@media screen and (max-width: 768px) {
  /*default heading*/
  /* table */
  table {
    width: 100% !important;
    font-size: 0.9em; }
    table.table03[width="640"] td {
      word-break: normal; }

  #conts.in .text_box:has(table.table03[width="640"]) {
    overflow: auto; }

  /*索引*/
  .listbox_4_columns {
    width: 31.5%;
    margin-left: 0.5%;
    margin-right: 0.5%; }

  .link_with_icon {
    font-size: 1rem; }

  .life_scenes_wrap {
    grid-template-columns: repeat(3, 1fr);
    gap: 15px; }

  /*画像*/
  .wide_photo_image {
    margin-top: 1.4em; }

  .wide_photo_image.in {
    margin: 1em 0 2em; }

  .wide_photo_image .caption {
    font-size: 0.7em; }

  /*container*/
  .section_box {
    padding: 0;
    margin-bottom: 5rem; }

  .box_l,
  .box_l2,
  .box_r,
  .box_r2 {
    margin-bottom: 5rem; }

  /*戻る*/
  a.btn.back,
  .btn.back a {
    min-width: 30%;
    background-size: auto 13px; }

  /* ２列ボタン */
  .button_2_column .btn {
    width: 49%;
    margin-bottom: 1em; }

  /*icon*/
  .btn_icon {
    padding: 2px 0 2px 22px;
    background-size: 10px auto;
    margin-top: 0.6em; }

  .btn_icon.back {
    background-size: 8px auto; }

  /*wide*/
  a.btn_wide {
    padding: 0.6em 10px;
    font-size: 1.4em;
    letter-spacing: 0.1em; }

  /*3列ボックス*/
  .box_3_column {
    margin: 0 -0.6% 1.5em; }
    .box_3_column .box {
      padding: 0 0.6%;
      margin-bottom: 1.5em; }

  /*2列ボックス*/
  .box_2_column {
    overflow: hidden;
    margin: 0 -0.6% 1.5em; }
    .box_2_column .box {
      padding: 0 0.6%;
      margin-bottom: 1.5em; }

  a.button_link {
    font-size: 0.9375em;
    padding: 0.5em 1.2em 0.5em 2.2em; }
    a.button_link.button_green {
      background-size: 9px auto;
      background-position: left 15px center; }
      a.button_link.button_green:hover {
        background-position: left 15px center; }
    a.button_link.button_trans {
      background-size: 9px auto;
      background-position: left 15px center; }
      a.button_link.button_trans:hover {
        background-position: left 15px center; }
    a.button_link.button_lightgreen {
      background-position: left 15px center; }
      a.button_link.button_lightgreen:hover {
        background-position: left 15px center; }

  details summary {
    font-size: 1.1em;
    padding: 19px 25px;
    padding-right: 50px; }
    details summary:after {
      width: 22px;
      right: 22px; }
  details .qa_answer {
    padding: 0 25px 20px; }

  .color_box {
    padding: 20px 25px; }

  /*お問い合わせ窓口*/
  .contact_kakuka {
    margin-top: 65px; }
    .contact_kakuka .color_box {
      display: block; }
    .contact_kakuka .text_area {
      width: auto;
      margin-bottom: 20px; }
    .contact_kakuka .button_area {
      width: min(300px, 100%);
      margin: 0 auto; }

  #conts .sub_list_box {
    display: block; }
    #conts .sub_list_box .category {
      display: block;
      width: auto;
      padding: 1em 0.5em 0.8em; }
      #conts .sub_list_box .category h3 {
        font-size: 1.1em; }
    #conts .sub_list_box .links {
      width: auto;
      padding: 1.2em 1.4em; }
      #conts .sub_list_box .links ul li {
        font-size: 0.9em; }

  .categories_wrap {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px; } }
@media screen and (max-width: 540px) {
  /*default heading*/
  h1.page_title {
    font-size: 1.7rem; }

  /* テーブル */
  table th {
    white-space: normal; }
  table th,
  table td {
    padding: 11px; }
  table tbody th {
    min-width: 5em; }
    table tbody th.min_0 {
      min-width: 0; }

  /* table */
  .scroll_table {
    overflow: scroll; }
    .scroll_table table {
      width: auto !important;
      min-width: 200vw; }
      .scroll_table table th {
        white-space: nowrap; }

  /* 文章枠 */
  .common_box .img_box, .common_box.right .img_box {
    max-width: initial;
    float: none;
    margin-left: 0;
    margin-right: 0;
    text-align: center; }
    .common_box .img_box img, .common_box.right .img_box img {
      float: none; }

  .photo:has(img.left) {
    float: none;
    margin-right: 0;
    text-align: center; }
    .photo:has(img.left) img {
      float: none; }
  .photo:has(img.right) {
    float: none;
    margin-left: 0;
    text-align: center; }
    .photo:has(img.right) img {
      float: none; }

  .left_img_box,
  .right_img_box {
    float: none;
    max-width: initial;
    text-align: center;
    margin-left: 0;
    margin-right: 0; }

  /*索引*/
  /*2列ボックス*/
  .list_box {
    display: block;
    width: auto;
    margin-left: 0;
    margin-right: 0; }

  .listbox_4_columns {
    width: 47.5%;
    margin-left: 0.8%;
    margin-right: 0.8%; }

  .life_scenes_wrap {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px; }

  /* ボタン */
  .button_area,
  .form_box01.credit {
    flex-direction: column; }

  a.btn,
  button.btn,
  .btn a,
  #myreset,
  form input.submit_btn {
    display: block;
    width: auto;
    margin-left: auto;
    margin-right: auto; }
    a.btn + a,
    a.btn + input,
    button.btn + a,
    button.btn + input,
    .btn a + a,
    .btn a + input,
    #myreset + a,
    #myreset + input,
    form input.submit_btn + a,
    form input.submit_btn + input {
      margin-top: 0.5em;
      margin-left: auto; }

  /* ２列ボタン */
  .button_2_column {
    display: block; }
    .button_2_column .btn {
      width: 100%;
      margin-bottom: 0.5em; }

  /*3列ボックス*/
  .box_3_column {
    margin: 0 0 1.5em; }
    .box_3_column .box {
      float: none;
      width: 100%;
      max-width: 280px;
      padding: 0;
      margin: 0 auto 1.5em; }

  /*2列ボックス*/
  .box_2_column {
    overflow: hidden;
    margin: 0 0 1.5em; }
    .box_2_column .box {
      float: none;
      width: 100%;
      padding: 0;
      margin-bottom: 1.5em; }

  .contact_kakuka .text_area .tel {
    flex-direction: column;
    gap: 4px; }

  #conts .sub_list_box .links {
    padding: 1.2em 1em; }
    #conts .sub_list_box .links ul:after {
      display: none; }
    #conts .sub_list_box .links ul li {
      width: 49%; }

  .acc {
    margin-bottom: 25px; }
    .acc .m {
      font-size: 1.1em;
      padding: 20px 40px 20px 15px;
      background-position: right 12px center;
      background-size: 25px auto; }
    .acc .t {
      padding: 15px; }

  .categories_wrap {
    display: block; }

  .category_box {
    margin-bottom: 20px; } }
/* iframe対策 */
.movie {
  aspect-ratio: 16/9;
  margin-bottom: 2.5rem; }
  .movie iframe {
    width: 100%;
    height: 100%; }

/* サイトマップ */
#conts .wrapper > ul.sitemap {
  margin-bottom: 1rem;
  border-bottom: dotted 1px #BECACC;
  padding: 0.5rem 0 0.4rem; }
  #conts .wrapper > ul.sitemap > li {
    margin-bottom: 1rem; }
    #conts .wrapper > ul.sitemap > li:before {
      display: none; }
    #conts .wrapper > ul.sitemap > li > a {
      font-weight: bold;
      font-size: 1.2rem;
      display: inline-block;
      margin-bottom: 0.4rem;
      margin-left: -0.6rem; }

#conts ul.sitemap .has_children li {
  padding-left: 0.8em !important;
  padding-bottom: 0.2em; }
  #conts ul.sitemap .has_children li:before {
    content: "";
    top: 0.7em;
    border-radius: 0;
    background: none;
    border: solid 1px #0A67BF;
    border-top: 0;
    border-right: 0;
    width: 0.5em;
    height: 0.6em; }
#conts ul.sitemap .has_children .children_list {
  margin-bottom: 0; }
  #conts ul.sitemap .has_children .children_list ul.sitemap ul.sitemap li {
    font-size: 0.85rem; }

/* ローカルナビ */
.navi_local {
  display: grid;
  gap: 0.4rem;
  margin: 0 auto 2.5rem;
  grid-template-columns: repeat(2, 1fr); }
  @media screen and (min-width: 768px) {
    .navi_local {
      display: block; } }
  .navi_local a {
    display: inline-block;
    position: relative;
    padding-left: 1.5rem; }
    @media screen and (min-width: 768px) {
      .navi_local a {
        margin-right: 2rem; } }
    .navi_local a:before {
      content: "";
      display: inline-block;
      width: 1.2rem;
      height: 1.2rem;
      position: absolute;
      left: 0;
      top: 0.35em;
      background: url(../images/icon/icon_arrow.svg) no-repeat left top;
      background-size: 100% auto;
      transform: rotate(90deg); }
