/*
Theme Name: Twenty Twenty-Five
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
Requires at least: 6.7
Tested up to: 6.8
Requires PHP: 7.2
Version: 1.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfive
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/
/*!
 * ress.css • v2.0.2
 * MIT License
 * github.com/filipelinhares/ress
 */

/* # =================================================================
   # Global selectors
   # ================================================================= */

   html {
    box-sizing: border-box;
    -webkit-text-size-adjust: 100%; /* Prevent adjustments of font size after orientation changes in iOS */
    word-break: break-word;
    -moz-tab-size: 4;
    tab-size: 4;
  }
  
  *,
  ::before,
  ::after {
    background-repeat: no-repeat; /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
    box-sizing: inherit;
  }
  
  ::before,
  ::after {
    text-decoration: inherit; /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
    vertical-align: inherit;
  }
  
  * {
    padding: 0; /* Reset `padding` and `margin` of all elements */
    margin: 0;
  }
  
  /* # =================================================================
     # General elements
     # ================================================================= */
  
  hr {
    overflow: visible; /* Show the overflow in Edge and IE */
    height: 0; /* Add the correct box sizing in Firefox */
  }
  
  details,
  main {
    display: block; /* Render the `main` element consistently in IE. */
  }
  
  summary {
    display: list-item; /* Add the correct display in all browsers */
  }
  
  small {
    font-size: 80%; /* Set font-size to 80% in `small` elements */
  }
  
  [hidden] {
    display: none; /* Add the correct display in IE */
  }
  
  abbr[title] {
    border-bottom: none; /* Remove the bottom border in Chrome 57 */
    /* Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari */
    text-decoration: underline;
    text-decoration: underline dotted;
  }
  
  a {
    background-color: transparent; /* Remove the gray background on active links in IE 10 */
  }
  
  a:active,
  a:hover {
    outline-width: 0; /* Remove the outline when hovering in all browsers */
  }
  
  code,
  kbd,
  pre,
  samp {
    font-family: monospace, monospace; /* Specify the font family of code elements */
  }
  
  pre {
    font-size: 1em; /* Correct the odd `em` font sizing in all browsers */
  }
  
  b,
  strong {
    font-weight: bolder; /* Add the correct font weight in Chrome, Edge, and Safari */
  }
  
  /* https://gist.github.com/unruthless/413930 */
  sub,
  sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  
  sub {
    bottom: -0.25em;
  }
  
  sup {
    top: -0.5em;
  }
  
  /* # =================================================================
     # Forms
     # ================================================================= */
  
  input {
    border-radius: 0;
  }
  
  /* Replace pointer cursor in disabled elements */
  [disabled] {
    cursor: default;
  }
  
  [type="number"]::-webkit-inner-spin-button,
  [type="number"]::-webkit-outer-spin-button {
    height: auto; /* Correct the cursor style of increment and decrement buttons in Chrome */
  }
  
  [type="search"] {
    -webkit-appearance: textfield; /* Correct the odd appearance in Chrome and Safari */
    outline-offset: -2px /* Correct the outline style in Safari */
  }
  
  [type="search"]::-webkit-search-decoration {
    -webkit-appearance: none; /* Remove the inner padding in Chrome and Safari on macOS */
  }
  
  textarea {
    overflow: auto; /* Internet Explorer 11+ */
    resize: vertical; /* Specify textarea resizability */
  }
  
  button,
  input,
  optgroup,
  select,
  textarea {
    font: inherit; /* Specify font inheritance of form elements */
  }
  
  optgroup {
    font-weight: bold; /* Restore the font weight unset by the previous rule */
  }
  
  button {
    overflow: visible; /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
  }
  
  button,
  select {
    text-transform: none; /* Firefox 40+, Internet Explorer 11- */
  }
  
  /* Apply cursor pointer to button elements */
  button,
  [type="button"],
  [type="reset"],
  [type="submit"],
  [role="button"] {
    cursor: pointer;
    color: inherit;
  }
  
  /* Remove inner padding and border in Firefox 4+ */
  button::-moz-focus-inner,
  [type="button"]::-moz-focus-inner,
  [type="reset"]::-moz-focus-inner,
  [type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
  }
  
  /* Replace focus style removed in the border reset above */
  button:-moz-focusring,
  [type="button"]::-moz-focus-inner,
  [type="reset"]::-moz-focus-inner,
  [type="submit"]::-moz-focus-inner {
    outline: 1px dotted ButtonText;
  }
  
  button,
  html [type="button"], /* Prevent a WebKit bug where (2) destroys native `audio` and `video`controls in Android 4 */
  [type="reset"],
  [type="submit"] {
    -webkit-appearance: button; /* Correct the inability to style clickable types in iOS */
  }
  
  /* Remove the default button styling in all browsers */
  button,
  input,
  select,
  textarea {
    background-color: transparent;
    border-style: none;
  }
  
  /* Style select like a standard input */
  select {
    -moz-appearance: none; /* Firefox 36+ */
    -webkit-appearance: none; /* Chrome 41+ */
  }
  
  select::-ms-expand {
    display: none; /* Internet Explorer 11+ */
  }
  
  select::-ms-value {
    color: currentColor; /* Internet Explorer 11+ */
  }
  
  legend {
    border: 0; /* Correct `color` not being inherited in IE 8/9/10/11 */
    color: inherit; /* Correct the color inheritance from `fieldset` elements in IE */
    display: table; /* Correct the text wrapping in Edge and IE */
    max-width: 100%; /* Correct the text wrapping in Edge and IE */
    white-space: normal; /* Correct the text wrapping in Edge and IE */
  }
  
  ::-webkit-file-upload-button {
    /* Correct the inability to style clickable types in iOS and Safari */
    -webkit-appearance: button;
    color: inherit;
    font: inherit; /* Change font properties to `inherit` in Chrome and Safari */
  }
  
  /* # =================================================================
     # Specify media element style
     # ================================================================= */
  
  img {
    border-style: none; /* Remove border when inside `a` element in IE 8/9/10 */
  }
  
  /* Add the correct vertical alignment in Chrome, Firefox, and Opera */
  progress {
    vertical-align: baseline;
  }
  
  svg:not([fill]) {
    fill: currentColor;
  }
  
  /* # =================================================================
     # Accessibility
     # ================================================================= */
  
  /* Hide content from screens but not screenreaders */
  @media screen {
    [hidden~="screen"] {
      display: inherit;
    }
    [hidden~="screen"]:not(:active):not(:focus):not(:target) {
      position: absolute !important;
      clip: rect(0 0 0 0) !important;
    }
  }
  
  /* Specify the progress cursor of updating elements */
  [aria-busy="true"] {
    cursor: progress;
  }
  
  /* Specify the pointer cursor of trigger elements */
  [aria-controls] {
    cursor: pointer;
  }
  
  /* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
  [aria-disabled] {
    cursor: default;
  }

  a {
    text-decoration: none;
  }
  ul {
    list-style: none;
  }




body {
	font-family: "m-plus-rounded-2c", sans-serif;
	color: #514844;
}

.bg_red {
  background-color: #CD538B;
  color: #fff;
}
.bg_green {
  background-color: #86AD16;
  color: #fff;
}
.bg_orange {
  background-color: #FDD231;
  color: #DD5F1F;
}

.link_btn {
  font-size: 25px;
  width: 100%;
	height: 85px;
  margin: auto;
  text-align: center;
  padding: 10px;
  box-sizing: border-box;
  border-radius: 40px;
  position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
  transition: .3s;
}

.link_btn_arrow {
  width: 30px;
  height: 30px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 40px;
	border-radius: 50%;
	background-color: #fff;
}
.link_btn_arrow_container {
  position: relative;
}
.link_btn_arrow:before {
	content: "";
	width: 10px;
	height: 1px;
	position: absolute;
	border-top: 3px solid #fff;
	top: 11px;
	transform: rotate(45deg);
	left: 11px;
	border-radius: 2px;
}
.link_btn_arrow:after {
	content: "";
	width: 10px;
	height: 1px;
	position: absolute;
	border-top: 3px solid #fff;
	top: 16px;
	transform: rotate(-45deg);
	left: 11px;
	border-radius: 2px;
}



.section_container {
	width: 100%;
	max-width: 1080px;
	margin: auto;
	box-sizing: border-box;
}



/*パンくず*/
.breadcrumb {
  width: 100%;
  max-width: 1160px;
  margin: auto;
  padding: 0 20px;
}
.breadcrumb_item_link {
  color: #514844;
}


