/*========================
* hack style.cssからcopyして修正
=========================*/
/* menu button */
.c-menu-button { display: none; position: absolute; top: 0; right: 0; text-align: center; }
.c-menu-button::before { content: "\f0c9"; font-family: "design_plus"; font-size: 18px; }
@media only screen and (max-width: 991px) {
	.c-menu-button { display: block; }
}


/* Header */
.l-header { display: block; position: relative; width: 100%; z-index: 999; }

.l-header__bar { background: rgba(255, 255, 255, 0.8); position: relative; width: 100%; z-index: 998; }
@media (min-width: 992px) {
	body.l-header__fix .is-header-fixed .l-header__bar { width: 100%; position: fixed; top: 0; left: 0; -webkit-animation: headerSlideDown 0.5s ease; animation: headerSlideDown 0.5s ease; }
}
@media only screen and (max-width: 991px) {
	.l-header.is-header-fixed .l-header__bar { box-shadow: 0 0 10px 1px rgba(0, 0, 0, 0.2); }
}
@media only screen and (max-width: 991px) {
	body.l-header__fix--mobile .is-header-fixed .l-header__bar { width: 100%; position: fixed; top: 0; left: 0; -webkit-animation: headerSlideDown 0.5s ease; animation: headerSlideDown 0.5s ease; }
}


/* header */
@media (min-width: 992px) {
	body.l-header--type2 .l-header.is-header-fixed { height: 80px; }
	body.l-header--type3 .l-header { display: none; }
	body.l-header--type3 .l-header.is-header-fixed { display: block; }
	body.l-header--type4 .l-header { display: none; }
}
@media only screen and (max-width: 991px) {
	body.l-header--type2--mobile .l-header.is-header-fixed { height: 61px; }
	body.l-header--type3--mobile .l-header { display: none; }
	body.l-header--type3--mobile .l-header.is-header-fixed { display: block; }
	body.l-header--type4--mobile .l-header { display: none; }
}

/* header bar */
.p-header__bar { position: relative; }
.p-header__bar__inner { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -ms-flex-pack: justify; -webkit-justify-content: space-between; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center; min-height: 80px; position: relative; }
@media only screen and (max-width: 1199px) {
	.p-header__bar__inner { height: 60px; min-height: 60px; position: static; }
}

/* header logo */
.p-header__logo { flex: 0 0 auto; }
.p-header__logo img { display: block; max-width: 100%; height: auto; }
.p-header__logo--text { font-size: 30px; line-height: 1.2; }
.p-header__logo--mobile { display: none; }
@media only screen and (max-width: 991px) {
	.p-header__logo { display: none; }
	.p-header__logo--mobile { display: block; }
	.p-header__logo--text { font-size: 24px; }
}

/* menu button */
@media only screen and (max-width: 991px) {
	.p-menu-button { line-height: 60px; height: 60px; width: 60px; }
}

