﻿@charset "utf-8";
/* ==========================================================

========================================================== */

img {
  max-width: 100%;
}

/* .mv_box for h1
-------------------------------------- */
.mv_box {
  position: relative;
  margin: 0 auto;
  background: url("../image/bg_main.jpg?2024") 0 100% / 100% auto no-repeat;
  text-align: center;
  line-height: 300px;
}
.mv_box h1 {
  background: #015719;
  letter-spacing: 0.1em;
  color: #fff;
  font-weight: bold;
  line-height: 1;
}
@media only screen and (max-width:759px) {
  .mv_box {
    width: 100%;
    height: 44vw;
    margin: 0 0 0.7em;
  }
  .mv_box h1 {
    padding: 0.8em 0;
    font-size: 4.8vw;
  }
}
@media screen and (min-width: 760px), print {
  .mv_box {
    width: 960px;
    height: 300px;
    margin: 0 auto 38px;
  }
  .mv_box h1 {
    display: inline-block;
    padding: 1em 2.7em 1em 2.8em;
    font-size: 20px;
    border: 4px solid #015719;
    box-shadow: inset 0 0 0 1px #fff;
  }
}

/* lead_top
-------------------------------------- */

figure.main_img {
  position: relative;
}
@media screen and (min-width: 760px), print {
  .lead_top {
    width: 830px;
    margin: 38px auto 42px;
    font-size: 18px;
  }
  figure.main_img {
    width: 868px;
    height: 360px;
    margin: 0 auto 109px;
  }
  figure.main_img figcaption {
    position: absolute;
    top: 110px;
    left: 0;
    width: 180px;
    height: 143px;
  }
  figure.main_img > img {
    display: block;
    width: auto;
    height: 360px;
    margin: 0 0 0 auto;
  }
}
@media screen and (max-width: 759px) {
  .lead_top {
    width: auto;
    margin: 0 1em 2em;
    text-align: justify;
    text-justify: inter-ideograph;
  }
  figure.main_img {
    width: 100%;
    height: auto;
    margin: 0 auto 2em;
  }
  figure.main_img figcaption {
    position: static;
    width: 30%;
    height: auto;
    margin: 0 auto 6vw;
  }
  figure.main_img > img {
    position: static;
    display: block;
    width: 92vw;
    height: auto;
    margin: 0 auto;
  }
}
section.cal {
  position: relative;
  box-sizing: border-box;
  overflow: visible;
}
.cal_wrap section.cal::before {
  content: "";
  position: absolute;
  top: 0;
  z-index: -2;
}
.cal_wrap section.cal:nth-child(odd)::before {
  right: 0;
  background: #5d8b6a;
}
.cal_wrap section.cal:nth-child(even)::before {
  left: 0;
  background: #7cac94;
}
.cal_wrap section.cal::after {
  content: "";
  position: absolute;
  background: #e6e6e6;
  z-index: -1;
}
.cal_wrap section.cal:nth-child(1)::after,
.cal_wrap section.cal:nth-child(8)::after,
.cal_wrap section.cal:nth-child(9)::after,
.cal_wrap section.cal:nth-child(10)::after,
.cal_wrap section.cal:nth-child(11)::after,
.cal_wrap section.cal:nth-child(12)::after {
  background: #fff;
}
.cal_wrap section.cal:nth-child(odd)::after {
  right: 0;
}
.cal_wrap section.cal:nth-child(even)::after {
  left: 0;
}
section.cal ul.dl_btns {
  width: 206px;
}
section.cal ul.dl_btns li {
  margin: 0 0 15px;
}
section.cal ul.dl_btns li a {
  display: block;
  height: 65px;
  padding: 0 1.6em 0 0;
  background: #fff url("../image/ico_dl.png") 93% 50% / 25px auto no-repeat;
  color: #3c9468;
  text-align: center;
  line-height: 65px;
  font-size: 15px;
  font-weight: bold;
  box-sizing: border-box;
}
section.cal ul.dl_btns li a:hover {
  text-decoration: none;
  opacity: 0.8;
}
section.cal a.detail_btn {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 345px;
  height: 30px;
  padding: 0 1em 0 0;
  margin: 0 auto;
  background: #3c6894 url(../image/ico_detail.png) 100% 50% / auto 100% no-repeat;
  color: #fff;
  font-size: 15px;
  font-weight: bold;
  text-align: center;
  line-height: 30px;
  border-radius: 2em;
  box-sizing: border-box;
  transition: background 0.2s linear;
}
section.cal a.detail_btn:hover {
  opacity: 0.8;
}
section.cal a.detail_btn img {
  position: relative;
  top: -0.1em;
  display: inline-block;
  width: 32px;
  margin: 0 0 0 0.8em;
  vertical-align: middle;
}
section.cal a.detail_btn:hover {
  text-decoration: none;
}
section.cal a.detail_btn.detail_btn01 {
  width: 254px;
}
section.cal a.detail_btn.detail_btn02 {
  width: 264px;
}
section.cal a.detail_btn.detail_btn03 {
  width: 250px;
}
section.cal a.detail_btn.detail_btn04 {
  width: 296px;
}
section.cal a.detail_btn.detail_btn05 {
  width: 232px;
}
section.cal a.detail_btn.detail_btn06 {
  width: 226px;
}
section.cal a.detail_btn.detail_btn07 {
  width: 232px;
}
section.cal a.detail_btn.detail_btn08 {
  width: 262px;
}
section.cal a.detail_btn.detail_btn09 {
  width: 320px;
}
section.cal a.detail_btn.detail_btn10 {
  width: 240px;
}
section.cal a.detail_btn.detail_btn11 {
  width: 290px;
}
section.cal a.detail_btn.detail_btn12 {
  width: 250px;
}

