@charset "utf-8";
/* CSS Document */
/* =================================
	 * common
 ================================= */
body {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans", Meiryo, sans-serif;
}
body, html {
  margin: 0;
  width: 100%;
  overflow-x: hidden;
}
html {
  scroll-behavior: smooth;
}
#container {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.sakura {
  position: absolute;
  padding: 0;
  margin: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 999;
}
.sakura li {
  position: absolute;
  list-style: none;
  top: -50px;
  background: #ffdbed;
  border-radius: 0% 70%;
  animation: fall 4s linear infinite, sway 2s ease-in-out infinite alternate;
}
@keyframes fall {
  to {
    top: 120%;
  }
}
@keyframes sway1 {
  from {
    transform: translateX(0px) rotate(0deg);
  }
  to {
    transform: translateX(200px) rotate(-45deg);
  }
}
@keyframes sway2 {
  from {
    transform: translateX(200px) rotate(-45deg);
  }
  to {
    transform: translateX(0px) rotate(0deg);
  }
}
.sakura li:nth-child(1) {
  left: 0%;
  width: 24px;
  height: 15px;
  animation: fall 10s linear infinite, sway1 3s ease-in-out infinite alternate;
  animation-delay: 2s;
}
.sakura li:nth-child(2) {
  left: 5%;
  width: 13px;
  height: 9px;
  animation: fall 15s linear infinite, sway1 2s ease-in-out infinite alternate;
  animation-delay: 8s;
}
.sakura li:nth-child(3) {
  left: 15%;
  width: 16px;
  height: 10px;
  animation: fall 9s linear infinite, sway1 3.5s ease-in-out infinite alternate;
  animation-delay: 13s;
}
.sakura li:nth-child(4) {
  left: 30%;
  width: 16px;
  height: 10px;
  animation: fall 8s linear infinite, sway2 4s ease-in-out infinite alternate;
  animation-delay: 7s;
}
.sakura li:nth-child(5) {
  left: 40%;
  width: 16px;
  height: 10px;
  animation: fall 10s linear infinite, sway1 4s ease-in-out infinite alternate;
  animation-delay: 0s;
}
.sakura li:nth-child(6) {
  left: 55%;
  width: 24px;
  height: 15px;
  animation: fall 11s linear infinite, sway2 3s ease-in-out infinite alternate;
  animation-delay: 3s;
}
.sakura li:nth-child(7) {
  left: 65%;
  width: 16px;
  height: 10px;
  animation: fall 7s linear infinite, sway2 3.5s ease-in-out infinite alternate;
  animation-delay: 7s;
}
.sakura li:nth-child(8) {
  left: 50%;
  width: 13px;
  height: 9px;
  animation: fall 7s linear infinite, sway1 3s ease-in-out infinite alternate;
  animation-delay: 3s;
}
.sakura li:nth-child(9) {
  left: 80%;
  width: 16px;
  height: 10px;
  animation: fall 10s linear infinite, sway2 4s ease-in-out infinite alternate;
  animation-delay: 4s;
}
/* ------------- text and fa ------*/
.txt_01 {
  color: #ef4f9a;
  font-weight: lighter;
  font-size: 0.8em;
}
.txt_02 {
  color: #f78020;
  font-size: 0.9em;
    line-height: 2.5em;
}
.txt_s {
  font-size: 0.8em;
}
.fa {
  padding: 0 0.1em 0 0em;
}
.fa .leaf {
  color: #4eccc2;
  font-size: 1.4em;
}
.b {
  font-weight: bold;
}
.r {
  color: #bf0000;
}
.f_s {
  font-size: 0.9em;
}
/* ------------- h2 ------*/
.heading {
  position: relative;
  margin: 20px 0 0 0;
  padding: 30px 0 20px 0;
  font-size: 1.5em;
  border-bottom: 1px solid #E57A96;
}
.heading span {
  position: relative;
  z-index: 2;
  color: #444;
  display: block;
  margin: 5px 0 0 10px;
  letter-spacing: 0.1em;
}
.heading::before {
  content: attr(data-en);
  position: absolute;
  top: 0px;
  left: 0;
  color: #fce8ec;
  font-size: 2em;
  text-transform: uppercase;
  z-index: 1;
}
/* ------------- clearfix ------*/
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}
.clearfix:before {
  content: "";
  display: block;
  clear: both;
}
.clearfix {
  display: block;
}
.pc_totop {
  display: none;
}
/* =================================
	A * head
 ================================= */
