@charset "UTF-8";
/* CSS Document */
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

:root {
  --primary-color:#b04353;
  --secondary-color: #b04353;
  /*1c449b*/
  --tertiary-color: #b04353;
  /*1c449b*/ }

html, body {
  font-size: 62.5%;
  height: 100%;
  padding: 0;
  margin: 0;
  scroll-behavior: smooth; }

body {
  font-family: 'Noto Sans JP', "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
  text-size-adjust: 100%;
  line-height: 1.8;
  color: #111;
  letter-spacing: 0.02em;
  font-size: 1.7rem;
  font-weight: 400;
  padding-top: 96px; }

h1, h2, h3, h4, p, dl, dt, dd, img, a, div {
  padding: 0;
  margin: 0; }

nav ul > li {
  margin: 0;
  padding: 0;
  list-style-type: none; }

img {
  display: block;
  width: 100%;
  height: auto;
  vertical-align: top; }

table {
  border-collapse: collapse; }

a {
  color: #1d1d1d;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
  outline: none; }

a:hover {
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear; }

h2 {
  margin-bottom: 40px;
  line-height: 1.4;
  font-size: 3.6rem;
  letter-spacing: 0.25em;
  color: var(--primary-color); }

body:not(.home) h2 {
  margin-bottom: 40px;
  line-height: 1.4;
  font-size: 2.6rem;
  letter-spacing: 0.05em;
  color: #000; }

h3 {
  font-weight: 400;
  margin-bottom: 1em;
  font-size: 1.8rem;
  line-height: 1.5; }

body:not(.home) h3 {
  font-weight: bold; }

.color-primary {
  color: var(--primary-color); }

.headline-01 {
  text-align: center;
  position: relative; }
  .headline-01 .subtitle {
    height: 55px;
    position: absolute;
    left: 50%;
    top: -60%;
    transform: translateX(-50%); }
  .headline-01 .text-small {
    font-size: 2.9rem;
    display: block; }

.headline-small {
  color: #fff;
  text-align: center;
  font-weight: bold;
  font-size: 2.9rem; }

.headline-thai {
  position: relative; }
  .headline-thai img {
    height: 55px !important;
    position: absolute;
    left: 50%;
    bottom: -20px;
    transform: translateX(-50%); }

.headline-02 {
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  font-size: 2.6rem;
  line-height: 2;
  letter-spacing: 0.2em; }

.headline-03 {
  font-weight: bold;
  font-size: 2.6rem;
  color: var(--secondary-color);
  margin-bottom: 16px;
  line-height: 1; }

.headline-03-b {
  font-weight: bold;
  font-size: 2.6rem;
  color: var(--secondary-color);
  margin-bottom: 16px;
  line-height: 1;
  letter-spacing: 0.05em; }

.headline-04 a {
  font-size: 2.2rem;
  color: var(--secondary-color);
  font-weight: bold;
  border-bottom: solid 2px var(--secondary-color);
  padding-bottom: 3px;
  line-height: 1.5;
  text-decoration: none; }

.headline-05 {
  margin-bottom: 5px; }
  .headline-05 a {
    font-size: 1.8rem;
    color: var(--secondary-color);
    font-weight: bold;
    padding-bottom: 2px; }

.headline-06 {
  font-size: 2.4rem;
  font-weight: bold; }

.link-ul {
  color: var(--secondary-color);
  border-bottom: solid 1px var(--secondary-color); }

.frame-01 {
  border: solid 2px var(--secondary-color);
  padding: 30px; }

.frame-02 {
  background: #fcf6e6;
  padding: 30px; }

.frame-03 {
  background: rgba(0, 0, 139, 0.05);
  padding: 30px; }

.check-mark {
  padding-left: 30px;
  position: relative; }

.check-mark::before,
.check-mark::after {
  content: "";
  display: block;
  position: absolute; }

.check-mark::before {
  width: 22px;
  height: 22px;
  background: var(--secondary-color);
  left: 0;
  top: 3px;
  border-radius: 3px; }

.check-mark::after {
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  width: 10px;
  height: 6px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  left: 5px;
  top: 8px; }

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

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

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

.mb-50 {
  margin-bottom: 50px !important; }

.layout-between {
  justify-content: space-between !important; }

.marker {
  background: linear-gradient(transparent 70%, #ffe500 70%);
  display: inline; }

.arrow-lists li {
  position: relative;
  padding-left: 25px;
  list-style: none;
  margin-bottom: 5px; }

.arrow-lists li::before {
  content: '';
  width: 18px;
  height: 18px;
  background: var(--tertiary-color);
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto; }

.arrow-lists li::after {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 6px;
  border-color: transparent transparent transparent #fff;
  position: absolute;
  top: 0;
  left: 6px;
  bottom: 0;
  margin: auto; }

.arrow-lists li a:hover {
  text-decoration: underline; }

p {
  margin-bottom: 2em; }

article {
  padding: 0;
  position: relative; }

section {
  width: 90%;
  max-width: 940px;
  margin: 0 auto; }

figure {
  margin: 0; }

img {
  width: 100%;
  height: auto; }

.btn {
  max-width: 354px;
  margin: 0 auto;
  position: relative; }
  .btn a {
    text-decoration: none;
    padding: 0;
    display: block; }
    .btn a:hover {
      text-decoration: none;
      transform: translateY(-4px); }

.table-type-1 table {
  border: none; }
  .table-type-1 table th, .table-type-1 table td {
    border: solid 1px #aaa;
    border-width: 0 0 1px 0;
    text-align: left;
    padding: 10px; }
  .table-type-1 table th {
    white-space: nowrap;
    vertical-align: text-bottom; }

.table-type-2 table {
  border: solid 1px #ddd; }
  .table-type-2 table th, .table-type-2 table td {
    border: solid 1px #ddd;
    text-align: left;
    padding: 10px; }
  .table-type-2 table th {
    white-space: nowrap;
    vertical-align: text-bottom;
    background: #f8f8f8; }

.table-type-a tr:first-child th,
.table-type-a tr:first-child td {
  background: #f8f8f8; }

.gradation-01 {
  background: #952946;
  background: linear-gradient(90deg, #952946 0%, #ba6955 100%); }

.gradation-btn a {
  background: #952946;
  background: linear-gradient(90deg, #952946 0%, #ba6955 100%); }

.gradation-btn-arrow a {
  background: #952946;
  background: linear-gradient(90deg, #952946 0%, #ba6955 100%);
  padding-right: 100px;
  position: relative; }
  .gradation-btn-arrow a::after {
    content: "";
    display: block;
    width: 60px;
    height: 10px;
    background: url("../images/arrow.svg") no-repeat 0 0/100% auto;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    z-index: 20000; }
  .gradation-btn-arrow a:hover {
    transform: translateY(-4px); }

.gradation-btn-arrow {
  text-align: center; }

.pc {
  display: block; }

.sp {
  display: none; }

@media screen and (max-width: 850px) {
  body {
    padding-top: 60px;
    font-size: 1.5rem; }

  .pc {
    display: none !important; }

  .sp {
    display: block !important; }

  .btn {
    max-width: 280px; }

  h2 {
    font-size: 5vw;
    letter-spacing: 0.15em; }

  body:not(.home) h2 {
    font-size: 5.5vw;
    letter-spacing: 0.15em; }

  .headline-01 .subtitle {
    height: 30px;
    top: -40%; }

  .headline-02 {
    font-size: 5vw;
    line-height: 1.4; }

  .headline-03 {
    font-size: 4.8vw !important;
    line-height: 1.4; }

  .headline-03-b {
    font-size: 4.2vw !important; }

  .headline-04 a {
    font-size: 1.8rem;
    padding-bottom: 2px;
    line-height: 1.7; }

  .headline-06 {
    font-size: 1.8rem; }

  .table-type-1 table th, .table-type-1 table td {
    display: block;
    width: 100%;
    border-bottom: none; }
  .table-type-1 table th {
    background: #f5f5f5; }

  .headline-small {
    font-size: 2rem; }

  .headline-thai img {
    height: 30px !important;
    bottom: -10px; } }
/*------------------------------------------------

	header

------------------------------------------------*/
#header .header-body {
  padding: 22px 0 15px;
  width: 90%;
  max-width: 940px;
  margin: 0 auto; }
#header .sitename {
  max-width: 156px; }

#header {
  position: fixed;
  top: 0;
  height: 96px;
  width: 100%;
  background: #fff;
  z-index: 100; }

.main-visual {
  background: url("../images/mv.webp") no-repeat 50%/cover;
  padding: 155px 4% 114px; }
  .main-visual .mv-body {
    max-width: 940px;
    margin: 0 auto;
    position: relative; }
  .main-visual .mv-text {
    max-width: 550px;
    margin: 0 auto 40px; }
  .main-visual .mv-badge {
    position: absolute;
    bottom: 0;
    right: -5%;
    max-width: 200px; }

@media screen and (max-width: 850px) {
  #header {
    height: 60px; }
    #header .header-body {
      padding: 10px 0; }
    #header .sitename {
      max-width: 100px; }

  .main-visual {
    padding: 100px 4% 50px; }
    .main-visual .mv-text {
      width: 70%; }
    .main-visual .mv-badge {
      position: absolute;
      bottom: 95%;
      right: -2%;
      max-width: 100px; } }
/* Menu */
.menu-btn {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 9999; }

.menu-btn .btn-menu {
  width: 96px;
  height: 96px;
  background: url("../images/common/menu.png") no-repeat 50%/44px auto;
  text-indent: -9999px;
  display: block; }

.menu-btn .btn-menu.active {
  background: url("../images/common/menu-active.png") no-repeat 50%/40px auto; }

.menu-contents {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 9998;
  width: 100%;
  height: 100%;
  color: #fff;
  opacity: 0.98;
  overflow-y: auto; }

.menu-contents-inner {
  padding: 200px 50px;
  overflow-y: auto; }

.menu-list {
  max-width: 640px;
  letter-spacing: .3rem;
  list-style: none;
  padding: 0;
  border-bottom: 1px solid #fff;
  margin: 0 auto; }

.menu-item {
  border-top: 1px solid #fff; }

.menu-name,
.menu-item a {
  text-decoration: none;
  color: #fff;
  display: block;
  padding: 20px;
  font-size: 2rem; }

.menu-item a:hover {
  text-decoration: none;
  text-decoration: underline; }

@media screen and (max-width: 850px) {
  .menu-btn .btn-menu {
    width: 60px;
    height: 60px;
    background: url("../images/common/menu.png") no-repeat 50%/30px auto; }

  .menu-btn .btn-menu.active {
    background: url("../images/common/menu-active.png") no-repeat 50%/28px auto; }

  .menu-contents-inner {
    padding: 60px 20px 30px;
    overflow-y: auto; }

  .menu-name,
  .menu-item a {
    font-size: 2rem; }

  #menu .sub-menu {
    margin-bottom: 20px; }
  #menu .sub-menu a {
    font-size: 1.8rem;
    padding: 0; }
  #menu .sub-menu li {
    margin-bottom: 10px;
    list-style: disc; } }
/*------------------------------------------------

コンテンツ

------------------------------------------------*/
.col-2 {
  display: flex;
  justify-content: space-between; }
  .col-2 .summary {
    width: 56%; }
  .col-2 .fig {
    width: 43%;
    position: relative;
    z-index: 2; }

@media screen and (max-width: 850px) {
  .col-2 {
    display: block; }
    .col-2 .summary,
    .col-2 .fig {
      width: 100%; } }
#message {
  padding: 50px 5%;
  margin-bottom: 30px;
  position: relative; }
  #message::before {
    content: "";
    width: 40%;
    height: 300px;
    background: #952946;
    background: linear-gradient(90deg, #952946 0%, #ba6955 100%);
    position: absolute;
    right: 0;
    top: 0;
    z-index: -1; }
  #message .col-2 {
    align-items: flex-end; }

#informations {
  padding-bottom: 0px; }
  #informations .headline-01 {
    letter-spacing: 0.17em; }