.main_image_page {
  padding-top: 150px;
  position: relative;
}
.main_image_page_bg {
	width: 100%;
	height: auto;
	display: block;
}
.main_image_page_title {
  font-weight: 700;
  font-size: 70px;
  color: #fff;
  text-shadow: 0 3px 6px rgba(0,0,0,.56);
  position: absolute;
  top: 55%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  white-space: nowrap;
}



@media (max-width: 1150px){
  .main_image_page_title {
      font-size: 40px;
			top: 61%;
  }
}
@media( max-width: 767px ){
	.breadcrumb_item {
    font-size: 14px;
  }
	.main_image_page {
		padding-top: 80px;
	}
	.main_image_page_title {
		font-size: 22px;
	}
}

.header {
  position: fixed;
  background-color: #fff;
  width: 100%;
  height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  box-sizing: border-box;
  z-index: 100;
}
.header_title {
  width: 320px;
  margin: 0 70px;
}
.header_title_text {
	font-family: "vdl-v7marugothic";
  font-size: 14px;
  text-align: center;
	color: #514844;
}
.header_title_img {
  width: 100%;
  height: auto;
  display: block;
}
.header_menu {
  display: flex;
  align-items: center;
}
.header_menu_item + .header_menu_item {
  margin-left: 20px;
}
.header_menu_item_link {
  width: 95px;
  height: 95px;
	font-family: "vdl-v7marugothic";
	font-weight: 800;
  font-size: 15px;
	line-height: 1.25;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
}
.fixed_contact {
	position: fixed;
	top: 360px;
	right: 0;
	width: 190px;
	height: 120px;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #7EB36A;
	font-family: "vdl-v7marugothic";
	font-weight: bold;
  font-size: 22px;
	color: #fff;
	z-index: 10;
	border-top-left-radius: 30px;
	border-bottom-left-radius: 30px;
}
.fixed_purchase {
	position: fixed;
	top: 500px;
	right: 0;
	width: 190px;
	height: 120px;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #CD2F47;
	font-family: "vdl-v7marugothic";
	font-weight: bold;
  font-size: 22px;
	color: #fff;
	z-index: 10;
	border-top-left-radius: 30px;
	border-bottom-left-radius: 30px;
}