/* global nav */
@media (min-width: 992px) {
	.p-global-nav__container { margin-left: 30px; }
	.p-global-nav { display: -webkit-box !important; display: -webkit-flex !important; display: -ms-flexbox !important; display: flex !important; -webkit-box-pack: end; -ms-flex-pack: end; -webkit-justify-content: flex-end; justify-content: flex-end; -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; position: relative; }
	.p-global-nav a { display: block; }
	.p-global-nav li { position: relative; }
	.p-global-nav > li > a { display: block; font-size: 13px; font-weight: 400; height: 80px; line-height: 80px; overflow: hidden; text-align: center; padding: 0 25px; }
	.p-global-nav > li:hover, .p-global-nav > li.current-menu-item, .p-global-nav > li.is-active { z-index: 2; }
	.p-global-nav > li:hover > a, .p-global-nav > li.current-menu-item > a, .p-global-nav > li.is-active > a { color: #ee3c00; }
	.p-global-nav > .menu-item-has-children > .sub-menu { top: 100%; left: -1px; }
	.p-global-nav .menu-item-has-children:hover > .sub-menu { opacity: 1; visibility: visible; z-index: 1; -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
	.p-global-nav .sub-menu { background: #000; line-height: 1.31; visibility: hidden; opacity: 0; position: absolute; top: 0; left: 100%; z-index: 1; -webkit-transform: translate3d(0, -5px, 0); -moz-transform: translate3d(0, -5px, 0); -ms-transform: translate3d(0, -5px, 0); transform: translate3d(0, -5px, 0); -webkit-transition: all 0.3s; -moz-transition: all 0.3s; -ms-transition: all 0.3s; transition: all 0.3s; }
	.p-global-nav .sub-menu a { min-height: 50px; padding: 15.5px 20px; width: 210px; }
	.p-global-nav .sub-menu .current-menu-item > a { background: #000; color: #fff; }
	.p-global-nav .sub-menu a:hover { background: #ee3c00; color: #fff; }
	.p-global-nav .sub-menu .menu-item-has-children > a { position: relative; }
	.p-global-nav .sub-menu .menu-item-has-children > a::after { content: "\e910"; font-family: "design_plus"; position: absolute; right: 16px; transition: none; }
}
@media (max-width: 991px) {
	.p-global-nav { display: none; width: 100%; max-height: calc(100vh - 61px); overflow: auto; text-align: left; position: absolute; top: 60px; left: 0; z-index: 1000; }
	.p-global-nav a { display: block; line-height: 1.4; min-height: 1.4em; padding: 13px 41px 13px 22px; width: 100%; position: relative; }
	.p-global-nav .menu-item-has-children > a > span::before { content: '\e90e'; font-family: "design_plus"; line-height: 24px; display: block; margin: auto; position: absolute; top: 0; right: 17px; bottom: 0; text-align: center; width: 24px; height: 24px; -webkit-transition: -webkit-transform 0.5s ease; -moz-transition: -moz-transform 0.5s ease; -ms-transition: -ms-transform 0.5s ease; transition: transform 0.5s ease; }
	.p-global-nav .menu-item-has-children > a > span.is-active::before { -webkit-transform: rotateX(180deg); -moz-transform: rotateX(180deg); -ms-transform: rotateX(180deg); transform: rotateX(180deg); }
	.p-global-nav .sub-menu { background: transparent !important; display: none; }
	.p-global-nav .sub-menu li a { padding-left: 36px; }
	.p-global-nav .sub-menu .sub-menu li a { padding-left: 50px; }
	.p-global-nav .sub-menu .sub-menu .sub-menu li a { padding-left: 64px; }
	.p-global-nav .sub-menu .sub-menu .sub-menu .sub-menu li a { padding-left: 78px; }
}

/*========================
* br
=========================*/
@media (min-width: 768px) {
 .sp_only {
  display: none;
 }
}

/*========================
* keycolor
=========================*/
.footercolor01back {
 color: #ffffff !important;
 background-color: #ff9900 !important;
}
.footercolor02back {
 color: #ffffff !important;
 background-color: #24b939 !important;
}
.keycolor01 {
 color: #ff9900 !important;
}
.keycolor01back {
 background: #ff9900;
 color: #ffffff !important;
}
.keycolor01border {
 border-color: #ff9900;
}
.keycolor01btn {
 background: #ff9900;
 color: #ffffff !important;
 border:1px solid #ff9900;
}
.keycolor01btn:hover {
 background: #fff;
 color: #ff9900 !important;
}

.addcolor01 {
 color: #ff8c3f;
}
.addcolor01back {
 background: #ff8c3f;
 color: #ffffff;
}
.addcolor01btn {
 background: #ff8c3f !important;
 color: #ffffff !important;
 border:1px solid #ff8c3f;
}
.addcolor01btn:hover {
 background: transparent !important;
 color: #ff8c3f !important;
}
.addcolor02 {
 color: #8fc31f;
}
.addcolor02back {
 background: #8fc31f;
 color: #ffffff;
}
.addcolor02btn {
 background: #8fc31f !important;
 color: #ffffff !important;
 border:1px solid #8fc31f;
}
.addcolor02btn:hover {
 background: transparent !important;
 color: #8fc31f !important;
}
.addcolor03 {
 color: #6f85c2;
}
.addcolor03back {
 background: #6f85c2;
 color: #ffffff;
}
.addcolor03btn {
 background: #6f85c2 !important;
 color: #ffffff !important;
 border:1px solid #6f85c2;
}
.addcolor03btn:hover {
 background: transparent !important;
 color: #6f85c2 !important;
}
.addcolor04 {
 color: #ed6d46;
}
.addcolor04back {
 background: #ed6d46;
 color: #ffffff;
}
.addcolor04btn {
 background: #ed6d46 !important;
 color: #ffffff !important;
 border:1px solid #ed6d46;
}
.addcolor04btn:hover {
 background: transparent !important;
 color: #ed6d46 !important;
}

.btncolor02 {
 color: #ffffff !important;
 background-color: #24b939;
}

.btncolor04 {
 color: #ffffff !important;
 background-color: #6f85c2;
}

/*========================
* parts
=========================*/
@media only screen and (min-width: 768px) {
 body {
  padding-bottom: 0 !important;
 }
}
@media only screen and (max-width: 991px) {
 body:has(.p-menu-button.is-active) {
 }
}
a {
 transition: all .3s ease-out;
}
.text-center {
 text-align: center !important;
}
.mt10{
 margin-top: 1.0rem;
}
.mt20{
 margin-top: 2.0rem;
}
.mt30{
 margin-top: 3.0rem;
}

.site_open {
 display: flex;
 align-items: center;
 justify-content: center;
 width:100%;
}
.mt-btn a {
 width: 90%;
 padding: 0.5rem;
 font-size: 1.0rem;
 text-align: center;
 max-width: 480px;
 display: block;
 margin: 0 auto;
}

.page_text_area {
 font-size: inherit;
 line-height: inherit;
 margin: 0 auto 2.0rem;
}

h2.deco01 {
 position: relative;
 padding: 0.5rem 0.5rem 0.5rem 1.5rem;
 line-height: 1.4;
 color: #ff9900;
 border-top: dotted 1px gray;
 border-bottom: dotted 1px gray;
 background: #fffff4;
 margin-top: 1.0rem;
 text-align: left;
}
.faq-q, h4.deco01 {
 color: #ff9900;
 border-left: 7px solid #ff9900;
 border-bottom: 1px solid #ff9900;
 padding: 0.5rem 0.5rem;
 font-size: 1.0rem;
 font-weight: bold;
}
.faq-a {
 padding-left: 1.5rem;
}
.prf-area {
 display: flex;
 flex-direction: row;
 flex-wrap: nowrap;
 justify-content: space-between;
 align-items: center;
 width: 90%;
 margin: 0 auto 2.0rem;
 border: 1px solid #cccccc;
 padding: 1.0rem;
 gap: 5%;
 max-width: 560px;
}
.prf-img {
 width: 35%;
}
.prf-txtarea {
 width: 60%;
}
.prf-title {
 font-size: 1.0rem !important;
}
.prf-txt {
 font-size: 0.9rem;
 margin: 0 auto 0.5rem !important;
}

/*========================
* Header
=========================*/
.l-header {
 position: sticky;
 top: 0;
 box-shadow: 0 0px 3px 2px rgba(0, 0, 0, 0.1);
 z-index: 1000;
}

.p-header__logo a {
 display: block;
 max-width: 120px;
}
.header_custom_menu br {
 display: none;
}
.p-global-nav li {
 border-bottom: 1px solid #dddddd;
}


.p-global-nav a:hover, .p-global-nav .current-menu-item > a {
 background-color: transparent !important;
 color: initial !important;
}

@media only screen and (max-width: 991px) {
 .p-header__bar__inner {
  justify-content: center;
 }

 .p-header__logo--mobile a > img {
  max-height: 50px;
 }

 .p-menu-button {
  background: #ffaa00;
 }
 .c-menu-button::before {
  color: #ffffff;
  font-size: 1.8rem;
 }
 .p-global-nav {
  height:calc(100vh - 60px);
  border-top: 1px solid #cccccc;
 }
 .p-global-nav a::after{
  content: '';
  position: absolute;
  top: 50%;
  right: 20px;
  width: 8px;
  height: 8px;
  margin-top: -4px;
  border-top: solid 2px #aaaaaa;
  border-right: solid 2px #aaaaaa;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
 }
}

@media (min-width: 992px) {
 .p-header__bar__inner {
  width: 92%;
 }
 #js-global-nav {
  display: none !important;
 }
 .p-global-nav {
  background-color: initial !important;
 }
 .p-header__bar__inner {
  min-height: 60px;
 }
 .p-global-nav {
  gap: 0.15rem;
 }
 .p-global-nav li {
  border-bottom: unset;
 }
 .p-global-nav > li > a {
  display: block;
  font-size: 13px;
  font-weight: 400;
  height: 60px;
  line-height: 60px;
  overflow: hidden;
  text-align: center;
  padding: 0 0.5rem;
  border-bottom: 4px solid transparent;
 }
 .p-global-nav > li.header_custom_menu > a {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  line-height: 1.4;
  border-bottom: unset;
 }
 .p-global-nav .header_custom_menu.ep-plan > a {
  background: #ff9900 !important;
  color: #ffffff !important;
  border-bottom: none !important;
 }
 .p-global-nav .header_custom_menu.emii-fan > a {
  background: #ff6600 !important;
  color: #ffffff !important;
  border-bottom: none !important;
 }
 .header_custom_menu br {
  display: inline;
 }
 .p-global-nav a:hover,
 .p-global-nav > li:hover > a,
 .p-global-nav > li.current-menu-item > a {
  color: initial !important;
  border-bottom: 4px solid #ff9900;
 }
 .p-global-nav > li.header_custom_menu > a:hover {
  opacity: 0.6;
  color: #ffffff !important;
  border-bottom: unset;
 }
}

/*========================
* Footer
=========================*/
/* pagetop */
.p-pagetop a {
 background :#333333 !important;
 opacity: 0.8;
}
.p-pagetop a:hover {
 opacity: 0.5;
}
.p-pagetop a::after {
 font-size: 1.4rem;
}
@media only screen and (max-width: 991px) {
 .p-pagetop a::after {
  font-size: 1.0rem;
 }
}

/* contactarea */
.p-footer-info.has-bg-image .p-footer-info__inner {
 padding: 3.0rem 0;
}
.p-footer-info__desc {
 margin: 0;
}
.f_desc_text {
 font-size: 0.8rem;
 margin:0 0 1.0rem;
}
.p-footer-nav {
	padding: 0;
	margin-top: unset;
}

/* copyright */
.p-copyright__inner {
 width: calc(100% - 100px);
}

/* footer btn */
.c-footer-bar {
 border-top: unset !important;
}
.c-footer-bar--type1.is-active {
 flex-direction: column;
 flex-wrap: nowrap;
 justify-content: center;
 align-items: center;
}
.c-footer-bar__item.top_text {
 width: 100%;
 padding: 0.75rem;
 font-size: 0.8rem;
 border-bottom: 1px solid #ffffff50;
 font-weight: bold;
}
.footer-btns {
 display: flex;
 flex-direction: row;
 flex-wrap: nowrap;
 justify-content: center;
 width: 100%;
}
.footer-btns a {
 width: 100%;
 color: #ffffff !important;
 font-size: 0.8rem;
 padding: 1.0rem 0;
}
.footer-btns a > * {
 font-weight: bold;
}
#tel-contact-button {
 display: none;
 border-left: 1px solid #ffffff50;
}
.footer-btns.has-tel a {
 width: 50%;
}

.footer-btns.has-tel #tel-contact-button {
 display: block;
}
.c-footer-bar__icon::before {
 display: inline-block;
 vertical-align: bottom;
 margin: unset;
 margin-right: 0.25rem;
}
@media only screen and (min-width: 768px) {
 #js-footer-bar {
  display: none !important;
 }
}
@media only screen and (min-width: 992px) {
 .p-footer-info.has-bg-image .p-footer-info__inner {
  padding: 4.0rem 0;
 }
 .p-footer-nav {
	 padding: 1.0rem;
 }
}

.footer_subs {
 background: #eeeeee;
 padding: 2.0rem 0;
}
.footer_sub_menu {
 display: flex;
 flex-direction: column;
 flex-wrap: nowrap;
 align-items: flex-start;
 justify-content: flex-start;
 width: 88.8888%;
 margin: 0 auto;
}
.footer_subs .footer_sub_menu:nth-child(2) {
 margin: 0 auto 2.0rem;
}
.footer_menu_title {
 font-weight: bold;
 padding: 10px 1.0em;
 margin-bottom: 0 !important;
 color: #333 !important;
 background-color: #ffffe0;
 border-bottom: 1px solid #ffaa33;
 width: 100%;
 font-size: 0.9rem;
}
.footer_menu {
 padding: 0.75rem 2.0rem 0.75rem 1.0rem;;
 background: #ffffff;
 border-bottom: 1px solid #cccccc;
 width: 100%;
 position: relative;
 font-size: 0.9rem;
}
.footer_menu::after{
 content: '';
 position: absolute;
 top: 50%;
 right: 1.0rem;
 width: 6px;
 height: 6px;
 margin-top: -4px;
 border-top: solid 2px #aaaaaa;
 border-right: solid 2px #aaaaaa;
 -webkit-transform: rotate(45deg);
 transform: rotate(45deg);
}
.footer_menu_text {
 padding: 0.75rem 2.0rem 0.75rem 1.0rem;;
 background: #ffffff;
 border-bottom: 1px solid #cccccc;
 width: 100%;
 position: relative;
 font-size: 0.9rem;
}
.type_article {
 display: none;
}

@media only screen and (min-width: 768px) {
 .footer_subs {
  padding: 3.0rem 0;
 }
 .footer_subs_inner {
  width:88.8888%;
  margin:0 auto;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-start;
  max-width: 1180px;
 }
 .footer_sub_menu {
  width: calc((100% - 4%) / 2);
  margin: 0 !important;
 }
}
@media only screen and (min-width: 992px) {
 .footer_subs {
  background: #000000;
  padding: 3.0rem 0 1.0rem;
 }
 .footer_sub_menu {
  width: calc((100% - 10%) / 3);
  margin: 0 !important;
 }
 .footer_menu_title {
  color: #ffffff !important;
  background: transparent;
  border-bottom: 1px solid #eeeeee;
  margin:0 0 1.0rem !important;
 }
 .footer_menu, .footer_menu_text {
  background: transparent;
  border-bottom: 1px solid #232323;
  width: 100%;
  font-size: 0.8rem;
  color: #ffffff;
 }
 .footer_menu:hover {
  color: #ff9900;
 }

 .type_article {
  display: flex;
 }
 .article_link {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 5%;
 }
 .article_link img {
  object-fit: contain;
  width: 36%;
  height: auto;
 }
 .article_link_text {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0.5rem;
 }
 .article_date {
 
 }
 .article_title {
  height: 33px;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  line-height: 1.3;
 }
}

/*========================
* inpage
=========================*/
#inpage00, #inpage01, #inpage02, #inpage03,
#inpage04, #inpage05, #inpage06, #inpage07, #inpage08 {
 scroll-margin-top: 60px;
 padding-top: 60px;
 margin-top: -60px;
}
#tenji {
 scroll-margin-top: 60px;
 padding-top: 60px;
 margin-top: -60px;
}