.entry-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-column-gap: 30px;
  margin-bottom: 15px; }
  .entry-container .entry {
    margin-bottom: 30px; }
    .entry-container .entry a {
      text-decoration: none;
      height: 100%;
      display: flex;
      flex-direction: column; }
    .entry-container .entry h3 {
      margin: 0;
      order: 2; }
    .entry-container .entry .tags {
      order: 1;
      margin-bottom: 5px;
      font-size: 1.4rem; }
  .entry-container .entry-body {
    background: #eee;
    padding: 30px 28px;
    flex: 1;
    display: flex;
	  align-items: flex-start;
	  justify-content: flex-start;
    flex-direction: column; 
}
 .entry-container .entry .update {
	 font-size: 1.4rem;
}

.single .post-thumbnail {
  margin-bottom: 20px; 
}
.single .update {
	font-size: 1.2rem;
}
.single .last-update {
	font-size: 1.2rem;
	color: #aaa;
}


.archive .entry-container .entry-body {
	padding: 20px 14px;
}
.archive .contents-main {
	padding: 30px 0 0 3%;
}
.page-thai .contents-main{
	padding: 0px 0 0 3%;
}

.nav-links {
  display: none;
  /*
  display: flex;
  justify-content: space-between;
  */ }

.entry .fig {
  width: 100%;
  aspect-ratio: 4 / 3; }