@media (max-width: 1150px) {
	.header {
		flex-wrap: wrap;
		height: 110px;
		padding: 0;
	}
	.header_title {
		width: 100%;
		order: 1;
	}
	.header_title_img {
		width: 230px;
		margin: auto;
	}
	.header_title_text {
		font-size: 14px;
	}
	.header_menu {
		order: 2;
		width: 50%;
		flex-direction: column;
		padding: 70px 0;
		background-color: #fff;
		display: none;
	}
	.header_menu.active {
	display: flex;
}
	.header_menu_item + .header_menu_item {
		margin-left: 0;
		margin-top: 20px;
	}
	.header_menu_item_link {
		margin: auto;
	}
	
}
@media (max-width: 767px) {
	.header {
		height: 80px;
	}
	.header_title_img {
		width: 180px;
	}
	.header_title_text {
		font-size: 10px;
	}
	.fixed_contact,
	.fixed_purchase{
		display: none;
	}
}


.menu-trigger-box {
  z-index: 9997;
  display: none;
  width: 40px;
  height: 31px;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	position: fixed;
	top: 75px;
	right: 20px;
}
@media (max-width: 1150px) {
  .menu-trigger-box {
		display: flex;
  }
}
@media (max-width: 767px) {
  .menu-trigger-box {
		top: 23px;
  }
}
.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
.menu-trigger {
  position: relative;
  width: 30px;
	height: 22px;
	-webkit-animation: menu-close .6s;
  animation: menu-close .6s;
}
.menu-trigger span {
  position: absolute;
  width: 100%;
  height: 2px;
  background-color: #333;
  border-radius: 4px;
}
.menu-trigger-box span:nth-of-type(1) {
  top: 0;
}
.menu-trigger-box span:nth-of-type(2) {
  top: 10px;
}
.menu-trigger-box span:nth-of-type(3) {
  bottom: 0;
}
.menu-trigger-box.active span:nth-of-type(1) {
  transform: translateY(10px) rotate(-45deg);
}
.menu-trigger-box.active span:nth-of-type(2) {
  opacity: 0;
}
.menu-trigger-box.active span:nth-of-type(3) {
  transform: translateY(-10px) rotate(45deg);
}