@media screen and (max-width: 759px) {
  section.cal a.detail_btn.detail_btn01 {
    width: 216px;
  }
  section.cal a.detail_btn.detail_btn02 {
    width: 226px;
  }
  section.cal a.detail_btn.detail_btn03 {
    width: 210px;
  }
  section.cal a.detail_btn.detail_btn04 {
    width: 244px;
  }
  section.cal a.detail_btn.detail_btn05 {
    width: 196px;
  }
  section.cal a.detail_btn.detail_btn06 {
    width: 184px;
  }
  section.cal a.detail_btn.detail_btn07 {
    width: 190px;
  }
  section.cal a.detail_btn.detail_btn08 {
    width: 224px;
  }
  section.cal a.detail_btn.detail_btn09 {
    width: 260px;
  }
  section.cal a.detail_btn.detail_btn10 {
    width: 200px;
  }
  section.cal a.detail_btn.detail_btn11 {
    width: 246px;
  }
  section.cal a.detail_btn.detail_btn12 {
    width: 210px;
  }

}

section.cal b.eng {
  position: absolute;
  top: 0;
  background: #d6eae0;
  color: #015719;
  text-align: center;
}
section.cal:nth-child(odd) b.eng {
  left: 0;
}
section.cal:nth-child(even) b.eng {
  right: 0;
}
section.cal img.eng {
  position: absolute;
  top: 0;
  width: 136px;
  margin: 0 auto;
}