.entry .fig img {
  object-fit: cover;
  aspect-ratio: 4 / 3; }

@media screen and (max-width: 850px) {
  #message {
    margin-bottom: 80px;
    padding-bottom: 30px; }
    #message::before {
      top: 100%;
      transform: translateY(-100%); }

  #informations {
    margin-bottom: 50px;
    padding-bottom: 0; }
    #informations .headline-01 {
      letter-spacing: 0.1em; }

  .entry-container {
    display: block;
    margin: 0 auto;
    width: 90%; }
    .entry-container .entry {
      width: 100%;
      margin-bottom: 30px; } }
#obsession {
  background: #efefef url("../images/bg-01.webp") no-repeat 50% 100%/100% auto;
  padding: 100px 0 65px; }
  #obsession .headline-01 {
    margin-bottom: 30px; }
  #obsession .copy-01 {
    max-width: 450px;
    margin: 0 auto 45px; }
  #obsession .box-container {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin: 0 auto 40px;
    max-width: 990px;
    column-gap: 30px; }
    #obsession .box-container::after {
      content: "";
      width: 100%; }
    #obsession .box-container .box {
      width: calc( 100% / 3 - 20px);
      background: #fff;
      border-radius: 20px;
      padding: 22px;
      filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.7));
      margin-bottom: 30px; }
      #obsession .box-container .box .box-title {
        color: var(--secondary-color);
        display: flex;
        font-size: 2.35rem;
        line-height: 1.4;
        font-weight: bold;
        margin-bottom: 10px; }
        #obsession .box-container .box .box-title .icon {
          display: inline-block;
          width: 54px;
          height: 54px;
          margin-right: 18px;
          transform: translateY(5px);
          background-repeat: no-repeat;
          background-position: 50%;
          background-size: contain; }
      #obsession .box-container .box p {
        margin: 0;
        font-size: 1.6rem; }
    #obsession .box-container .box-01 .icon {
      background: url("../images/i-01.svg"); }
    #obsession .box-container .box-02 .icon {
      background: url("../images/i-02.svg"); }
    #obsession .box-container .box-03 .icon {
      background: url("../images/i-03.svg"); }
    #obsession .box-container .box-04 .icon {
      background: url("../images/i-04.svg"); }
    #obsession .box-container .box-05 .icon {
      background: url("../images/i-05.svg"); }
    #obsession .box-container .box-06 .icon {
      background: url("../images/i-06.svg"); }
    #obsession .box-container .box-07 .icon {
      background: url("../images/i-07.svg"); }
    #obsession .box-container .box:nth-child(n+3) {
      order: 1; }