.footer {
  background-image: url("../img/footer-bg.png");
	background-size: cover;
	background-position: center top;
	position: relative;
	padding-top: 25%;
}
.footer_logo_text {
	width: 80%;
	max-width: 574px;
	height: auto;
	margin: 0 auto 20px;
	display: block;
}
.footer_logo {
	width: 80%;
	max-width: 573px;
	height: auto;
	margin: auto;
	display: block;
}
.footer_container {
	background-color: #B1B967;
    padding: 40px 20px 25px;
}
.footer_list_box {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin: 60px 0;
}
.footer_list_box_left {
	width: 200px;
}
.footer_list_title {
	font-family: "vdl-v7marugothic";
	font-weight: 800;
	font-size: 25px;
	width: 100%;
}
.footer_list_item_link {
	font-weight: 700;
	font-size: 20px;
	line-height: 2;
	color: #514844;
	display: flex;
	align-items: center;
}
.footer_list_item_link_border {
	width: 20px;
	height: 3px;
	border-radius: 6px;
	background-color: #514844;
	margin-right: 7px;
}
.footer_list_box_right {
	display: flex;
	flex-wrap: wrap;
	width: 330px;
}
.footer_list + .footer_list {
	margin-left: 45px;
}
.footer_menu {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	width: 950px;
	margin: 0 auto 0;
}
.footer_menu_item {
	
}
.footer_menu_item_link {
	font-family: "vdl-v7marugothic";
	font-weight: 700;
	font-size: 26px;
	line-height: 1;
	color: #fff;
	display: flex;
	align-items: center;
}
.footer_menu_item_arrow {
	width: 30px;
  height: 30px;
	border-radius: 50%;
	background-color: #CD2F47;
	position: relative;
	display: block;
	margin-right: 15px;
}
.footer_menu_item_arrow:before {
	content: "";
	width: 10px;
	height: 1px;
	position: absolute;
	border-top: 3px solid #fff;
	top: 11px;
	transform: rotate(45deg);
	left: 11px;
	border-radius: 2px;
}
.footer_menu_item_arrow:after {
	content: "";
	width: 10px;
	height: 1px;
	position: absolute;
	border-top: 3px solid #fff;
	top: 16px;
	transform: rotate(-45deg);
	left: 11px;
	border-radius: 2px;
}
.ec_link_btn {
	font-family: "vdl-v7marugothic";
	font-weight: 700;
	font-size: 20px;
	color: #514844;
	width: 100%;
	max-width: 430px;
	height: 75px;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #FDD231;
	margin: 2em auto 0;
	border-radius: 40px;
}
@media (max-width: 1150px) {
	.footer {
		background-size: contain;
	}
	.footer_logo {
		top: -80px;
	}
	.footer_menu {
		width: 500px;
		justify-content: center;
	}
	.footer_menu_item {
		width: 45%;
		margin-bottom: 30px;
	}
}
@media (max-width: 767px) {
	.footer_logo {
    top: -47px;
	}
	.footer_logo_text {
		font-size: 16px;
	}
	.footer_list_box {
		justify-content: space-between;
		margin: 20px auto;
		width: 100%;
		max-width: 380px;
	}
	.footer_list {
		width: 100%;
	}
	.footer_list + .footer_list {
		margin-left: 0;
	}
	.footer_list_box_left {
		width: 50%;
	}
	.footer_list_title {
		font-size: 18px;
	}
	.footer_list_item_link {
		font-size: 16px;
	}
	.footer_list_box_right {
		width: 50%;
	}
	.footer_menu {
		width: 100%;
		max-width: 380px;
	}
	.footer_menu_item {
		width: 50%;
		margin-bottom: 20px;
	}
	.footer_menu_item_arrow {
		width: 25px;
		height: 25px;
		margin-right: 10px;
	}
	.footer_menu_item_arrow:before {
		top: 9px;
		left: 9px;
	}
	.footer_menu_item_arrow:after {
		top: 14px;
		left: 9px;
	}
	.footer_menu_item_link {
		font-size: 18px;
	}
	.ec_link_btn {
		font-size: 14px;
		height: 60px;
	}
}
@media (max-width: 480px) {
		.footer_logo {
			top: -30px;
		}
}

.main_image {
  padding-top: 150px;
  position: relative;
	margin-bottom: 120px;
}
.main_image_bg {
  width: 100%;
  max-width: 1440px;
  height: auto;
  margin: auto;
	display: block;
}
.main_image_frase {
  width: 40%;
  max-width: 550px;
  height: auto;
  position: absolute;
  bottom: 20%;
  left: 50%;
  transform: translateX(-50%);
}
.main_image_train {
  width: 91%;
  max-width: 1283px;
  height: auto;
  position: absolute;
  bottom: -9%;
  left: 50%;
  transform: translateX(-50%);
}
.main_image_link_btn {
	font-family: "vdl-v7marugothic";
	font-weight: 800;
	background-color: #169BB2;
	width: 42%;
	max-width: 480px;
	color: #fff;
}
.main_image_link_btn_arrow {
	transform: translateY(-50%) rotate(90deg);
}
.main_image_link_btn_arrow:before,
.main_image_link_btn_arrow:after {
	border-color: #169BB2;
}