section.cal:nth-child(odd) img.eng {
  top: -1px;
  right: 730px;
  left: 0;
}
section.cal:nth-child(even) img.eng {
  right: 0;
  left: 730px;
}
section.cal picture img {
  border: 1px solid #000 !important;
  box-sizing: border-box;
}
@media screen and (min-width: 760px), print {
  section.cal {
    width: 896px;
    height: 492px;
    margin: 0 auto 46px;
  }
  .cal_wrap section.cal:nth-child(odd) {
    padding: 69px 0 0 665px;
  }
  .cal_wrap section.cal:nth-child(even) {
    padding: 69px 0 0 25px;
  }
  .cal_wrap section.cal::before {
    width: 730px;
    height: 451px;
  }
  .cal_wrap section.cal::after {
    top: 9.5px;
    width: 730px;
    height: 4.5px;
  }
  section.cal h2 {
    width: 206px;
    height: 84px;
    margin: 0 0 52px;
    text-align: center;
  }
  section.cal h2 img {
    width: 100%;
  }
  /*section#jan.cal h2 img {
    width: 76.5px;
  }
  section#feb.cal h2 img {
    width: 87.5px;
  }
  section#mar.cal h2 img {
    width: 65px;
  }
  section#apr.cal h2 img {
    width: 81.5px;
  }
  section#may.cal h2 img {
    width: 63.5px;
  }
  section#jun.cal h2 img {
    width: 65px;
  }
  section#jul.cal h2 img {
    width: 65px;
  }
  section#aug.cal h2 img {
    width: 67px;
  }
  section#sep.cal h2 img {
    width: 96px;
  }
  section#oct.cal h2 img {
    width: 96.5px;
  }
  section#nov.cal h2 img {
    width: 90.5px;
  }
  section#dec.cal h2 img {
    width: 96.5px;
  }*/
  section.cal picture {
    position: absolute;
    top: 69px;
    width: 642px;
  }
  section.cal:nth-child(odd) picture {
    left: 0;
  }
  section.cal:nth-child(even) picture {
    right: -2px;
  }
  section.cal b.eng {
    display: block;
    width: 166px;
    height: 69px;
    font-size: 32px;
    line-height: 69px;
  }
  /*section#jan.cal img.eng {
    width: 96px;
  }
  section#feb.cal img.eng {
    width: 89px;
  }
  section#mar.cal img.eng {
    width: 107.5px;
  }
  section#apr.cal img.eng {
    width: 100px;
  }
  section#may.cal img.eng {
    width: 106px;
  }
  section#jun.cal img.eng {
    width: 97px;
  }
  section#jul.cal img.eng {
    width: 92.5px;
  }
  section#aug.cal img.eng {
    width: 101px;
  }
  section#sep.cal img.eng {
    width: 92.5px;
  }
  section#oct.cal img.eng {
    width: 97px;
  }
  section#nov.cal img.eng {
    width: 101.5px;
  }
  section#dec.cal img.eng {
    width: 93.5px;
  }*/
}
@media screen and (max-width: 759px) {
  section.cal {
    width: 100%;
    height: auto;
    margin: 0 auto 14vw;
  }
  .cal_wrap section.cal:nth-child(odd) {
    padding: 9.067vw 0 6vw 41.2vw;
  }
  .cal_wrap section.cal:nth-child(even) {
    padding: 9.067vw 0 6vw 4.53vw;
  }
  .cal_wrap section.cal::before {
    width: 79%;
    height: 104.5vw;
  }
  .cal_wrap section.cal::after {
    top: 2.5vw;
    width: 79%;
    height: 1.2vw;
  }
  section.cal h2 {
    width: 54vw;
    margin: 0 0 4.53vw;
    text-align: center;
  }
  section.cal h2 img {
    width: auto;
    height: 18vw;
    margin: 0 auto;
  }
  section.cal picture {
    position: absolute;
    top: 31.5vw;
    width: 32.4vw;
  }
  section.cal:nth-child(odd) picture {
    left: 4.53vw;
  }
  section.cal:nth-child(even) picture {
    right: 4.53vw;
  }
  section.cal ul.dl_btns {
    width: 54vw;
  }
  section.cal ul.dl_btns.pc_size {
    display: none;
  }
  section.cal ul.dl_btns li {
    margin: 0 0 4vw;
  }
  section.cal ul.dl_btns li a {
    height: 14vw;
    background-position: 92% 50%;
    background-size: 6.4vw auto;
    line-height: 14vw;
    font-size: 4vw;
  }
  section.cal a.detail_btn {
    right: 0;
    bottom: -5.6vw;
    left: 0;
    width: 68.8vw;
    height: 8.4vw;
    padding: 0 1.6em 0 0;
    margin: 0 auto;
    font-size: 3vw;
    line-height: 8.4vw;
    letter-spacing: 0;
  }
  section.cal a.detail_btn::before {
    border: 1.067vw solid #004894;
  }
  section.cal a.detail_btn img {
    width: 6vw;
  }
  section.cal b.eng {
    display: block;
    width: 21vw;
    height: 9.5vw;
    font-size: 5.2vw;
    line-height: 9.5vw;
  }
  /*section.cal img.eng {
    top: 0;
  }
  section.cal:nth-child(odd) img.eng {
    right: 79%;
  }
  section.cal:nth-child(even) img.eng {
    left: 79%;
  }
  section.cal img.eng {
    width: 16.6vw;
  }*/
}
section.setting {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  width: 896px;
  padding: 13px 25px 206px;
  margin: 0 auto 175px;
  background: #ecefe3;
  box-sizing: border-box;
  overflow: visible;
}
section.setting h2 {
  position: relative;
  width: 726px;
  margin: 0 auto 12px;
  font-size: 23px;
  font-weight: bold;
  text-align: center;
}
section.setting h2::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 256px;
  height: 2px;
  margin: auto 0;
  background: #000;
}
section.setting h2::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  display: block;
  width: 256px;
  height: 2px;
  margin: auto 0;
  background: #000;
}
section.setting dl.win {
  width: 50%;
  padding: 0 55px 0 30px;
  margin: 0 0 24px;
  box-sizing: border-box;
}
section.setting dl dt {
  margin: 0 0 20px;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
}
section.setting dl dd {
  font-size: 18px;
  letter-spacing: -0.025em;
  line-height: 1.6;
}
section.setting dl.win dt img {
  position: relative;
  top: -0.2em;
  width: 23px;
  margin: 0 0.5em 0 0;
}
section.setting dl.mac {
  width: 50%;
  padding: 0 30px 0 55px;
  margin: 0 0 24px;
  border-left: 1px solid #000;
  box-sizing: border-box;
}
section.setting dl.mac dt {
}
section.setting dl.mac dt img {
  position: relative;
  top: -0.2em;
  width: 19px;
  margin: 0 0.5em 0 0;
}
section.setting dl.tab {
  padding: 25px 30px 0;
  border-top: 1px solid #000;
  display: initial !important;
}
section.setting dl.tab dt img {
  width: 35px;
  margin: 0 0.5em 0 0;
}
section.setting .device_image {
  margin: 22px auto;
  text-align: center;
	width: 95%;
}
aside.sp_intro {
  position: absolute;
  right: 0;
  bottom: -140px;
  left: 0;
  width: 796px;
  height: 346px;
  padding: 13px 41px;
  margin: 0 auto;
  background: #fff;
  box-sizing: border-box;
}
aside.sp_intro h3 {
  width: 330px;
  margin: 0 0 10px;
  text-align: center;
}
aside.sp_intro p {
  width: 330px;
  margin: 0 0 30px;
  font-size: 18px;
  letter-spacing: -0.025em;
  line-height: 1.6;
}
aside.sp_intro img.qr {
  position: absolute;
  top: 45px;
  left: 435px;
  width: 105.5px;
}
aside.sp_intro img.sp_image {
  position: absolute;
  top: 15px;
  right: 62px;
  width: 116px;
}
aside.sp_intro img.txt_cal2023_sp {
  width: 400px;
  margin-left: 100px;
}