#direction {
  position: relative;
  background: url("../images/bg-02.webp") no-repeat 50% 50%/cover;
  padding: 100px 0 120px; }
  #direction .headline-01 {
    color: #fff;
    margin-bottom: 10px; }
    #direction .headline-01 .subtitle {
      top: -40%; }
  #direction .object-01 {
    position: absolute;
    bottom: 0;
    right: 4%;
    max-width: 600px;
    z-index: 10; }

.list-container {
  background: #fff;
  border-radius: 20px;
  padding: 82px 14.9%;
  filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.7)); }

.list {
  display: flex;
  column-gap: 30px; }
  .list:not(:last-of-type) {
    margin-bottom: 50px; }
  .list dt {
    width: 12%;
    max-width: 85px; }
  .list dd {
    flex: 1; }
    .list dd p {
      margin: 0;
      font-size: 1.55rem; }
  .list .wp-block-column:first-of-type {
    width: 12%;
    max-width: 85px; }
  .list .wp-block-column:last-of-type {
    flex: 1; }
    .list .wp-block-column:last-of-type p {
      margin: 0;
      font-size: 1.55rem; }

#message-02 {
  padding: 65px 0; }
  #message-02 .headline-02 {
    color: #fff;
    text-align: center; }

@media screen and (max-width: 850px) {
  #obsession {
    padding: 50px 5% 40px; }
    #obsession .copy-01 {
      max-width: 300px;
      margin: 0 auto 35px; }
    #obsession .box-container {
      margin-bottom: 10px;
      column-gap: 20px; }
      #obsession .box-container .box {
        width: 46%;
        padding: 20px 10px;
        margin-bottom: 20px; }
        #obsession .box-container .box .box-title {
          font-size: 1.8rem; }
          #obsession .box-container .box .box-title .icon {
            width: 30px;
            height: 30px;
            transform: translateY(-2px);
            display: none; }
          #obsession .box-container .box .box-title br {
            display: none; }

  #direction {
    padding-top: 50px; }

  .list-container {
    padding: 40px 5%; }

  .list {
    column-gap: 20px; }
    .list .color-primary {
      display: block; }
    .list .wp-block-column:first-of-type {
      width: 12%;
      max-width: 45px; } }