#head_top {
  width: 100%;
  height: 5px;
  background: #DE6983;
}
#head_area {
  width: 100%;
  background-color: transparent;
}
.head_logoSP {
  background-image: url(test-icon.png), url("../img/sakura.png");
  background-repeat: no-repeat;
  background-position: left 0px top 10px, center;
  background-size: 38px;
  padding: 27px;
  background-color: transparent;
  display: block;
}
.head_titleSP {
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  color: #555;
  text-align: center;
  font-size: 1.7em;
  letter-spacing: .2rem;
  padding: 2px 0 5px 0px;
  background-color: transparent;
  display: block;
}
.head_logoPC, .head_titlePC {
  display: none;
}
/* ------------- SP-Change ------*/
.head_logoSPcg {
  background-image: url(test-icon.png), url("../img/sakura.png");
  background-repeat: no-repeat;
  background-position: left 0px top 10px, center;
  background-size: 38px;
  padding: 32px 32px 34px 32px;
  background-color: transparent;
  display: block;
  float: left;
}
.head_titleSPcg {
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  color: #555;
  font-size: 1.4em;
  letter-spacing: .2rem;
  padding: 22px 0 5px 0px;
  background-color: transparent;
  display: block;
  float: left;
}
.head_inn02 {
  color: #FFFFFF;
  background: #E57A96;
  text-align: center;
  font-size: 0.6em;
  letter-spacing: .2rem;
  padding: 5px;
  clear: both;
}
/* ------------- hamburger menu ------*/
.pc_menu, .pcmenu_change, .pcmenu_box {
  display: none;
}
.sp_dn {
  display: none;
}
.sp_menu {
  display: block;
}
.hamburger-menu {
  width: 50px;
  height: 50px;
  position: relative;
  background: rgba(255, 255, 255, 0.3);
  appearance: none;
  cursor: pointer;
  padding: 0;
  right: 10px;
  top: 8px;
  float: right;
  border: 1px solid rgba(222, 124, 104, 0.6);
  border-radius: 5px;
}
.hamburger-menu__bar {
  display: inline-block;
  width: 44%;
  height: 3px;
  background: #DE6983;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  transition: .5s;
}
.hamburger-menu__bar:first-child {
  top: 16px;
}
.hamburger-menu__bar:nth-child(2) {
  top: 24px;
}
.hamburger-menu__bar:last-child {
  top: 32px;
}
.hamburger-menu--open .hamburger-menu__bar {
  top: 50%;
}
.hamburger-menu--open .hamburger-menu__bar:first-child {
  transform: translateX(-50%) translateY(-50%) rotate(45deg);
}
.hamburger-menu--open .hamburger-menu__bar:last-child {
  transform: translateX(-50%) translateY(-50%) rotate(-45deg);
}
.hamburger-menu--open .hamburger-menu__bar:nth-child(2) {
  display: none;
}
.navigation {
  display: none;
  background: #27acd9;
  opacity: 0.9;
  position: absolute;
  top: 100px;
  width: 100%;
  z-index: 9999;
}
.navigation__list {
  text-align: center;
  list-style: none;
  padding: 0;
  margin: 0;
}
.navigation__list-item {
  border-bottom: solid 1px rgba(255, 255, 255, 0.9);
}
.navigation__list-item:first-child {
  border-top: solid 1px rgba(255, 255, 255, 0.9);
}
.navigation__link {
  color: rgba(255, 255, 255, 0.9);
  font-weight: bolder;
  text-decoration: none;
  display: block;
  padding: 24px 0;
  transition: .5s;
}
@media (hover: hover) and (pointer: fine) {
  .navigation__link:hover {
    background: #64b5db;
  }
}
/* =================================
	B * What’s new!
 ================================= */