#inpage09 {
 scroll-margin-top: 60px;
}
@media only screen and (min-width: 992px) {
/*
 #inpage00, #inpage01 {
  scroll-margin-top: 100px;
 }

 #inpage09 {
  scroll-margin-top: 80px;
 }
*/
}

/*========================
* Widget
=========================*/

.p-widget-sidebar {

}
.p-widget-list {
 border-top: unset;
}
.p-widget-list__item {
 border: unset;
 border-bottom: 1px solid #ddd;
}
.widget_categories ul li {
 border-bottom: 1px solid #ddd;
 padding-left: 0.5rem;
}
.widget_categories ul li a {
 display: block;
}

@media only screen and (max-width: 991px) {
 .p-sidebar.l-secondary {
  display: none;
 }
}

/*========================
* Slider
=========================*/
.p-header-content__inner {
 margin-top: -3.0rem;
}
.p-index-slider__item.is-active .p-header-content__inner > *:nth-child(1) {
 font-size: 6vw;
 font-weight: bold;
 color: #ffffff;
}
.p-index-slider__item.is-active .p-header-content__inner > * {
 transition-delay: unset !important;
}

.top_main_links {
 display: flex;
 flex-direction: column;
 flex-wrap: nowrap;
 align-items: center;
 width: 90%;
 margin: 2.0rem auto;
 gap: 2.0rem;
}
.top_main_column2 {
 display: flex;
 flex-direction: column;
 flex-wrap: nowrap;
 align-items: center;
 width: 100%;
 gap: 2.0rem;
}
.top_main_btn {
 display: block;
 height: auto;
 width: 100%;
 line-height: 1.4;
 padding: 1.0rem;
 font-weight: bold;
 font-size: 1.1rem;
 opacity: 0.9;
 max-width: 480px;
 box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
}
.top_main_btn:hover {
 box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

.p-index-slider__item--1 .p-header-content__overlay {
 display :none;
}

@media only screen and (max-width: 767px) {
 .p-header-content__image img {
  height: calc(100svh - 60px);
  width: 100%;
  object-fit: cover;
 }
 .slick-list.draggable {
  height: calc(100svh - 60px) !important;
 }
}

@media only screen and (min-width: 768px) {
 .p-header-content__desc.p-header-content__desc--type2 {
  display:none;
 }
 .p-index-slider__item.is-active .p-header-content__inner > *:nth-child(1) {
  font-size: 6vw;
  color: initial;
  text-shadow: 2px 2px 4px rgba(255, 255, 255, .3);
 }
 .top_main_column2 {
  flex-direction: row;
  justify-content: center;
  gap: unset;
 }
 .top_main_btn {
  width: calc((100% - 2.0rem) / 2);
  max-width: unset;
  font-size:1.0rem;
 }
 .top_main_column2 .top_main_btn:nth-child(1) {
  margin: 0 2.0rem 0 0;
 }
 .p-index-slider__item--1 .p-header-content__overlay {
  display :block;
 }
}
@media only screen and (min-width: 992px) {
 .p-header-content__desc.p-header-content__desc--type2 {
  display: block;
  margin: 1.0rem auto 0;
  font-weight: bold;
  font-size: 0.9rem;
 }
 .p-index-slider__item.is-active .p-header-content__inner > *:nth-child(1) {
  font-size: 48px;
  color: initial;
  text-shadow: 2px 2px 4px rgba(255, 255, 255, .3);
 }
 .top_main_btn {
  width: calc((100% - 2.0rem) / 2);
  max-width: 400px;
  font-size:1.3rem;
 }
 .slick-slide {
  height: 70vh;
 }
 .p-header-content__catch.p-header-content__catch--type2 {
  font-size: 4.0rem;
 }
}

/*========================
* Main
=========================*/
.l-main {
 background: #ffffff;
}
@media only screen and (min-width: 992px) {
 .l-main {
  padding-bottom: 100px;
 }
}
.p-page-header {
 background: #fafafa;
 margin-bottom: 2.0rem;
}
@media only screen and (max-width: 991px) {
 body.l-header--type1--mobile .p-page-header,
 body.l-header--type2--mobile .p-page-header {
  border-top: unset;
 }
 .p-page-header .p-page-header__title {
  word-break: keep-all;
 }
}

.cont_title {
 margin: 0;
 font-size: 1.6rem;
 font-weight: bold;
}
.cont_title.type_underbar {
 margin-bottom: 2.0rem;
 position: relative;
}
.cont_title.type_underbar::after {
 content: '';
 display: block;
 width: 3.0rem;
 height: 3px;
 background: #ff6c00;
 position: absolute;
 bottom: -0.8rem;
 left: 50%;
 transform: translate(-50%, 0);
 border-radius: 10px;
}
.cont_title.type_square {
 padding: 0.5rem;
 border: 2px solid;
 font-size: 1.3rem;
 max-width: 480px;
}
@media only screen and (min-width: 992px) {
 .cont_title {
  font-size: 1.8rem !important;
 }
}

.btn_link01, .p-button, .mt-btn a {
 width: 90%;
 padding: 0.75rem 0.5rem;
 font-size: 1.0rem;
 text-align: center;
 max-width: 420px;
 display: block;
 margin: 0 auto;
 font-weight: bold;
 text-decoration: unset;
 line-height:1.6;
 height: auto;
}
.p-button {
 margin-bottom: 1.0rem;
}
.mt-btn a:hover {
 opacity: 0.5;
}

@media only screen and (min-width: 992px) {
 .btn_link01, .p-button {
  font-size: 1.2rem;
  max-width: 400px;
  padding: 1.0rem 0.5rem;
 }
}


/* under pages */
.p-page-header {
 padding: 1.0rem 0;
}
.p-page-header .p-page-header__title {
 font-size: 1.6rem;
}

@media only screen and (min-width: 992px) {
 .p-page-header {
  padding: 2.0rem 0;
 }
 .p-entry-page.l-primary .p-entry-page__inner {
  padding: 0 1.0rem 1.0rem;
 }
 .p-page-header .p-page-header__title {
  font-size: 3.0rem;
 }
}



/*========================
* TOP PAGE
=========================*/
.pcnone {

}
#cb_1 {
 margin: 0;
}
.p-cb__item:first-child, .p-index-slider + .p-cb__item, .p-index-video + .p-cb__item {
 padding-top: unset;
 padding-bottom: unset;
 padding: 1.0rem;
}