/*------------------------------------------------

	footer

------------------------------------------------*/
#footer {
  padding: 50px 5%; }
  #footer .footer-inner {
    max-width: 900px;
    margin: 0 auto;
    display: flex;
    align-items: center; }
    #footer .footer-inner .footer-link ul {
      padding-left: 1em; }
    #footer .footer-inner li {
      margin: 0;
      list-style: none; }
    #footer .footer-inner .footer-link {
      width: 55%;
      order: 2;
      font-size: 1.4rem; }
      #footer .footer-inner .footer-link a {
        font-size: 1.4rem;
        color: #000;
        padding: 0; }
    #footer .footer-inner .footer-info {
      width: 45%;
      order: 1; }
    #footer .footer-inner .sitename {
      display: block;
      margin-bottom: 30px; }
      #footer .footer-inner .sitename img {
        max-width: 160px; }
    #footer .footer-inner .copyright p {
      margin-bottom: 10px; }

#menu-item-382 > a {
  pointer-events: none; }

.page.contact-thanks dl,
.page.contact-confirm dl,
.page.contact dl {
  width: 80%;
  max-width: 800px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto 50px; }
.page.contact-thanks input,
.page.contact-thanks textarea,
.page.contact-confirm input,
.page.contact-confirm textarea,
.page.contact input,
.page.contact textarea {
  border: solid 1px #ccc;
  padding: 3px;
  font-size: 1.8rem;
  width: 100%; }
.page.contact-thanks dt,
.page.contact-confirm dt,
.page.contact dt {
  width: 30%; }
.page.contact-thanks dd,
.page.contact-confirm dd,
.page.contact dd {
  width: 65%; }
.page.contact-thanks .mark,
.page.contact-confirm .mark,
.page.contact .mark {
  display: inline-block;
  margin-left: 1em;
  color: #AB0306; }
.page.contact-thanks .btn_send,
.page.contact-confirm .btn_send,
.page.contact .btn_send {
  width: 80%;
  max-width: 800px;
  margin: 0 auto 50px; }
.page.contact-thanks .btn_send input,
.page.contact-confirm .btn_send input,
.page.contact .btn_send input {
  padding: 20px;
  transition: all 0.3s; }
.page.contact-thanks .btn_send:hover input,
.page.contact-confirm .btn_send:hover input,
.page.contact .btn_send:hover input {
  transform: translateY(-5px); }

@media screen and (max-width: 850px) {
  .page.contact-thanks dt, .page.contact-thanks dd,
  .page.contact-confirm dt,
  .page.contact-confirm dd,
  .page.contact dt,
  .page.contact dd {
    width: 100%; }

  .footer-link {
    display: none; }

  .sitename img {
    margin: 0 auto; }

  .footer-inner .footer-info {
    text-align: center;
    width: 100% !important; }
    .footer-inner .footer-info br {
      display: none; } }
body:not(.home) article {
  padding: 0 4%; }

.page-main {
  max-width: 1000px;
  margin: 0 auto; }

.contents-wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }

.contents-main {
  width: 75%; }

aside {
  width: 20%; }

.archive-list a {
  text-decoration: none; }

.entry-header {
  padding: 30px 0 50px; }

.box-01 {
  background: #fff;
  padding: 20px;
  margin-bottom: 50px; }

.box-01 p:last-of-type {
  margin-bottom: 0; }

.headline {
  font-size: 3.2rem;
  line-height: 4.2rem;
  padding-left: 20px;
  border-left: 10px solid var(--secondary-color); }

.contents-wrap .headline {
	width: 100%;
}

.heading {
  font-size: 2.4rem;
  line-height: 3.4rem;
  color: #fff;
  background: var(--secondary-color);
  text-align: center;
  padding: 10px 20px;
  margin: 0 auto 40px;
  letter-spacing: 0.05em; }