.main_image_text {
	font-weight: 500;
	font-size: 26px;
	line-height: 1.75;
	text-align: center;
	margin: 30px 0 20px;
}
.main_image_text_br_sp {
	display: none;
}
@media (max-width: 1150px) {
	.main_image {
		
	}
	.main_image_bg {
		width: 95%;
	}
	.main_image_link_btn {
		font-size: 20px;
	}
	.main_image_link_btn_arrow {
		right: 20px;
	}
}
@media (max-width: 767px) {
	.main_image {
		padding-top: 80px;
		margin-bottom: 10%;
	}
	.main_image_link_btn {
    font-size: 16px;
    width: 250px;
    height: 50px;
	}
	.main_image_link_btn_arrow {
		width: 20px;
    height: 20px;
		right: 12px;
	}
	.main_image_link_btn_arrow:before {
    width: 7px;
    border-top: 2px solid #169BB2;
    top: 7px;
    left: 7px;
	}
	.main_image_link_btn_arrow:after {
    width: 7px;
    border-top: 2px solid #169BB2;
    top: 11px;
    left: 7px;
	}
	.main_image_text {
		font-size: 18px;
	}
	.main_image_text_br_sp {
		display: block;
	}
	.main_image_text_br_pc {
		display: none;
	}
}


/*メリット*/
.section_merit {
	padding: 50px 20px;
}
.merit_title_img {
	width: 100%;
	max-width: 877px;
	margin: auto;
	display: block;
}
.merit_text {
	font-weight: 500;
	font-size: 20px;
	text-align: center;
	margin-top: 25px;
}
.merit_box {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 75px 0;
}
.merit_box_item {
	width: 30%;
	display: flex;
	flex-direction: column;
}
.merit_box_item_title {
	font-family: "vdl-v7marugothic";
	font-weight: 700;
	font-size: 20px;
	width: 100%;
	max-width: 310px;
	text-align: center;
	border-radius: 10px;
	padding: 5px;
	margin: 0 auto 20px;
}
.merit_box_item_title1 {
	background-color: #FDD231;
}
.merit_box_item_title2{
	background-color: #169BB2;
	color: #fff;
}
.merit_box_item_title3 {
	background-color: #CD2F47;
	color: #fff;
}
.merit_box_item_image {
	width: 100%;
	height: 32vw;
	max-height: 300px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.merit_box_item_img {
	width: 100%;
	max-width: 320px;
	height: auto;
	display: block;
	margin: auto;
}
.merit_box_item_text {
	font-family: "vdl-v7marugothic";
	font-weight: 700;
	line-height: 1.75;
}
.merit_link_btn {
	background-color: #BECD7E;
	width: 100%;
	max-width: 700px;
	color: #fff;
}
.merit_link_btn_arrow {
	right: 31%;
}
.merit_link_btn_arrow:before,
.merit_link_btn_arrow:after {
	border-color: #BECD7E;
}

.btn_5{
    border-radius: 40px;
    background: #169bb2;
    color: #fff;
    padding: 1.5em;
    width: 60%;
    margin: auto;
}

.btn_5 p{
    display: flex;
    font-size: 1.5em;
    justify-content: center;
    line-height: 1em;
}

.btn_5 p::after{
    content: '';
    /* display: flex; */
    background-image: url(../img/yajirusi.svg);
    background-size: contain;
    background-repeat: no-repeat;
    height: auto;
    width: 26px;
}

@media (max-width: 767px) {
	.section_merit {
    padding: 30px 20px;
	}
	.merit_text {
		font-size: 16px;
	}
	.merit_box {
		margin: 30px 0 0;
	}
	.merit_box_item {
    width: 100%;
		margin-bottom: 30px;
	}
	.merit_box_item_title {
		font-size: 18px;
	}
	.merit_box_item_image {
		height: auto;
		margin-bottom: 30px;
	}
	.merit_box_item_img {
		width: 70%;
	}
    
    .btn_5{
        border-radius: 40px;
        background: #169bb2;
        color: #fff;
        padding: 1.25em;
        width: 100%;
        margin: 1em auto;
    }

    .btn_5 p{
        display: flex;
        font-size: 1.2em;
        justify-content: center;
        line-height: 1em;
    }

    .btn_5 p::after{
        content: '';
        /* display: flex; */
        background-image: url(../img/yajirusi.svg);
        background-size: contain;
        background-repeat: no-repeat;
        height: auto;
        width: 26px;
    }
}




/*サービス*/
.section_service {
	padding: 50px 20px 17%;
	background-image: url("../img/service-bg.png");
	background-size: cover;
	position: relative;
	overflow: hidden;
}
.h2_service {
	background-image: url("../img/h2-service.png");
	background-size: contain;
}
.service_box {
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
	margin: 80px 0 60px;
}
.service_title_img {
	width: 85%;
	max-width: 477px;
	margin: 70px auto 0;
	display: block;
}
.service_box_item {
	width: 40%;
}
.service_box_item:first-child {
	padding-top: 3.5%; 
}
.service_box_item_img {
	width: 100%;
	max-width: 432px;
	height: auto;
	display: block;
}
.service_box_item_text {
	font-size: 20px;
	margin-top: 30px;
	text-align: center;
}
.service_link_box {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	flex-wrap: wrap;
}
.service_link_box_item {
	width: 23%;
	height: auto;
	display: block;
}
.service_link_box_item_img {
	width: 100%;
	height: auto;
	display: block;
}
@media (max-width: 767px) {
	.section_service {
		padding: 30px 20px 90px;
	}
	.service_title_img {
		margin: 85px auto 0;
	}
	.service_box {
		margin: 40px 0 0;
	}
	.service_box_item {
    width: 100%;
		margin-bottom: 30px;
	}
	.service_box_item_img {
		width: 80%;
		margin: auto;
	}
	.service_box_item_text {
		font-size: 16px;
	}
	.service_link_box_item {
		width: 47%;
		margin-bottom: 20px;
	}
}


/*コンセプト*/
.section_concept {
	padding: 250px 20px;
	background-color: #F6F4D2;
	margin-top: -12%;
}
.concept_box {
	display: flex;
	justify-content: space-between;
	position: relative;
}
.concept_box_item_news {
	width: 53%;
	position: relative;
}
.concept_box_item {
	width: 43%;
}
.concept_fukidashi_img {
	position: absolute;
	top: -29%;
	left: 65%;
	width: 117%;
	height: auto;
}
.concept_newspaper_img {
	width: 100%;
	height: auto;
	display: block;
}
.concept_box_item {
	padding-top: 145px;
}
.concept_box_item_text {
	line-height: 2;
}
.concept_box_item_text + .concept_box_item_text {
	margin-top: 30px;
}
.concept_box_item_text_pink_box {
	margin-top: 30px;
}
.concept_box_item_text_pink {
	font-family: "vdl-v7marugothic";
	font-weight: 800;
	font-size: 15px;
	color: #CD2F47;
}
.concept_box_item_text_pink_big {
	font-family: "vdl-v7marugothic";
	font-weight: 800;
	font-size: 30px;
	color: #CD2F47;
	margin-top: 10px;
}
@media (max-width: 767px) {
	.section_concept {
		margin-top: -25%;
		padding: 100px 20px;
	}
}


/*ニュース*/
.section_news {
	padding: 50px 20px;
	background-color: #fff;
}
.news_title {
	font-size: 52px;
	color: #CD7E7E;
}
.news_box {
	display: block;
/*	grid-template-columns: 1fr 1fr 1fr;*/
	grid-gap: 20px;
	margin: 50px 0;
}
.news_box_item_image {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.news_box_item_img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.news_box_item_date {
	font-size: 15px;
	color: #B8B8B8;
	margin: 5px 0 10px;
}
.news_box_item_title {
	font-size: 22px;
	color: #514844;
}
.news_link_btn {
	background-color: #BECD7E;
	width: 100%;
	max-width: 425px;
	color: #fff;
	margin: 0 0 0 auto;
}
.news_link_btn_arrow:before,
.news_link_btn_arrow:after {
	border-color: #BECD7E
}
@media (max-width: 767px) {
	
}


/*CTA*/
.section_cta {
	background-image: url("../img/contact-bg.png");
	background-repeat: repeat;
	position: relative;
	padding: 65px 20px 35px;
}
.cta_container {
	width: 100%;
	max-width: 1270px;
	margin: auto;
	position: relative;
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
}
.cta_box_text {
	width: 50%;
}
.cta_box_text_img {
	width: 100%;
	height: auto;
}
.cta_box_link_btn {
	font-family: "vdl-v7marugothic";
	font-weight: 800;
	background-color: #fff;
	width: 80%;
	max-width: 480px;
	position: relative;
	color: #CD2F47;
	margin-top: 40px;
}
.cta_box_img {
	width: 50%;
	height: auto;
	display: block;
	margin-top: -125px;
}
.cta_box_link_btn_arrow {
	transform: translateY(-50%) rotate(90deg);
	background-color: #CD2F47;
}

@media (max-width: 1150px){
	.cta_box_img {
		margin-top: -90px;
	}
	.cta_box_link_btn {
			font-size: 20px;
	}
	.cta_box_link_btn_arrow {
    right: 20px;
	}
}
@media (max-width: 767px) {
	.section_cta {
		
	}
	.cta_container {
		flex-direction: column-reverse;
	}
	.cta_box_text {
		width: 100%;
		margin-top: 30px;
	}
	.cta_box_img {
		width: 100%;
	}
	.cta_box_link_btn {
		font-size: 16px;
    width: 250px;
    height: 50px;
		margin-top: 20px;
	}
	.cta_box_link_btn_arrow {
    width: 20px;
    height: 20px;
    right: 12px;
	}
	.cta_box_link_btn_arrow:before {
    width: 7px;
    border-top: 2px solid #fff;
    top: 7px;
    left: 7px;
	}
	.cta_box_link_btn_arrow:after {
    width: 7px;
    border-top: 2px solid #fff;
    top: 11px;
    left: 7px;
	}
}


/*施設一覧*/
.section_facility_list {
	padding: 100px 20px;
	background-color: #F6F4D2;
}
.facility_list_link {
	width: 100%;
	max-width: 1127px;
	height: auto;
	margin: auto;
	display: block;
} 
.facility_box {
	width: 100%;
	max-width: 960px;
	margin: 100px auto;
}
.facility_item {
	padding: 50px 0;
	border-bottom: 2px dashed #BCCB7E;
}
.facility_item_last {
	padding: 50px 0;
	border-bottom: none;
}

.facility_item_title {
	display: flex;
	align-items: center;
}
.facility_item_title_small {
	font-weight: 700;
	font-size: 28px;
	color: #D54519;
	display: flex;
	align-items: center;
	margin-right: 30px;
}
.facility_item_title_small_icon {
	width: 34px;
	height: 34px;
	display: block;
	margin-right: 5px;
}
.facility_item_title_big {
	font-weight: 700;
	font-size: 40px;
	color: #D54519;
}
.facility_item_info {
	margin: 30px 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: flex-start;
}
.facility_item_info_textbox {
	width: 43%;
}
.facility_item_info_text {
	font-size: 18px;
}
.facility_item_info_questionnaire {
	font-weight: 700;
	font-size: 19px;
	color: #D54519;
	margin-top: 20px;
	display: inline-block ;
}
.facility_item_info_image {
	width: 54%;
	display: flex;
	justify-content: space-between;
}
.facility_item_info_image_border {
	width: 49%;
	border: 4px solid #B1B967;
}
.facility_item_info_img {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / .7;
	object-fit: cover;
	display: block;
}
.facility_item_map iframe {
	width: 100%;
	height: 350px;
}
.facility_item_pdf{
   display: flex;
    justify-content: center;
    gap: 1em;
}
.facility_item_evaluation {
	font-family: "vdl-v7marugothic";
    font-weight: 700;
    font-size: 18px;
    width: 50%;
    line-height: 21px;
    color: #514844;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px 0;
    border-bottom: 2px dashed #BCCB7E;
    border-top: 2px dashed #BCCB7E;
}
.download_icon {
	width: 27px;
	height: auto;
	display: block;
	margin-right: 15px;
}
@media (max-width: 767px) {
	.section_facility_list {
		padding: 50px 20px;
	}
	.facility_box {
		margin: 0;
	}
	.facility_item {
		padding: 30px 0;
	}
	.facility_item_title {
		align-items: flex-end;
	}
	.facility_item_title_small_icon {
		width: 20px;
    height: 20px;
	}
	.facility_item_title_small {
        font-size: 16px;
        margin-right: 5px;
    }
	.facility_item_title_big {
		font-size: 20px;
	}
	.facility_item_info {
		margin: 20px 0 30px;
	}
	.facility_item_info_textbox {
		width: 100%;
		margin-bottom: 20px;
	}
	.facility_item_info_text {
		font-size: 16px;
	}
	.facility_item_info_questionnaire {
		font-size: 16px;
	}
	.facility_item_info_image {
		width: 100%;
	}
	.facility_item_map iframe {
		height: 200px;
	}
	.facility_item_evaluation {
		font-size: 16px;
	}
	.download_icon {
		width: 20px;
	}
}


/*お問い合わせ*/
.section_contact {
	padding: 170px 0;
}
.contact_container {
	width: 100%;
	max-width: 1150px;
	margin: auto;
	box-sizing: border-box;
}
.h2_contact {
	width: 610px;
	margin: auto;
	text-align: center;
	position: relative;
}
.h2_contact:after {
	content: "";
	position: absolute;
	top: -125px;
	left: 50%;
	transform: translateX(-50%);
	background-image: url(../img/h2-contact.png);
	width: 107%;
	height: 192%;
	background-position: center top;
	background-size: cover;
}
.h2_contact_title {
	font-family: "vdl-v7marugothic";
	font-weight: 800;
	font-size: 61px;
	color: #D54519;
	border-bottom: 2px dashed #D54519;
	line-height: 1.75;
	margin-bottom: 20px;
}
.h2_contact_text {
	font-family: "vdl-v7marugothic";
	font-weight: 500;
	font-size: 20px;
}
.h2_contact_text_br {
	display: none;
}
.contact_box {
	padding: 90px 20px;
	background-image: url("../img/form-bg.png");
	background-size: cover;
	background-position: center;
	margin: 90px 0;
	border-radius: 10px;
}
.contact_box_container {
	width: 100%;
	max-width: 890px;
	margin: auto;
}
.form_item {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 30px;
}

.form_item_title {
	font-family: "vdl-v7marugothic";
	font-size: 20px;
	width: 330px;
	line-height: 1.25;
	position: relative;
	padding-left: 30px;
}
.form_item_title_required {
	width: 24.5px;
	height: 24.5px;
	background-image: url("../img/contact-required.png");
	background-size: contain;
	position: absolute;
	top: 0;
	left: 0;
}
.form_item_input {
	flex: 1;
}
.form_item input[type="text"],
.form_item input[type="email"],
.form_item textarea {
	width: 100%;
	background-color: #fff;
	padding: 15px;
	font-size: 18px;
	border: 4px solid #C9D588;
	outline: none;
}
.wpcf7-radio .wpcf7-list-item {
	width: 100%;
}
.wpcf7-radio .wpcf7-list-item-label {
	font-family: "vdl-v7marugothic";
	font-size: 20px;
}
.form_item_agree {
	font-family: "vdl-v7marugothic";
	font-size: 20px;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	margin-bottom: 50px;
}
input[type="submit"] {
	font-family: "vdl-v7marugothic";
	font-size: 20px;
	color: #fff;
	background-color: #D54519;
	width: 100%;
	max-width: 560px;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: auto;
}
@media (max-width: 767px) {
	.section_contact {
    padding: 90px 0;
	}
	.h2_contact {
		width: 300px;
	}
	.h2_contact:after {
		top: -68px;
		width: 113%;
		max-width: 350px;
		background-size: contain;
	}
	.h2_contact_title {
		font-size: 30px;
	}
	.h2_contact_text {
		font-size: 14px;
	}
	.h2_contact_text_br {
		display: block;
	}
	.contact_box {
		margin: 40px 0;
		padding:  20px;
		border-radius: 0;
	}
	.form_item {
		margin-bottom: 20px;
	}
	.form_item_title {
		font-size: 16px;
		width: 100%;
		margin-bottom: 15px;
	}
	.form_item_title_required {
		width: 20px;
		height: 20px;
	}
	.wpcf7-radio .wpcf7-list-item {
    margin-left: 0;
	}
	.wpcf7-radio .wpcf7-list-item-label {
		font-size: 16px;
	}
	.form_item input[type="text"], 
	.form_item input[type="email"], 
	.form_item textarea {
    padding: 10px;
    font-size: 16px;
    border: 3px solid #C9D588;
	}
	.form_item_agree {
		font-size: 16px;
	}
	.agree_text {
		cursor: pointer;
		line-height: 1.25;
	}
}


.wpcf7-list-item {
  margin: 0;
}
.wpcf7-list-item-label {
  cursor: pointer;
  display: flex;
}
/* デフォルトのボタン */
input[type="radio"] {
  opacity: 0; /* デフォルトのボタンを非表示 */
  position: absolute;
}
/* チェック前のボタン */
.wpcf7-list-item-label::before {
  background: #fff;
  border: 1px solid #333;
  border-radius: 100%; /* ラジオボタンっぽく丸くする */
  content: "";
  height: 1.2em;
  margin-bottom: auto;
  margin-right: .5em;
  margin-top: auto;
  transition: background-color .5s; /* 色をじんわり変化させる */
  width: 1.2em;
}
/* チェック後のボタン */
input[type="radio"]:checked + .wpcf7-list-item-label::before {
  background-color: #C9D588; /* チェック後の中心の色 */
  box-shadow: inset 0 0 0 3px #fff; /* 中心の色のスタイル */
}

/* チェックボックスデザイン */
input[type="checkbox"] {
   width: 20px;
	height: 20px;
	 cursor: pointer;
  }







 