@media only screen and (min-width: 992px) {
 .p-cb__item {
  margin-bottom: 60px;
 }
 .p-cb__item.has-bg {
  padding-bottom: 2.0rem;
  padding-top: 2.0rem;
 }
}


/*========================
* TOP main
=========================*/
.top_main_words {
}
.top_main_words h2,
.top_main_words h3 {
 margin: 0;
 text-align: center;
 color: #ffffff;
}
.top_main_words h3 {
 font-size: 1.0rem;
 margin-top: 1.0rem;
  word-break: normal;
  word-break: auto-phrase;
  line-break: strict;
  overflow-wrap: break-word;
}
@media only screen and (min-width: 768px) {
 .top_main_words h3 {
  font-size: 1.3rem;
  margin-top: 0.75rem;
 }
}

/*========================
* TOP service
=========================*/
.top_service {

}
.top_service .service_text{
 line-height: 1.4;
 text-align: center;
 word-break: auto-phrase;
 margin: 3.0rem auto;
}
.service_block {
 display: flex;
 flex-direction: column;
 flex-wrap: nowrap;
 justify-content: flex-start;
 align-items: center;
 margin: 2.0rem auto 3.0rem;
}
.service_flex {
 display: flex;
 flex-direction: row;
 flex-wrap: wrap;
 justify-content: space-between;
 align-items: stretch;
 background: #ffffff;
 border: 1px solid #cccccc;
 border-radius: 10px;
 overflow: hidden;
 margin: 0 auto 2.0rem;
}
.service_block .service_flex:last-of-type {
 margin: 0 auto;
}
.service_flex.service_01 {
 border-color: #ff8c3f;
}
.service_flex.service_02 {
 border-color: #8fc31f;
}
.service_flex.service_03 {
 border-color: #6f85c2;
}
.service_flex.service_04 {
 border-color: #ed6d46;
}
.service_flex_icon {
 width: 20%;
 background: #dddddd;
 font-size: 2.0rem;
 text-align: center;
 line-height: 1.4;
 display: flex;
 justify-content: center;
 align-items: center;
 color: #ffffff;
}
.service_01 > .service_flex_icon {
 background: #ff8c3f;
}
.service_02 > .service_flex_icon {
 background: #8fc31f;
}
.service_03 > .service_flex_icon {
 background: #6f85c2;
}
.service_04 > .service_flex_icon {
 background: #ed6d46;
}
.service_flex_title {
 width: 80%;
 background: #cccccc;
 line-height: 1.4;
 padding: 0.5rem 1.0rem;
 display: flex;
 justify-content: flex-start;
 align-items: center;
 font-weight: bold;
}
.service_01 > .service_flex_title {
 background: #ffede2;
}
.service_02 > .service_flex_title {
 background: #e0efc0;
}
.service_03 > .service_flex_title {
 background: #dfe7fd;
}
.service_04 > .service_flex_title {
 background: #ffe0d7;
}
.service_flex_text {
 width: 100%;
 padding: 1.0rem;
 line-height: 1.4;
 font-size: 0.9rem;
}