#inner {
  padding: 1em;
  color: #555555;
}
.intro_box {
  padding: 10px 0 0 0;
}
.explanation {
  color: #555555;
  line-height: 2;
  padding: 20px 10px 0px 25px;
}
.news_co {
  padding: 5px 10px 0 23px;
}
/* ------------- label ------*/
/* .label:before {
  content: '\f05a';
  font: var(--fa-font-solid);
  font-size: 1.4em;
  color: #f93e3e;
vertical-align: top;
  margin-right: 5px;
}
*/
.fa .topi {
  color: #f93e3e;
  font-size: 1.4em;
  display: inline;
}
/* ------------- list Design ------*/
.topics_box {
  margin: 20px 5px 5px 30px;
  border-top: 1px dotted #E57A96;
  line-height: 1.8em;
}
.topics_box a {
  font-weight: bold;
  color: #27acd9;
  background: #FFF;
  display: inline-block;
  padding: 5px 14px 5px 13px;
  margin: 0 8px 0 0;
  border-radius: 7px;
  border: 1px solid #27acd9;
}
.topics_box a::before {
  font: var(--fa-font-solid);
  content: '\f054';
  padding: 0 10px 0 0;
}
.topics_box a:hover {
  color: #FFF;
  background: #27acd9;
  transition: all 0.4s 0s ease-in-out;
}
.topics dl {
  padding: 15px 0;
  border-bottom: 1px dotted #E57A96;
}
.topics dt {
  padding-bottom: 5px;
  color: #64b5db;
}
@keyframes blinking {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.icon_new {
  animation: blinking 1s ease-in-out infinite alternate;
  display: inline-block;
  margin-left: .5em;
  padding: 5px 10px 4px 10px;
  background-color: #FFF;
  font-size: 10px;
  font-weight: bold;
  color: #bf0000;
  letter-spacing: 0.2em;
  border: 1px solid #bf0000;
  text-align: baseline;
  line-height: 1;
}
@media screen and (min-width: 787px) {
  .topics dt {
    clear: left;
    float: left;
    width: 10%;
  }
  .topics dd {
    margin-left: 11%;
  }
}
/* ------------- toggle ------*/
.toggle_contents, .toggle_contents02 {
  display: none;
  padding: 20px 10px 10px 0px;
}
.toggle_btn, .toggle_btn02 {
  font-weight: bold;
  color: #27acd9;
  background: #FFF;
  display: none;
  padding: 5px 14px 5px 13px;
  margin: 0 8px 0 0;
  border-radius: 7px;
  border: 1px solid #27acd9;
  cursor: pointer;
}
.toggle_btn::before, .toggle_btn02::before {
  font: var(--fa-font-regular);
  content: '\f07c';
  padding: 10px 10px 10px 0;
}
.toggle_btn:hover, .toggle_btn02:hover {
  color: #FFF;
  background: #27acd9;
  transition: all 0.4s 0s ease-in-out;
}
.toggle_inn, .toggle_inn02 {
  padding: 10px 12px 0px 12px;
  border: 1px solid #27acd9;
}
.toggle_inn li, .toggle_inn02 li {
  padding: 0 0 20px 0;
}
.toggle_inn li::before, .toggle_inn02 li::before {
  font: var(--fa-font-regular);
  content: '\f192';
  padding: 10px 10px 10px 0;
  color: #27acd9;
}
/* =================================
	C * contents
 ================================= */
.contents_box {
  padding: 35px 0 5px 0;
}
.explanation02 {
  color: #555555;
  line-height: 2;
  padding: 25px 10px 30px 30px;
}
.table_area {
  width: 95%;
  margin: 0 0 0 5%;
}
.table_area02 {
  width: 100%;
  margin: 0 0 0 0;
}
.table_design {
  border-collapse: collapse;
  width: 100%;
}
.table_design th, .table_design td {
  border: 2px solid #fff;
  background-color: #f7f7f7;
  border-radius: 0 15px 15px 0;
  padding: 1em;
  vertical-align: middle;
}
.table_design td {
  padding: 1em 1em 1em 2em;
  color: #444;
}
.table_design th {
  background-color: #2fc4b7;
  color: #fff;
  font-weight: bold;
  text-align: center;
  border-radius: 15px 0 0 15px;
  width: 35%;
  min-width: 4em;
  position: relative;
}
.table_design th::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  border: 10px solid transparent;
  border-left: 10px solid #2fc4b7;
  z-index: 2;
}
.table_design th::after {
  content: '';
  position: absolute;
  top: 50%;
  left: calc(100% + 2px);
  transform: translateY(-50%);
  border: 12px solid transparent;
  border-left: 12px solid #fff;
  z-index: 1;
}
.table_design08 {
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
  text-align: center;
}
.table_design08 th, .table_design08 td {
  border: 2px solid #d2e8f1;
  padding: 1em;
  vertical-align: middle;
}
.table_design08 th:first-child, .table_design08 td:first-child {
  width: 120px;
}
.table_design08 th:nth-child(2), .table_design08 td:nth-child(2) {
  width: 190px;
}
.table_design08 th:nth-child(3), .table_design08 td:nth-child(3) {
  width: 130px;
}
.table_design08 th:nth-child(4), .table_design08 td:nth-child(4) {
  width: 150px;
}
.table_design08 th:last-child, .table_design08 td:last-child {
  width: 100px;
}
.table_design08 thead th {
  background-color: #4d9bc1;
  color: #fff;
  border: 2px solid #4d9bc1;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  text-align: center;
}
.table_design08 thead th:last-of-type {
  border-right: 2px solid #4d9bc1;
}
.table_design08 tbody th {
  color: #4d9bc1;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 787px) {
  .table_design08 {
    text-align: left;
  }
  .table_design08 thead {
    display: none;
  }
  .table_design08 th, .table_design08 td {
    display: block;
    border: 0;
    border-bottom: 2px solid #e6f1f6;
  }
  .table_design08 td {
    padding-left: 6px;
  }
  .table_design08 th:first-child, .table_design08 td:first-child {
    width: 100%;
  }
  .table_design08 th:nth-child(2), .table_design08 td:nth-child(2) {
    width: 100%;
  }
  .table_design08 th:nth-child(3), .table_design08 td:nth-child(3) {
    width: 100%;
  }
  .table_design08 th:nth-child(4), .table_design08 td:nth-child(4) {
    width: 100%;
  }
  .table_design08 th:last-child, .table_design08 td:last-child {
    width: 100%;
  }
  .table_design08 tbody th {
    background: #4d9bc1;
    color: #fff;
  }
  .table_design08 td::before {
    content: attr(data-label);
    color: #4d9bc1;
    font-weight: bold;
    display: inline-block;
    width: 20%;
    min-width: 4em;
  }
}
.cal_area {
  width: 90%;
  margin: 0 auto;
}
/* =================================
	to top
 ================================= */
.pagetop {
  display: none;
  position: fixed;
  bottom: 3px;
  right: 3px;
}
.pagetop a {
  display: block;
  width: 55px;
  height: 45px;
  border-radius: 2px;
  background: #DE6983 url(../img/totop_btn.png) no-repeat 13px 7px / 30px 30px;
  opacity: 0.7;
}
.pagetop a:hover {
  display: block;
  width: 55px;
  height: 45px;
  border-radius: 2px;
  background: #DE6983 url(../img/totop_btn.png) no-repeat 13px 7px / 30px 30px;
  opacity: 0.5;
}
/* =================================
	Z * footer
 ================================= */
#footer {
  color: #FFFEFE;
  font-size: 0.7em;
  padding: 0.7rem;
  background: #DE6983;
  text-align: center;
}