h2.heading {
  color: #fff !important; }

.wp-block-button {
  margin-bottom: 20px !important; }

.icon-meaning {
  background: #353156;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 20px 20px 10px 20px; }

.icon-meaning dl {
  display: flex;
  margin-bottom: 15px;
  align-items: center;
  width: 30%; }

.icon-meaning dt {
  padding: 3px 5px 0 0; }

.reading {
  font-weight: bold;
  color: #efba00;
  display: block;
  font-size: 1.3rem;
  margin-bottom: 0;
  line-height: 1; }

.meaning {
  color: #fff;
  font-size: 1.3rem; }

.web-solution-results {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 0;
  margin-bottom: 40px;
  gap: 10px; }

.web-solution-results a, .web-solution-results a:hover {
  color: var(--secondary-color); }

.web-solution-results .web-solution-result {
  width: 33.333333333%;
  text-align: center;
  padding: 20px;
  border: 1px solid var(--secondary-color);
  border-width: 0 0 0 1px;
  width: calc(33.333333333% - 6.6666666667px);
  background: #f2f2f9;
  border: none;
  border-radius: 5px; }

.web-solution-results .web-solution-result-eol {
  border-right-width: 1px; }

.web-solution-results .web-solution-result > * {
  margin-bottom: 15px; }

.web-solution-results .web-solution-result > * :last-child {
  margin-bottom: 0; }

.web-solution-results .web-solution-result h2, .web-solution-results .web-solution-result h3, .web-solution-results .web-solution-result h4 {
  font-size: 1.8rem;
  line-height: 2.4rem; }

.web-solution-results .web-solution-result .tags-list {
  font-size: 1.4rem;
  line-height: 2rem;
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px; }

.web-solution-results .web-solution-result .tags-list:last-child {
  margin: 0; }

.web-solution-results .web-solution-result .tags-list li {
  color: var(--secondary-color);
  background: rgba(0, 0, 139, 0.08);
  padding: 5px 20px;
  border-radius: 6px; }

.web-solution-results-corritrips {
  gap: 20px; }

.web-solution-results-corritrips .web-solution-result {
  width: calc(33.333333333% - 13.3333333333px);
  border: none;
  border-radius: 10px;
  color: #333;
  background: #fcf3e6; }

.web-solution-results-corritrips .web-solution-result .tags-list li {
  color: #fff;
  background: #ff5f27; }

.web-solution-results-corritrips .web-solution-result .tags-list li a {
  color: #fff; }

@media screen and (max-width: 850px) {
  .headline {
    font-size: 2rem !important;
    line-height: 1.5;
    padding-left: 10px;
    border-left: 8px solid var(--secondary-color); }

  .contents-main,
  aside {
    width: 100%; }

  aside {
    padding: 5%; }

  .heading {
    font-size: 1.8rem !important; }

  .web-solution-results {
    display: block;
    padding: 0 10%; }

  .web-solution-results .web-solution-result {
    width: 100%;
    margin-bottom: 20px; } }
.promotion-02 {
  text-align: center;
  padding: 12% 5% 5%;
  border: solid 2px #4169e1;
  border-radius: 5px;
  position: relative;
  max-width: 800px;
  margin: 0 auto;
  background: #f8f8f8; }

.promotion-02 h3 {
  color: #1a3ca2;
  margin-bottom: 30px; }

.promotion-02 h3 span {
  border-bottom: solid 3px;
  padding-bottom: 5px; }

.promotion-02 .text {
  margin: 0 auto 1em; }

/* HTML: <div class="ribbon">Your text content</div> */
.ribbon {
  font-size: 28px;
  font-weight: bold;
  color: #fff; }

.ribbon {
  --f: .5em;
  /* control the folded part*/
  --r: .8em;
  /* control the ribbon shape */
  position: absolute;
  top: 24px;
  left: calc(-1*var(--f));
  padding-inline: 2em;
  line-height: 1.8;
  background: #FA6900;
  border-bottom: var(--f) solid #0005;
  border-right: var(--r) solid #0000;
  clip-path: polygon(calc(100% - var(--r)) 0, 0 0, 0 calc(100% - var(--f)), var(--f) 100%, var(--f) calc(100% - var(--f)), calc(100% - var(--r)) calc(100% - var(--f)), 100% calc(50% - var(--f)/2)); }

.numbers {
  font-size: 2rem;
  line-height: 3rem;
  color: var(--secondary-color);
  width: 100%;
  margin: 0 auto 40px; }

ol.numbers {
  list-style: none;
  padding: 0; }

ol.numbers li {
  min-height: 40px;
  padding-left: 50px;
  margin: 15px 0;
  position: relative; }

ol.numbers li::before {
  content: "";
  width: 40px;
  height: 40px;
  display: block;
  background: url(../images/common/icon-number.png) no-repeat 0 0;
  -moz-background-size: 80px auto;
  -webkit-background-size: 80px auto;
  background-size: 80px auto;
  position: absolute;
  left: 0;
  top: 0; }

ol.numbers li:nth-child(1)::before {
  background-position: 0 0; }

ol.numbers li:nth-child(2)::before {
  background-position: 0 -40px; }

ol.numbers li:nth-child(3)::before {
  background-position: 0 -80px; }

ol.numbers li:nth-child(4)::before {
  background-position: 0 -120px; }

ol.numbers li:nth-child(5)::before {
  background-position: 0 -160px; }

ol.numbers li:nth-child(6)::before {
  background-position: 0 -200px; }

ol.numbers li:nth-child(7)::before {
  background-position: 0 -240px; }

ol.numbers li:nth-child(8)::before {
  background-position: 0 -280px; }

ol.numbers li:nth-child(9)::before {
  background-position: 0 -320px; }

ol.numbers li:nth-child(10)::before {
  background-position: 0 -360px; }

ol.numbers li.first-line-only {
  line-height: 40px; }

ol.numbers li em {
  font-family: 'NotoSansCJKjp-Bold', sans-serif;
  font-size: 1.8rem;
  font-style: normal;
  font-weight: normal;
  line-height: 1.42;
  color: #18227f;
  display: inline-block;
  margin-bottom: 5px;
  margin-top: 10px; }

ol.numbers li a {
  padding-bottom: 2px;
  border-bottom: solid 1px var(--secondary-color);
  text-decoration: none; }

@media screen and (max-width: 850px) {
  ol.numbers li {
    min-height: 30px;
    padding-left: 40px;
    margin: 10px 0;
    position: relative; }

  ol.numbers li::before {
    width: 30px;
    height: 30px;
    -moz-background-size: 60px auto;
    -webkit-background-size: 60px auto;
    background-size: 60px auto; }

  ol.numbers li:nth-child(1)::before {
    background-position: 0 0; }

  ol.numbers li:nth-child(2)::before {
    background-position: 0 -30px; }

  ol.numbers li:nth-child(3)::before {
    background-position: 0 -60px; }

  ol.numbers li:nth-child(4)::before {
    background-position: 0 -90px; }

  ol.numbers li:nth-child(5)::before {
    background-position: 0 -120px; }

  ol.numbers li:nth-child(6)::before {
    background-position: 0 -150px; }

  ol.numbers li:nth-child(7)::before {
    background-position: 0 -180px; }

  ol.numbers li:nth-child(8)::before {
    background-position: 0 -210px; }

  ol.numbers li:nth-child(9)::before {
    background-position: 0 -240px; }

  ol.numbers li:nth-child(10)::before {
    background-position: 0 -270px; }

  ol.numbers li.first-line-only {
    line-height: 30px; }

  ol.numbers li em {
    font-size: 1.6rem;
    margin-top: 5px; }

  .promotion-02 {
    padding-top: 80px; }

  .ribbon {
    font-size: 22px;
    padding-inline: 2em 1em; } }
.offer {
  padding: 30px 30px 10px;
  border: 1px solid #adc3ea;
  box-shadow: 10px 10px 0px 0px rgba(173, 195, 234, 0.2);
  border-radius: 10px;
  margin-bottom: 40px; }

.offer > * {
  margin-bottom: 20px; }

.offer h3,
.offer h4 {
  font-size: 1.8rem;
  line-height: 2.6rem; }

.offer .wp-block-button {
  margin: 30px auto 0; }

.offer .wp-block-buttons,
.offer a {
  margin-bottom: 0 !important; }

.offers-flex {
  display: flex;
  gap: 40px; }

.offers-flex .offer {
  flex: 1; }

.features-list {
  list-style: none;
  padding: 0; }

.features-list {
  font-size: 1.6rem; }

.features-list strong {
  font-size: 1.8rem; }

.features-list > li {
  position: relative;
  padding: 0 0 0 45px;
  margin-bottom: 20px; }

.features-list > li h3, .features-list > li h4 {
  font-size: 1.8rem;
  margin: 0px; }

.features-list > li::before {
  content: "a";
  width: 32px;
  height: 32px;
  line-height: 32px;
  color: #fff;
  text-align: center;
  background: var(--secondary-color);
  border-radius: 999px;
  display: block;
  float: left;
  position: absolute;
  left: 0;
  top: 0; }

.features-list > li:nth-child(1)::before {
  content: "1"; }

.features-list > li:nth-child(2)::before {
  content: "2"; }

.features-list > li:nth-child(3)::before {
  content: "3"; }

.features-list > li:nth-child(4)::before {
  content: "4"; }

.features-list > li:nth-child(5)::before {
  content: "5"; }

.features-list > li:nth-child(6)::before {
  content: "6"; }

.features-list > li:nth-child(7)::before {
  content: "7"; }

.features-list > li:nth-child(8)::before {
  content: "8"; }

.features-list > li:nth-child(9)::before {
  content: "9"; }

.features-list > li:nth-child(10)::before {
  content: "10"; }

.features-list > li:nth-child(11)::before {
  content: "11"; }

.features-list > li:nth-child(12)::before {
  content: "12"; }

.features-list > li:nth-child(13)::before {
  content: "13"; }

.features-list > li:nth-child(14)::before {
  content: "14"; }

.features-list > li:nth-child(15)::before {
  content: "15"; }

.features-list > li:nth-child(16)::before {
  content: "16"; }

.features-list > li:nth-child(17)::before {
  content: "17"; }

.features-list > li:nth-child(18)::before {
  content: "18"; }

.features-list > li:nth-child(19)::before {
  content: "19"; }

.features-list > li:nth-child(20)::before {
  content: "20"; }

.table-overview table {
  font-size: 1.6rem;
  line-height: 2.4rem;
  border-collapse: collapse;
  border-spacing: 0;
  margin-bottom: 30px;
  border: none; }

.table-overview table th, .table-overview table td {
  padding: 20px;
  text-align: center;
  border-bottom: 1px solid #b2b2d8; }

.table-overview table th.text-align-left, .table-overview table td.text-align-left {
  text-align: left; }

.table-overview table th.text-align-center, .table-overview table td.text-align-center {
  text-align: center; }

.table-overview table th.text-align-right, .table-overview table td.text-align-right {
  text-align: right; }

.table-overview table thead {
  border: none; }

.table-overview table thead th {
  background: #dadaf2;
  border-bottom: 1px solid #b2b2d8;
  border-width: 0 0 1px 0;
  font-weight: normal; }

.table-overview table tbody th {
  background: #f7f7fc;
  border-bottom: 1px solid #b2b2d8; }

.table-overview table tbody th,
.table-overview table tbody td {
  border-bottom: solid #b2b2d8;
  border-width: 0 0 1px 0;
  font-weight: normal; }

.table-overview table tbody td {
  background: #fff; }

.table-overview table tbody .hd th, .table-overview table tbody .hd td {
  background: #eaeaf9; }

.table-overview table tfoot {
  font-size: 1.4rem;
  line-height: 2.4rem; }

.table-overview table tfoot th, .table-overview table tfoot td {
  padding: 20px 0 0;
  border: none; }

.table-overview table ul.notice {
  font-size: 1.2rem;
  line-height: 2rem;
  text-align: left;
  margin: 0; }

.table-overview table ul.notice:first-child {
  margin: 0 0 10px; }

.table-overview table ul.notice:last-child {
  margin: 10px 0 0; }

.table-overview li {
  text-align: left !important; }

.youtube .wp-block-embed__wrapper {
  width: 100%;
  aspect-ratio: 16 / 9; }

.youtube .wp-block-embed__wrapper iframe {
  width: 100%;
  height: 100%; }

.youtube .wp-block-embed__wrapper {
  position: relative;
  width: 100%;
  padding-top: 56.25%; }

.youtube .wp-block-embed__wrapper iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%; }

@media screen and (max-width: 768px) {
  .table-overview table {
    font-size: 1.4rem;
    line-height: 2.2rem; }

  .table-overview table th, .table-overview table td {
    padding: 10px; } }
.post-navi ul {
  display: flex;
  justify-content: center; 
list-style: none;}
a.page-numbers {
	text-decoration: none;
	border: solid 1px #333;
	line-height: 30px;
	width: 30px;
	margin: 0 10px;
	text-align: center;
	display: inline-block;
}
.page-numbers.current {
	background: var(--primary-color);
	color: #fff;
	line-height: 30px;
	width: 30px;
	display: inline-block;
	text-align: center
}
.wp-block-button__link {
  background-color: #fff;
  text-decoration: none; }

.breadcrumb {
	 list-style: none;
	margin: 0;
	padding: 0 3%;
	font-size: 1.3rem!important;
}
.breadcrumb li{
    display: inline;
	font-size: 1.3rem!important;
  }
.breadcrumb li + li:before{
    content: ">";
    margin:.5em;
	font-size: 1.3rem;
  }
.breadcrumb a {
	text-decoration: none;
	font-size: 1.3rem!important;
}

.wp-block-columns { display: flex; }
@media screen and (max-width: 768px) {
	.wp-block-columns { 
		display: block;
	}
}