@media only screen and (min-width: 768px) {
 .service_block {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 1.0rem;
 }
 .service_flex {
  width: calc((100% - 1.0rem) / 2);
  align-items: stretch;
  margin: 0 auto;
 }
}
@media only screen and (min-width: 992px) {
 .service_flex {
  width: calc((100% - 3.0rem) / 4);
  flex-direction: column;
  align-items: center;
 }
 .service_flex_icon {
  width: 40%;
  padding-top: 40%;
  margin: 1.0rem auto;
  border-radius: 50%;
  position: relative;
 }
 .service_flex_icon > i {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 2.2rem;
 }
 .service_01 > .service_flex_title {
  color: #ff8c3f;
 }
 .service_02 > .service_flex_title {
  color: #8fc31f;
 }
 .service_03 > .service_flex_title {
  color: #6f85c2;
 }
 .service_04 > .service_flex_title {
  color: #ed6d46;
 }
 .service_flex_title {
  background: transparent !important;
 }
 .service_flex_title {
  width: 100%;
  text-align: center;
  padding: 0.5rem;
  justify-content: center;
 }
 .service_flex_text {
  padding: 0.5rem 1.0rem 1.0rem;
 }
}
@media only screen and (min-width: 1200px) {
 .service_flex_icon > i {
  font-size: 2.6rem;
 }
}

/*========================
* TOP intro
=========================*/
.top_intro {
 color: #ffffff;
}
.top_intro h2.cont_title {
 line-height: 1.4;
 text-align: center;
 color: inherit;
 font-size: 1.1rem;
}
.top_intro .intro_text{
 line-height: 1.4;
 text-align: center;
 color: inherit;
 word-break: auto-phrase;
 margin: 2.0rem auto;
 max-width: 640px;
}
.intro_block {
 display: flex;
 flex-direction: column;
 flex-wrap: nowrap;
 justify-content: flex-start;
 align-items: center;
 margin: 1.0rem auto;
}
.intro_flex {
 display: flex;
 flex-direction: column;
 flex-wrap: nowrap;
 justify-content: flex-start;
 align-items: center;
 background: #ffffff;
 color: #333333;
 overflow: hidden;
 margin: 0 auto 3.0rem;
 padding: 1.5rem;
 width: 100%;
}
.intro_block .intro_flex:last-of-type {
 margin: 0 auto;
}
.intro_flex_title {
 width: 100%;
 text-align: center;
 font-weight: bold;
 font-size: 1.0rem;
 padding: 0.25rem;
 border-bottom: 2px solid;
}
.intro_flex_title.addcolor01back {
 border-color: #df5a00;
}
.intro_flex_title.addcolor02back {
 border-color: #5b8500;
}
.intro_flex_title.addcolor03back {
 border-color: #1951ed;
}
.intro_flex_text {
 line-height: 1.4;
 margin: 1.0rem auto;
}
.intro_flex_link {
 width: 100%;
}

@media only screen and (min-width: 992px) {
 .top_intro {
  margin-bottom: 2.0rem;
 }
 .top_intro h2.cont_title {
  font-size: revert;
 }
 .top_intro .intro_text {
  word-break: keep-all;
 }
 .intro_block {
  flex-direction: row;
  align-items: stretch;
  justify-content: space-between;
 }
 .intro_flex {
  margin: 0;
  width:calc((100% - 4.0rem) / 3);
  padding: 1.8rem;
 }
 .intro_block .intro_flex:last-of-type {
  margin: 0;
 }
 .intro_flex_text {
  font-size: 0.9rem;
 }
 .intro_flex .btn_link01 {
  font-size: 1.0rem;
 }
}