.wrp_inquiry {
  margin: 0 auto;
  max-width: 944px;
  width: 98%;
}
.kome {
  margin: 0.4em 0 0;
  padding-left: 1em;
  text-indent: -1em;
}
.url {
  word-break: break-all;
  font-weight: bold;
}

@media screen and (min-width: 760px) {
  #wrap_inner {
    margin: 0 auto 0;
  }
  section.cal ul.dl_btns.sp_size,
  .setting_sp,
  section.cal figure img:last-child {
    display: none;
  }
}
@media screen and (max-width: 759px) {
  section.setting {
    display: none;
  }
  section.setting_sp {
    position: relative;
    width: 90.5%;
    margin: 0 auto 52vw;
    padding: 0.85em 1em 75vw;
    background: #ecefe3;
    box-sizing: border-box;
    overflow: visible;
  }
  section.setting_sp h2 {
    position: relative;
    margin: 0 auto 3.2vw;
    font-size: 6vw;
    text-align: center;
  }
  section.setting_sp h2::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: 15vw;
    height: 0.534vw;
    margin: auto 0;
    background: #000;
  }
  section.setting_sp h2::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    display: block;
    width: 15vw;
    height: 0.534vw;
    margin: auto 0;
    background: #000;
  }
  section.setting_sp .device_image {
    display: block;
    width: 41.3vw;
    margin: 4vw auto;
  }
  aside.pc_intro {
    position: absolute;
    right: 0;
    bottom: -50vw;
    left: 0;
    width: 84vw;
    height: 125vw;
    padding: 3.3vw 4vw;
    margin: 0 auto;
    background: #fff;
    box-sizing: border-box;
  }
  aside.pc_intro h3 {
    margin: 0 0 0.3em;
    text-align: center;
  }
  aside.pc_intro p {
  }
  aside.pc_intro img.qr {
    display: block;
    width: 46%;
    margin: 4vw auto;
  }
}


/* ============================================
印刷用
============================================ */

@media print {
 /* 表示しない */
  #page_top {
    display:none;
  }
  /* 要素内を改行しない
-------------------------------------------- */
  figure,
  dd,
  li,
  .function_block {
    page-break-inside:avoid;
  }
}