/*========================
* TOP tenji
=========================*/
.top_tenji {

}
.tenji_flex {
 display: flex;
 flex-direction: column;
 flex-wrap: nowrap;
 justify-content: flex-start;
 align-items: center;
 margin: 2px auto 0;
 gap: 2px 0px;
}
.tenji_flex_main {
 width: 100%;
 text-align: center;
 font-weight: bold;
 padding: 0.5rem;
 font-size: 1.1rem;
 margin: 2.0rem auto 0;
}
.tenji_flex_inner {
 display: flex;
 flex-direction: row;
 flex-wrap: nowrap;
 justify-content: flex-start;
 align-items: flex-start;
 padding: 0.5rem 1.0rem 0.5rem 2.5rem;
 position: relative;
 line-height: 1.4;
 width: 100%;
 background: #fff2de;
}
.tenji_flex_inner::before {
 font-family: "Font Awesome 7 Free";
 content: "\f14a";
 position: absolute;
 font-size: 1rem;
 left: 1.0rem;
 top: 0.85rem;
 color: #ed6d46;
 font-weight: 900;
 line-height: 1;
}
.tenji_flex_inner .impfont {
 display: contents;
 font-size: 1.1rem;
 color: #ed6d46;
}
.arrow_down {
 width: 0;
 height: 0;
 border-top: 3rem solid #ff9900;
 border-right: 5rem solid transparent;
 border-left: 5rem solid transparent;
 margin: 2.0rem auto;
}
.tenji_text {
 line-height: 1.6;
 text-align: center;
}
.tenji_text_main {
 margin: 2.0rem auto;
 font-size: 1.5rem !important;
 word-break: keep-all;
}

@media only screen and (min-width: 992px) {
 .top_tenji .cont_title.type_square {
  margin: 0 auto 3.0rem;
 }

 .tenji_flex {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: stretch;
  margin: -2.0rem auto 3.0rem;
  gap: 2rem;
  border: 1px solid #ffc56e;
  padding: 3.0rem 3.0rem 1.0rem;;
  border-radius: 1.0rem;
  position: relative;
  background: #fffaf2;
 }
 .tenji_flex_main {
  width: 480px;
  margin: 0 auto;
  font-size: 1.4rem;
  z-index: 1;
  position: relative;
  border-radius: 50px;
 }
 .tenji_flex_inner {
  width: calc((100% - 2.0rem) / 2);
  background: transparent;
  border-bottom: 1px solid #ff9900;
 }
 .tenji_flex_inner::before {
  font-size: 1.2rem;
  top: 0.6rem;
 }
 .tenji_flex_inner .impfont {
  font-weight: bold;
 }
 .tenji_text {
  width: fit-content;
  margin: 0 auto;
  text-align: center;
  max-width: 640px;
 }
 .tenji_text_main {
  font-size: 1.8rem !important;
 }
}

/*========================
* TOP diff
=========================*/
.top_diff {

}
.top_diff .diff_text{
 line-height: 1.4;
 text-align: center;
 margin: 2.0rem auto;
 max-width: 768px;
 word-break: auto-phrase;
}
.diff_block {
 width: 100%;
 margin: 3.0rem auto;
}
.top_diff .diff_block:last-of-type {
 margin-top: 4.0rem;
}
.diff_block_top {
 position: relative;
 text-align: center;
}
.diff_block_top::before{
 position: absolute;
 top: 50%;
 left: 0;
 transform: translate(0,-50%);
 width: 100%;
 height: 1px;
 content: '';
 background: #ff6600;
 opacity: 0.8;
}
.diff_block_title {
 text-align: center !important;
 display: inline-block !important;
 margin: 0 auto !important;
 width: initial !important;
 padding: 0 0.5rem !important;
 background: #fffaf2 !important;
}


.diff_block_text{
 line-height: 1.4;
 text-align: center;
 margin: 1.0rem auto 2.0rem;
 max-width: 768px;
 word-break: auto-phrase;
}
.diff_flex {
 display: flex;
 flex-direction: row;
 flex-wrap: nowrap;
 align-items: stretch;
 justify-content: space-between;
 margin: 1.0rem auto 2.0rem;
 width: 100%;
}
.diff_flex_inner {
 width: calc((100% - 0.5rem) / 2);
 display: flex;
 flex-direction: column;
 flex-wrap: nowrap;
 gap: 0.25rem;
}
.diff_flex_inner.type_subs {
 display: none;
 width: 0;
}
.diff_flex_title {
 text-align: center;
 background: #333333;
 color: #ffffff;
 font-size: 0.9rem;
 flex-grow:1;
 display: flex;
 justify-content: center;
 align-items: center;
}
.type_main .diff_flex_title {
 background: #ff6600;
 color: #ffffff;
 font-size: 1.0rem;
 font-weight: bold;
}
.diff_flex_text {
 background: #ffffff;
 font-size: 0.8rem;
 text-align: center;
 padding: 0.25rem;
}
.type_main .diff_flex_text {
 background: #fdedda;
 color: #ff3333;
 font-weight: bold;
}

@media only screen and (min-width: 768px) {
 .diff_block_title {
  padding: 0 2.0rem !important;
 }
 .top_diff .diff_block:last-of-type {
  margin-top: 6.0rem;
 }
 .diff_flex {
  margin: 1.0rem auto 3.0rem;
  width: 100%;
  gap: 0.25rem;
  align-items: flex-end;
 }
 .diff_flex_inner,
 .diff_flex_inner.type_subs {
  display: flex;
  width: calc((100% - 1.0rem) / 4);
 }
 .type_main .diff_flex_title {
  font-size: 1.1rem;
 }
}
@media only screen and (min-width: 992px) {
 .diff_flex_text {
  font-size: 1.0rem;
 }
}

/*========================
* TOP merit
=========================*/
.top_merit {

}
.top_merit .merit_text{
 line-height: 1.4;
 text-align: center;
 margin: 2.0rem auto;
}
.merit_sub_title {
 font-size: 0.9rem;
 font-weight: bold;
 background: #ff9900;
 padding: 1.0rem 2.0rem;
 line-height: 1.4;
 color: #fff;
 text-align: center;
 margin: 2.0rem auto 4.0rem;
 position: relative;
}
.merit_sub_title:after {
 content: ' ';
 position: absolute;
 bottom: -2.0rem;
 left: 50%;
 transform: translate(-50%,0);
 width: 0;
 height: 0;
 border-top: 2.0rem solid #ff9900;
 border-right: 3.0rem solid transparent;
 border-left: 3.0rem solid transparent;
}

.merit_block01 {
 display: flex;
 flex-direction: column;
 flex-wrap: nowrap;
 justify-content: flex-start;
 align-items: center;
 margin: 1.0rem auto 3.0rem;
}
.merit_flex01 {
 display: flex;
 flex-direction: column;
 flex-wrap: nowrap;
 justify-content: flex-start;
 align-items: flex-start;
 margin: 0 auto 2.0rem;
 background: #ffffff;
 padding: 1.25rem;
 width: 100%;
 border: 1px dotted #cccccc;
}
.merit_block01 .merit_flex01:last-of-type {
 margin: 0 auto;
}
.merit_flex01_title {
 font-weight: bold;
 font-size: 1.1rem;
 position: relative;
 line-height: 1.4;
 margin: 0 0 0.5rem;
 border-bottom: 1px solid #ff9900;
 padding: 0.25rem;
}
.merit_flex01_title i {
 margin:0 0.5rem 0 0;
}

.merit_add_text {
 font-weight: inherit;
 font-size: 1.4rem;
 color: #ff0000;
}
.merit_flex01_text {
 line-height: 1.4;
}
.merit_block02 {
 display: flex;
 flex-direction: column;
 flex-wrap: nowrap;
 justify-content: flex-start;
 align-items: center;
 margin: 1.0rem auto 3.0rem;
}
.merit_flex02 {
 display: flex;
 flex-direction: column;
 flex-wrap: nowrap;
 justify-content: flex-start;
 align-items: flex-start;
 gap: 2px;
 margin: 0 auto 2.0rem;
 background: #ffffff;
 padding: 1.0rem;
 width: 100%;
 border: 1px dotted #cccccc;
}
.merit_block02 .merit_flex02:last-of-type {
 margin: 0 auto;
}
.merit_flex02_title {
 font-weight: bold;
 font-size: 1.1rem;
 position: relative;
 line-height: 1.4;
 display: flex;
 justify-content: flex-start;
 align-items: center;
 font-weight: bold;
 gap: 0.5rem;
 width: 100%;
}
.merit_flex02_title > * {
 font-weight: bold;
}
.merit_flex02_no {
 width: 2.0rem;
 height: 2.0rem;
 background : #ff9900;
 color: #ffffff;
 border-radius: 50%;
 display: flex;
 justify-content: center;
 align-items: center;
}
.merit_flex02_text {
 line-height: 1.4;
 margin:0.5rem 0 0;
}

@media only screen and (min-width: 768px) {
 .merit_sub_title {
  padding: 2.0rem;
  font-size: 1.2rem;
 }
 .merit_sub_title:after {
  bottom: -2.0rem;
  border-top: 2.0rem solid #ff9900;
  border-right: 3.0rem solid transparent;
  border-left: 3.0rem solid transparent;
 }
 .merit_block02 {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 2.0rem;
  align-items: stretch;
 }
 .merit_flex02 {
  width: calc((100% - 2.0rem) / 2);
  margin: 0;
 }
}
@media only screen and (min-width: 992px) {
 .merit_block01 {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: stretch;
  gap: 1.0rem;
 }
 .merit_flex01 {
  width: calc((100% - 2.0rem) / 3);
  margin: 0;
 }
}

/*========================
* TOP strong
=========================*/
.top_strong {

}
.strong_block {
 display: flex;
 flex-direction: column;
 flex-wrap: nowrap;
 justify-content: flex-start;
 align-items: center;
 margin: 4.0rem auto 0;
}
.strong_flex_left {
 display: none;
}
.strong_flex_right {
 display: flex;
 flex-direction: column;
 flex-wrap: nowrap;
 align-items: center;
}
.strong_flex_inner {
 display: flex;
 flex-direction: column;
 flex-wrap: nowrap;
 align-items: center;
 margin: 0 auto 1.5rem;
 border-bottom: 1px dashed #ccc;
 padding-bottom: 1.5rem;
 max-width: 750px;
 width: 100%;
}
.strong_flex_right .strong_flex_inner:last-of-type {
 border-bottom: unset;
 margin: 0 auto;
 padding: 0;
}
.strong_flex_title {
 margin: 0 auto 0.5rem !important;
}
.strong_flex_title i {
 font-size: inherit;
 margin: 0 0.5rem 0 0;
}
.strong_flex_text {
 line-height: 1.6;
 margin: 1.0rem 0 0;
 width: 100%;
}

@media only screen and (min-width: 992px) {
 .strong_block {
  flex-direction: row;
  align-items: flex-start;
  gap: 5%
 }
 .strong_flex_left {
  display: block;
  width: 40%;
 }
 .strong_flex_right {
  width: 65%;
 }
 .strong_flex_img {
  display: none;
 }
 .strong_flex_text {
  margin: 0 auto;
  line-height: 1.4;
 }
}


/*========================
* TOP plan
=========================*/
.top_plan {

}
.top_plan .plan_text{
 line-height: 1.4;
 text-align: center;
 margin: 2.0rem auto;
}
.plan_block {
 display: flex;
 flex-direction: column;
 flex-wrap: nowrap;
 justify-content: flex-start;
 align-items: center;
 gap: 3.0rem;
 margin: 1.0rem auto 3.0rem;
}
.plan_flex {
 display: flex;
 flex-direction: column;
 flex-wrap: nowrap;
 justify-content: flex-start;
 align-items: flex-start;
 gap: 2px;
}
.plan_title, .plan_inner {
 width: 100%;
 padding: 0.75rem 1.0rem;
}
.plan_title {
 text-align: center;
 font-size: 1.0rem;
 font-weight: bold;
 color: #ffffff;
 line-height: 1.4;
}
.plan_inner {
 line-height:1.4;
 font-size: 0.9rem;
}
.plan_inner p {
 display: none;
}
.plan_01 .plan_title {
 background: #ff9900;
}
.plan_02 .plan_title {
 background: #8fc31f;
}
.plan_03 .plan_title {
 background: #6f85c2;
}
.plan_01 .plan_inner {
 background: #feeddb;
}
.plan_02 .plan_inner {
 background: #ddefbb;
}
.plan_03 .plan_inner {
 background: #e0e7ff;
}
.plan_inner_link {
 text-align: right;
}
.plan_inner_link a {
 color: inherit !important;
 text-decoration: underline;
}

@media only screen and (min-width: 992px) {
 .top_plan .plan_text {
  width: 600px;
  word-break: keep-all;
 }
 .plan_block {
  flex-direction: row;
  justify-content: space-between;
  gap: unset;
  align-items: stretch;
 }
 .plan_flex {
  width: calc((100% - 2rem) / 3);
 }
 .plan_title, .plan_inner {
  padding: 1.0rem;
 }
 .plan_flex .plan_inner:last-of-type {
  flex-grow: 1;
 }
}


/*========================
* TOP fee
=========================*/
.top_example {

}

.top_example .cont_title {
 color: #ffffff;
}
.top_example .example_text{
 color: #ffffff;
 line-height: 1.4;
 text-align: center;
 margin: 2.0rem auto;
}
.example_box {
 width: 100%;
 margin:1.0rem auto 3.0rem;
 background: #ffffff;
 padding: 1.5rem;
 text-align: center;
 font-size: 1.2rem;
 font-weight: bold;
 max-width: 640px;
}
.example_box_text01 {
 font-weight: inherit;
}
.example_box_text02 {
 display: block;
 font-weight: inherit;
 max-width: 480px;
 margin: 0 auto;
}

@media only screen and (min-width: 992px) {
 .top_example {
  margin-bottom: 2.0rem;
 }
 .example_box {
  font-size: 1.6rem;
  max-width: 80%;
 }
 .example_box_text02 {
  display: inline-block;
  max-width: unset;
  padding: 0 1.0rem 0 0.5rem;
  margin-left: 0.75rem;
 }
}

/*========================
* TOP feature
=========================*/
.top_features {

}
.features_block {
 margin: 2.0rem auto 3.0rem;
 display: flex;
 flex-direction: column;
 flex-wrap: nowrap;
 align-items: flex-start;
 justify-content: flex-start;
}
.features_block_left {
 width: 100%;
}
.features_title {
 padding-left: 0.75rem !important;
 border-left: 5px solid #ffaa00 !important;
}
.features_text {
 width: 100%;
 font-size: 0.8rem;
 line-height: 1.6;
 margin: 1.0rem auto 2.0rem;
}
.features_block_right {
 display: flex;
 flex-direction: row;
 flex-wrap: wrap;
 justify-content: space-between;
 align-items: stretch;
 gap: 0.5rem;
}
.features_icon {
  width: calc((100% - 1.0rem) / 3);
  padding: 0.5rem 0.25rem;
  border: 1px solid #cccccc;
  border-radius: 5px;
  font-size:0.7rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: center;
  gap:0.25rem;
  justify-content: center;
  line-height: 1.4;
}
.features_icon i {
 font-size: 2.0rem;
}

@media only screen and (min-width: 992px) {
 .features_block {
  margin: 3.0rem auto 5.0rem;
  flex-direction: row;
  gap: unset;
  justify-content: space-between;
 }
 .features_block_left {
  margin: 0;
  width: 40%;
 }
 .features_block_right {
  width: 58%;
 }
 .features_icon {
  font-size: 1.0rem;
  flex-direction: row;
 }
 .features_icon i {
  font-size: inherit;
 }

}

/*========================
* TOP LINE
=========================*/
.line_contact {
 margin-top: 2.0rem;
 margin-bottom: 2.0rem;
}
.line_img {
 width: 100%;
}
.line_contact_right {
 margin: 1.0rem 0 0;
 display: flex;
 flex-direction: column;
 flex-wrap: nowrap;
 align-items: center;
 justify-content: flex-start;
 width: 90%;
 margin: 0 auto;
}
.line_text_flex {
 display: flex;
 flex-direction: row;
 flex-wrap: nowrap;
 align-items: baseline;
 justify-content: flex-start;
 gap: 0.5rem;
 line-height: 1.4;
 margin: 0 0 1.0rem;
}
.line_contact_btn {
 display: flex;
 align-items: center;
 justify-content: center;
}
.line_qr {
 display: none;
}
@media only screen and (min-width: 768px) {
 .line_contact {
  margin: 2.0rem auto;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 5%;
 }
 .line_contact_left {
  width: 45%;
 }
 .line_contact_right h3 {
  text-align: left !important;
 }
}
@media only screen and (min-width: 992px) {
 .line_qr {
  display: block;
 }
}


/*========================
* Article
=========================*/
.p-index-archive__item-thumbnail,
.p-blog-archive__item-thumbnail,
.p-entry__related-item__thumbnail {
 padding-top: 66.666%;
}


/*========================
* table
=========================*/
.abouttable {
 width: 100%;
 table-layout: fixed;
}
.abouttable tbody,
.abouttable tbody tr {
 width: 100%;
}
.abouttable th,
.abouttable td {
 width: 100%;
 display: block;
 white-space: normal;
 border-bottom: unset;
}
.abouttable tbody tr:last-child td {
 border-bottom: 1px solid #ddd;;
}
.table_th_br {
 display: none;
}
.abouttable th {
 background: #fafafa;
}
.abouttable th,
.abouttable th > span {
 text-align: left;
 font-weight: bold;
}
.abouttable th > span {
 margin-right: 1.0rem;
}

@media (min-width: 768px) {
 .abouttable th, .abouttable td {
  display: table-cell;
 }
 .abouttable th {
  width:35%;
 }
 .table_th_br {
  display: inline-block;
 }
 .abouttable tbody tr:last-child th,
 .abouttable tbody tr:last-child td {
  border-bottom: 1px solid #ddd;;
 }
}

/*========================
* Contactform
=========================*/
.wpcf7 {
 background: rgba(255,255,255,0.7);
}
.contact_block {
 display: flex;
 flex-direction: row;
 flex-wrap: wrap;
 align-items: flex-start;
 justify-content: space-between;
 gap: 2.0rem;
}
.contact_block_inner {
 width: 100%;
}
.contact_block_inner.one_column {
 width: 100%;
}
.contact_block_inner p {
 font-size: inherit;
}
.contact_block_inner .ftitle {
 text-align: left;
}
.contact_block_inner .ftitle span {
 color: #ff0000;
}
.contact_block_inner .ftitle p {
 margin: 0;
}
.contact_block_inner select {
 width: 100%;
 max-width: 100%;
}
.contact_block_inner textarea {
 height: 200px;
}

@media (min-width: 768px) {
 .contact_block_inner {
  width: calc((100% - 4.0rem) / 3);
 }
}


.wpcf7-form-control.wpcf7-checkbox.wpcf7-validates-as-required {
 display: flex;
 flex-direction: row;
 flex-wrap: wrap;
 justify-content: flex-start;
 align-items: center;
 gap: 0.5rem;
}
.wpcf7 .wpcf7-list-item {
 padding: 0.25rem 0.5rem;
 border: 1px solid #cccccc;
 margin: 0;
 line-height: 1.4;
}
