@charset "utf-8";

/* Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Kiwi+Maru&family=Noto+Sans+JP:wght@100..900&display=swap');

/*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.css */

/* Reset box-model and set borders */
/* ============================================ */

*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
  min-width: 0;
}

/* Document */
/* ============================================ */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}

/* Sections */
/* ============================================ */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */

dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */

/**
 * Prevent vertical alignment issues.
 */

svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */

/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */

button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none; /* 1 */
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit; /* 2 */
}

/**

 * Correct cursors for clickable elements.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  cursor: pointer;
}

button:disabled,
[type="button"]:disabled,
[type="reset"]:disabled,
[type="submit"]:disabled {
  cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */

:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */

option {
  padding: 0;
}

/**
 * Reset to invisible
 */

fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the outline style in Safari.
 */

[type="search"] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Fix appearance for Firefox
 */
[type="number"] {
  -moz-appearance: textfield;
}

/**
 * Clickable labels
 */

label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */

[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */

/**
1. Correct table border color inheritance in all Chrome and Safari.
*/

table {
  border-color: inherit; /* 1 */
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}


/* ****************************** common.css ****************************** */
/* Google Fonts */
.noto-sans-jp {
  font-family: "Noto Sans JP", sans-serif;
}
.kiwi-maru-regular {
  font-family: "Kiwi Maru", serif;
  font-weight: 400;
  font-style: normal;
}

/* ******************** common ******************** */
body { font-size: 14px; font-size: clamp(0.875rem, 0.04rem + 3.56vw, 1.75rem); font-family: "Noto Sans JP", sans-serif; font-weight: 400;}
@media screen and (min-width:768px) {
  body { font-size: 16px;}
  a,
  a *{ -webkit-transition: all .2s; transition: all .2s;}
  body a:hover,
  body label:hover { opacity:.8; text-decoration:none;}
}
.wrapper { overflow: hidden; width: 100%; max-width: 2560px; margin: 0 auto; padding: 0; position: relative;}
a { text-decoration: none;}
a.textlink_underline { text-decoration: underline;}
a.textlink_underline:hover { text-decoration: none;}
ul,
li { list-style: none;}
button { outline: 0; border: 0;}
img { width: 100%; height: auto; vertical-align: bottom;}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}
/* destyleここまで */

/* jqueryと干渉するのでNG
html { scroll-behavior: smooth; scroll-padding-top: 68px; scroll-padding-top: clamp(4.25rem, 1.141rem + 13.27vw, 7.5rem);}
@media screen and (min-width:1024px) {
  html { scroll-padding-top: 110px;}
}
@media screen and (min-width:1180px) {
  html { scroll-padding-top: 112px;}
} */

/* ******************** main ******************** */
main { /*padding-top: 110px;*/ color: #3f3b39;}
main .sp { display: none !important;}
@media screen and (max-width:1023px) {
  main {/* padding-top: 160px;*/}
}
@media screen and (max-width:767px) {
  main { /*padding-top: 80px; padding-top: clamp(5rem, 0.229rem + 20.36vw, 10rem);*/}
  main .sp { display: block !important;}
  main .pc { display: none !important;}
}

/* ******************** header ******************** 1023pxまでSP */
.site-header { width: 100%; /*height: 80px; height: clamp(5rem, 0.229rem + 20.36vw, 10rem); background: rgba(255,255,255,.8);*/ padding: 0;}
.header_innerbox { width: 100%; position: relative;}
.head_logo { width: calc(322/768*100%); min-width: 161px; max-width: 322px; margin: 19px auto 19px 27px; margin: calc(37/768*100%) auto calc(37/768*100%) calc(54/768*100%);}
.head_logo a { display: block;}
.sp_nav_button { position: absolute; top: 4px;/* top: clamp(1.375rem, 0.063rem + 5.6vw, 2.75rem);*/ right: 27px; right: clamp(1.688rem, 0.077rem + 6.87vw, 3.375rem); width: 36px; width: clamp(2.25rem, 0.103rem + 9.16vw, 4.5rem); height: 36px; height: clamp(2.25rem, 0.103rem + 9.16vw, 4.5rem); background: #5a9753;}
.sp_nav_button span { position: absolute; content: ""; width: 20px; width: clamp(1.25rem, 0.057rem + 5.09vw, 2.5rem); height: 3px; height: clamp(0.188rem, 0.009rem + 0.76vw, 0.375rem); background: #fff; left: 8px; left: clamp(0.5rem, 0.023rem + 2.04vw, 1rem); transition: .2s;}
.sp_nav_button span:first-child { top: 20px; top: clamp(0.625rem, 0.027rem + 2.55vw, 1.25rem);}
.sp_nav_button span:nth-child(2) { top: 34px; top: clamp(1.063rem, 0.046rem + 4.34vw, 2.125rem);}
.sp_nav_button span:last-child { top: 48px; top: clamp(1.5rem, 0.065rem + 6.12vw, 3rem);}
.sp_nav_button.active span:first-child { transform: rotate(-45deg); top: 16px; top: clamp(1rem, 0.043rem + 4.08vw, 2rem);}
.sp_nav_button.active span:nth-child(2) { background: transparent;}
.sp_nav_button.active span:last-child { transform: rotate(45deg); top: 16px; top: clamp(1rem, 0.043rem + 4.08vw, 2rem);}
.head_nav { position: absolute; right: -100%; top: inherit; width: 80%; height: 100vh; background: rgba(240,240,240,.9); transition: .2s; z-index: 9999;}
.head_nav.active { right: 0%; overflow: hidden;}
.head_nav ul { width: 80%; max-width: 258px; margin: 40px auto 0; font-weight: 500;}
.head_nav ul.header_textlink { width: 10em;}
.menu_list a { display: block; margin-bottom: 8px; padding: 12px 0; font-size: 14px; font-size: clamp(0.875rem, 0.279rem + 2.54vw, 1.5rem); font-weight: 500; line-height: 1; text-align: center;}
.menu-btn { border-radius: 4px; margin-bottom: 10px;}
@media screen and (min-width:768px) {
  .site-header { /*height: 160px;*/}
  .head_logo { width: /*322px*/272px; margin: 26px auto 26px 54px;}
  .sp_nav_button { top: 6px; right: 54px; width: 60px; height: 60px;}
  .sp_nav_button span { left: 10px;}
  .sp_nav_button span:first-child { top: 14px;}
  .sp_nav_button span:nth-child(2) { top: 28px;}
  .sp_nav_button span:last-child { top: 42px;}
  .sp_nav_button.active span:first-child { top: 26px;}
  .sp_nav_button.active span:last-child { top: 26px;}
  .head_nav { max-width: 500px;}
  .head_nav ul { width: 220px;}
  .menu_list a:hover { opacity: 1 !important;}
  .menu_list a { font-size: 16px;}
  .menu-btn { transition: .2s;}
  .menu-btn._blue:hover { background: #0a497f;}
  .menu-btn._blue:hover { background: #0a497f;}
  .menu-btn._green:hover { background: #3f6639; color: #fff;}
  .menu-btn._brown:hover,
  .readmore_trigger._brown:hover { background: #4f4844;}
  
}
@media screen and (min-width:1024px) {
  .site-header { /*height: 110px;*/}
  .header_innerbox { width: calc(1180/1240*100%); max-width: 1180px; margin: 0 auto; display: flex;}
  .head_logo { width: 272px; margin: 20px auto 20px 0;}
  .sp_nav_button { display: none;}
  .head_nav { width: calc(908/1180*100%); max-width: 908px; height: inherit; position: relative; top: 0; right: 0; background: transparent; display: flex; align-items: center;}
  .head_nav ul { width: inherit; max-width: inherit; margin: inherit;}
  .head_nav ul.header_textlink { display: flex; width: calc(718/908*100%); margin: 8px auto 0 20px; margin: 8px auto 0 clamp(1.25rem, -1.713rem + 4.63vw, 1.875rem)/*20~30*/;}
  .head_nav ul.header_textlink li { margin-right: 1em;}
  .head_nav ul.header_textlink li:last-child { margin-right: 0;}
  .head_nav ul.header_btnlink { width: calc(190/908*100%);}
  .menu_list a { display: block; margin-bottom: 8px; padding: 8px 4px 10px; font-size: 14px; font-size: clamp(0.875rem, -0.31rem + 1.85vw, 1.125rem)/*14~18*/; line-height: 1; transition: .2s; border-radius: 4px; font-weight: 400;}
  .header_textlink .menu_list a:hover { background: #5a9753; color: #fff;}
  .menu-btn { margin-bottom: 8px;}
  .head_nav .menu-btn:last-child { margin-bottom: 0;}
  .head_nav .menu-btn:last-child a { margin-bottom: 0;}
  .menu-btn a { font-weight: 500;}
}
@media screen and (min-width:1240px) {
  .head_nav ul:first-child li { margin-right: 1.4em;}
}
/* ヘッダを固定 */
body { padding-top: 68px; padding-top: clamp(4.25rem, 1.141rem + 13.27vw, 7.5rem)/*68~120*/;}
.site-header._fixed { position: fixed; top: 0; left: 0; background: rgba(255,255,255,.9); z-index: 9999;}
.site-header._fixed .header_innerbox { width: 100%; margin: 0 auto; padding: 12px 0; padding: clamp(0.75rem, 0.033rem + 3.06vw, 1.5rem)/*12~24*/ 0;}
.site-header._fixed .head_logo { width: 161px; width: clamp(10.063rem, 3.426rem + 28.32vw, 17rem)/*161~272*/; max-width: 272px; margin: 0 auto 0 20px; margin: 0 auto 0 clamp(1.25rem, -0.902rem + 9.18vw, 3.5rem)/*22~56*/;}
.site-header._fixed .sp_nav_button { position: absolute; top: 16px; top: clamp(1rem, 0.522rem + 2.04vw, 1.5rem)/*16~24*/; right: 20px; right: clamp(1.25rem, -0.902rem + 9.18vw, 3.5rem)/*22~56*/;}
.site-header._fixed .head_nav { margin-top: 12px; margin-top: clamp(0.75rem, 0.033rem + 3.06vw, 1.5rem)/*12~24*/;}
@media screen and (min-width:768px) {
  .site-header._fixed .sp_nav_button { top: 30px;}
  .site-header._fixed .menu_list a { font-size: 16px; font-size: clamp(1rem, 0.247rem + 1.57vw, 1.25rem)/*16~20*/;}
}
@media screen and (min-width:1024px) {
  body { padding-top: inherit; padding-top: 110px;}
  .site-header._fixed { height: 110px;}
  .site-header._fixed .header_innerbox { width: calc(1180 / 1240* 100%); max-width: 1180px; padding: inherit; padding: 20px 0;}
  .site-header._fixed .head_logo { width: 258px; width: clamp(16.125rem, 11.977rem + 6.48vw, 17rem)/*258~272*/; margin-left: 0;}
  .site-header._fixed .menu_list a { font-size: 14px; font-size: clamp(0.875rem, -0.31rem + 1.85vw, 1.125rem)/*14~18*/;}
  .site-header._fixed .head_nav { margin-top: 0;}
}
@media screen and (min-width:1180px) {
  body { padding-top: inherit; padding-top: 112px;}
  .site-header._fixed { height: 112px;}
  .site-header._fixed .head_nav ul.header_btnlink { margin-top:-.3%;}
}

/* ******************** footer ******************** 1023pxまでSP */
footer .content_innerbox { padding-bottom: 0;}
footer .footer_request { background: #0a497f;}
.btn_request { width: calc(660/768*100%); max-width: 660px; margin: 0 auto; padding: 30px 0 34px; padding: clamp(1.875rem, 0.086rem + 7.63vw, 3.75rem) 0 clamp(2.125rem, 0.097rem + 8.65vw, 4.25rem);}
.sec04 .btn_request { width: 100%; padding: 11px 0 0; padding: clamp(0.688rem, -0.031rem + 3.19vw, 1.5rem) 0  0;}
.sec07 .btn_request { width: 100%; padding: 20px 0 34px; padding: clamp(1.25rem, 0.034rem + 5.41vw, 2.625rem) 0  clamp(2.125rem, 0.097rem + 8.65vw, 4.25rem);}

.btn_request a { display: block; width: 100%; filter:drop-shadow(8px 6px 0 #8d4735); filter:drop-shadow(clamp(0.25rem, 0.011rem + 1.02vw, 0.5rem) clamp(0.188rem, 0.009rem + 0.76vw, 0.375rem) 0 #8d4735); transition: .2s;}
.btn_request a:hover { filter:drop-shadow(0 0 0 #fff); transform: translate(8px,6px); transform: translate(clamp(0.25rem, 0.011rem + 1.02vw, 0.5rem),clamp(0.188rem, 0.009rem + 0.76vw, 0.375rem));}
.btn_request a:hover { opacity: 1 !important;}
.btn_request .btn_request_bg { fill:#ed7959; transition: .2s;}
.btn_request a:hover .btn_request_bg { fill:#f94a46;}
.btn_request .btn_request_bg2 { fill:#ffffff; transition: .2s;}
.btn_request a:hover .btn_request_bg2 { fill:#fff792;}
@media screen and (min-width:768px) {
  .btn_request { width: 450px; width: clamp(28.125rem, 58.59vw, 37.5rem)/*450~600*/; max-width: 600px; padding: 45px 0 70px; padding: clamp(2.813rem, 5.86vw, 3.75rem)/*45~60*/ 0 clamp(3.25rem, -0.125rem + 7.03vw, 4.375rem)/*52~70*/;}
  .sec04 .btn_request { width: 450px; width: clamp(28.125rem, 58.59vw, 37.5rem)/*450~600*/; padding: 0 0 20px;}
  .sec07 .btn_request { width: 450px; width: clamp(28.125rem, 58.59vw, 37.5rem)/*450~600*/; padding: 35px 0 70px; padding: clamp(1.625rem, -0.063rem + 3.52vw, 2.188rem) 0 clamp(3.25rem, -0.125rem + 7.03vw, 4.375rem);}
}

.footer_nav { background: #FFF;}
.foot_logo { width: calc(322/660*100%); margin: 0 auto 18px; margin: 0 auto clamp(1.125rem, 0.052rem + 4.58vw, 2.25rem);}
.foot_sitemap .menu_list a { font-size: 14px; font-size: clamp(0.875rem, 0.279rem + 2.54vw, 1.5rem);}
.foot_sitemap nav > ul { width: calc(300/660*100%); max-width: 300px; margin: 0 auto 20px; margin: 0 auto clamp(1.25rem, 0.057rem + 5.09vw, 2.5rem);}
.toggle_title { width: calc(300/660*100%); max-width: 300px; margin: 0 auto 20px; margin: 0 auto clamp(1.25rem, 0.057rem + 5.09vw, 2.5rem); padding: 12px 0; text-align: center; color: #fff; line-height: 1; background: #5a5757; cursor: pointer;}
.icn_sitemap { font-size: 14px; font-size: clamp(0.875rem, 0.279rem + 2.54vw, 1.5rem);}
.foot_sitemap_child { display: none;}
.foot_sitemap_child ul { margin: 0 auto; width: 100%;}
.foot_sitemap_child ul:last-child { margin-bottom: 30px;}
.foot_sitemap_child li { text-align: center; font-size: 14px; font-size: clamp(0.875rem, 0.279rem + 2.54vw, 1.5rem);}
.foot_sitemap_child li a { display: inline-block; padding: 10px 0;}
.page .content_innerbox p.copyright { padding: 20px; padding: clamp(1.25rem, 0.057rem + 5.09vw, 2.5rem); text-align: center; font-size: 12px; line-height: 1;}
@media screen and (min-width:768px) {
  .foot_logo { width: 272px;}
  .foot_sitemap nav > ul { width: 240px;}
  .toggle_title { width: 240px;}
  .foot_sitemap .menu_list a,
  .icn_sitemap { font-size: 16px;}
  .foot_sitemap_child li { font-size: 16px;}
}
@media screen and (min-width:1024px) {
  .footer_nav .content_innerbox { display: flex; justify-content: space-between; flex-wrap: wrap;}
    .foot_logo { width: calc(272/920*100%); max-width: 272px; margin: 0;}
    .foot_sitemap { width: calc(598/920*100%); max-width: 598px; margin: 0;}
    .page .content_innerbox p.copyright { width: 100%; padding: 20px; padding: clamp(1.25rem, 0.057rem + 5.09vw, 2.5rem); text-align: center; font-size: 12px;}
  .foot_sitemap .menu_list a { display: block; margin-bottom: 0; padding: 8px 0 10px; font-size: 14px; font-size: clamp(0.875rem, 0.125rem + 1.56vw, 1.125rem)/*14~18*/;}
  .foot_sitemap nav > ul { width: 100% !important; max-width: inherit; margin-bottom: 20px; display: flex; justify-content: space-between;}
  .foot_sitemap nav > ul li { width: calc(190/598*100%); margin-bottom: 0;}
  .toggle_title { display: none;}
  .foot_sitemap_child { max-width: 538px; display: flex; justify-content: space-between;}
  .foot_sitemap_child ul { width: 170px; margin: 0 auto 0 0;}
  .foot_sitemap_child ul:first-child { width: 198px;}
  .foot_sitemap_child li { text-align: left;}
  .foot_sitemap_child li a { font-size: 11px; font-size: clamp(0.688rem, 0.125rem + 1.17vw, 0.875rem)/*11~14*/; line-height: calc(24/14/);}
}

/* ******************** icon ******************** */
.icn_login { position: relative; padding-left: 1.4em;}
.icn_login::before { position: absolute; content: ""; top: 54%; transform: translateY(-50%); left: -0.4em; background: url(/images/icn_login.svg) no-repeat; width: 20px; width: clamp(1.25rem, 0.654rem + 2.54vw, 1.875rem); height: 21px; height: clamp(1.313rem, 0.716rem + 2.54vw, 1.938rem); background-size: contain;}
@media screen and (min-width:768px) {
  .icn_login { padding-left: 1.6em;}
  .icn_login::before { width: 24px; height: 24px; top: 54%; left: -.3em;}
}
.icn_inquiry { position: relative; padding-left: 2em;}
.icn_inquiry::before { position: absolute; content: ""; top: 52%; transform: translateY(-50%); left: .1em; background: url(/images/icn_inquiry.svg) no-repeat; width: 34px; width: clamp(1.375rem, 0.659rem + 3.05vw, 2.125rem)/*22～34*/; height: 27px; height: clamp(1.125rem, 0.588rem + 2.29vw, 1.688rem)/*18~27*/; background-size: contain;}
@media screen and (min-width:768px) {
  .icn_inquiry { padding-left: 1.6em;}
  .icn_inquiry::before { width: 26px; top: 53%; height: 20px; left: -.2em;}
}
/* SPのみ */
.icn_sitemap { position: relative; padding-left: 1.4em;}
.icn_sitemap::before { position: absolute; top: 52%; transform: translateY(-50%); left: -.2em; content: ""; width: 20px; width: clamp(1.125rem, 0.529rem + 2.54vw, 1.75rem)/*12～20*/; height: 10px; height: clamp(0.5rem, 0.381rem + 0.51vw, 0.625rem)/*8~10*/; background: url(/images/icn_readmore.svg) no-repeat; background-position: center; background-size: contain; transition: .2s;}
.toggle_title.selected .icn_sitemap::before { transform: rotate(180deg); top: 32%;}
@media screen and (min-width:768px) {
  .icn_sitemap::before { top: 58%; transform: translateY(-50%); left: -.2em; width: 16px; height: 10px;}
}
/* PCのみ */
.icn_sitemap_list { position: relative; padding-left: 1em;}
.icn_sitemap_list::before { position: absolute; top: 50%; transform: translateY(-50%); left: 0; content: ""; width: 7px; height: 11px; background: url(/images/icn_sitemap_list.svg) no-repeat; background-position: center; background-size: contain; transition: .2s;}

/* 追従：資料請求 */
.btn_request_follow { position: fixed; top: 50%; right:0; width: 28px; width: clamp(1.75rem, 0.14rem + 6.87vw, 3.438rem)/*28~55*/; height: 92px; height: clamp(5.75rem, 0.263rem + 23.41vw, 11.5rem)/*92~184*/;}
.btn_request_follow a { display: block;}
.btn_request_follow a:hover { opacity: 1 !important;}
.btn_request_follow .btn_request_follow_bg { fill:#ee7958; transition: .2s;}
.btn_request_follow a:hover .btn_request_follow_bg { fill:#f94a46;}
@media screen and (min-width:768px) {
  .btn_request_follow { top: 320px; width: 46px; height: 152px;}
}
@media screen and (min-width:1024px) {
  .btn_request_follow { top: 320px; width: 60px; height: 198px;}
}

/* 追従：pagetop */
.btn_pagetop { display: none; cursor: pointer; position: fixed; right: 10px; bottom: 10px; width: 30px; width: clamp(1.875rem, 1.279rem + 2.54vw, 2.5rem)/*30~40*/; height: 30px; height: clamp(1.875rem, 1.279rem + 2.54vw, 2.5rem)/*30~40*/;}
.btn_pagetop a img { opacity: .7;}
@media screen and (min-width:1024px) {
  .btn_pagetop { right: 20px; right: clamp(1.25rem, -4.676rem + 9.26vw, 2.5rem); bottom: 20px; bottom: clamp(1.25rem, -4.676rem + 9.26vw, 2.5rem); width: 40px; width: clamp(2.5rem, -3.426rem + 9.26vw, 3.75rem)/*40~60 1024~1240*/; height: 40px; height: clamp(2.5rem, -3.426rem + 9.26vw, 3.75rem);}
  .btn_pagetop a:hover img { opacity: 1 !important;}
}

/* ******************** background color ******************** */
._white { background: #fff;}
._blue { background: #0191c9; color: #fff;}
._green { background: #5a9753; color: #fff;}
._brown { background: #837871; color: #fff;}

._lightgreen { background: #d7e7b4;}
._deepblue { background: #0a497f;}

._f8dce1 { background: #f8dce1;}


/* ******************** button ******************** */
.btn { display: block; width: calc(506/660*100%); margin: 0 auto; line-height: 34px; line-height: clamp(2.125rem, 0.097rem + 8.65vw, 4.25rem); border-radius: 34px; border-radius: clamp(2.125rem, 0.097rem + 8.65vw, 4.25rem); text-align: center; color: #fff; background: #0191c9; box-shadow: 3px 3px 0px #124a7e; transition: .2s; cursor: pointer; position: relative;}
.btn span { font-size: 14px; font-size: clamp(0.875rem, 0.04rem + 3.56vw, 1.75rem); font-weight: 500;}
.btn:hover { box-shadow: unset; background: #124a7e; transform: translate(3px,3px);}
.btn._lightblue { box-shadow: 3px 3px 0px #c5ecff; transition: .2s;}
.btn._lightblue span { color: #fff;}
.btn._lightblue:hover { box-shadow: unset; background: #c5ecff; color: #0a497f; transform: translate(3px,3px);}
.btn._lightblue:hover span { color: #0a497f;}
.btn::before { position: absolute; top: 50%; transform: translateY(-50%) rotate(45deg); right: 22px; content: ""; width: 9px; width: clamp(0.563rem, 0.204rem + 1.53vw, 0.938rem)/*9~15*/; height: 9px; height: clamp(0.563rem, 0.204rem + 1.53vw, 0.938rem)/*9~15*/; border: 1px solid #fff; border-bottom: transparent; border-left: transparent;}
.btn._lightblue:hover::before { border: 1px solid #0a497f; border-bottom: transparent; border-left: transparent; transition: .2s;}
.btn:hover,
.btn:hover > span { opacity: 1 !important;}
@media screen and (min-width:768px) {
  .btn { width: 375px; height: 50px; line-height: /*50px*/ 49px; border-radius: 25px;}
  .btn span { font-size: 21px; border-radius: 25px;}
  .btn::before { width: 13px; height: 13px;}
}

/* ******************** section ******************** */
.section { width: 100%;}
.content_innerbox { width: calc(660/768*100%); margin: 0 auto; padding: 30px 0 40px; padding: clamp(1.875rem, 0.086rem + 7.63vw, 3.75rem) 0 clamp(2.5rem, 0.115rem + 10.18vw, 5rem);}
@media screen and (min-width:768px) {
  .content_innerbox { max-width: 920px; padding: 30px 0 45px; padding: clamp(1.875rem, 3.91vw, 2.5rem) 0 clamp(2.813rem, 5.86vw, 3.75rem);}
}

/* キービジュアル */
.top_kv { width: 100%; padding-bottom: calc(430/768*100%); background: url(/images/kv_sp.jpg) no-repeat; background-size: cover; background-position: center top; position: relative; z-index: -1;}
.kv_txt { position: absolute; top: calc(36/430*100%); left: calc(274/768*100%); color: #fff; font-family: "Kiwi Maru", serif;}
.kv_txt ul { margin-bottom: 7px; margin-bottom: clamp(0.438rem, 0.051rem + 1.72vw, 0.875rem)/*7~14*/; margin-left: 2px; margin-left: clamp(0.125rem, 0.014rem + 0.49vw, 0.25rem)/*2~4*/;}
.kv_txt li { display: inline; margin-right: 5px; margin-right: clamp(0.313rem, 0.036rem + 1.23vw, 0.625rem)/*5~10*/; letter-spacing: 0; font-size: 9px; font-size: clamp(0.563rem, -0.101rem + 2.95vw, 1.313rem); line-height: 1;}
.box_radius_green_small { width: 100%; border-radius: 4px; border-radius: clamp(0.25rem, 0.029rem + 0.98vw, 0.5rem); background: #5a9753;
  padding-top: 1px;
  padding-top: clamp(0.063rem, 0.007rem + 0.25vw, 0.125rem)/*1~2*/;
  padding-right: 3px;
  padding-right: clamp(0.188rem, 0.022rem + 0.74vw, 0.375rem)/*3~6*/;
  padding-bottom: 2px;
  padding-bottom: clamp(0.125rem, 0.014rem + 0.49vw, 0.25rem)/*2~4*/;
  padding-left: 6px;
  padding-left: clamp(0.375rem, 0.043rem + 1.47vw, 0.75rem)/*6~12*/;
}
.kv_txt p { color: #5a9753; font-size: 14px; font-size: clamp(0.875rem, 0.101rem + 3.44vw, 1.75rem)/*14~28*/; line-height: calc(37/28); letter-spacing: .2em;}
.kv_txt .kv_txt_large { font-size: 22px; font-size: clamp(1.375rem, -0.062rem + 6.39vw, 3rem)/*22~48*/; display: inline-block; margin-bottom: 4px; margin-left: -2px;}
@media screen and (min-width:768px) {
  .top_kv { width: 100%; padding-bottom: calc(430/1024*100%); background: url(/images/kv_tb.jpg) no-repeat; background-size: cover;}
  .top_kv .sp { display: none !important;}
  .top_kv .pc { display: block !important;}
  .kv_txt { top: calc(48/430*100%); left: calc(350/1024*100%);}
  .kv_txt ul { margin-bottom: 8px; margin-bottom: clamp(0.5rem, -0.314rem + 1.69vw, 1rem)/*7~14*/;}
  .kv_txt li { font-size: 15px; font-size: clamp(0.938rem, -0.188rem + 2.34vw, 1.313rem)/*15~21*/;}
  .kv_txt p { font-size: 21px; font-size: clamp(1.313rem, 2.73vw, 1.75rem)/*21~28*/;}
  .kv_txt .kv_txt_large { font-size: 36px; font-size: clamp(2.25rem, 4.69vw, 3rem)/*36~48*/; margin-bottom: 4px; margin-left: -2px;}
}
@media screen and (min-width:1024px) {
  .top_kv { width: 100%; padding-bottom: inherit; height: 430px; background: url(/images/kv_pc.jpg) no-repeat; background-position: center;}
  .kv_txt { top: calc(48/430*100%); left: calc(798/1920*100%);}

}

/* 見出し・本文 */
.content_innerbox h2 { font-size: 16px; font-size: clamp(1rem, -0.106rem + 4.91vw, 2.25rem)/*16~36*/; line-height: calc(50/36); font-weight: 700; text-align: center; margin-bottom: 20px; margin-bottom: clamp(1.25rem, 0.057rem + 5.09vw, 2.5rem);}
.content_innerbox p { font-size: 14px; font-size: clamp(0.813rem, -0.017rem + 3.69vw, 1.75rem)/*13~28*/; line-height:calc(60/28); color: #3f3b39;  font-weight: 400;}
@media screen and (min-width:768px) {
  .content_innerbox h2 { font-size: 25px; font-size: clamp(1.563rem, -0.132rem + 3.53vw, 2.125rem)/*25~34*/; line-height:calc(52/30);}
  .content_innerbox p { font-size: 12px; font-size: clamp(0.75rem, 1.56vw, 1rem)/*12~16*/; line-height: calc(32/16);}
}

.content_innerbox .text_lead { width: calc(606/660*100%); margin: 0 auto 30px; margin: 0 auto  clamp(1.875rem, 0.086rem + 7.63vw, 3.75rem); font-size: 14px; font-size: clamp(0.875rem, 0.04rem + 3.56vw, 1.75rem); line-height: calc(60/28);}
.error404 .content_innerbox ._404 { margin: 30px auto !important; text-align: center;}
@media screen and (min-width:768px) {
  .content_innerbox .text_lead { width: 100%; font-size: 18px; font-size: clamp(0.875rem, 0.125rem + 1.56vw, 1.125rem); line-height: calc(32/18); margin-bottom: 50px; font-weight: 500; text-align: center;}
}


/* 角丸のボックス */
.box_radius_green { width: 100%; border-radius: 20px; background: #d7e7b4; padding: 20px 0; padding: clamp(1.25rem, -0.074rem + 5.88vw, 2.75rem) 0; margin-bottom: 18px; margin-bottom: clamp(1.125rem, -0.091rem + 5.41vw, 2.5rem);}
.sec02 .box_radius_green { margin-bottom: 13px; margin-bottom: clamp(0.813rem, -0.017rem + 3.69vw, 1.75rem)/*13~28*/;}
.content_innerbox .box_radius_green > p { font-size: 13px; font-size: clamp(0.813rem, -0.017rem + 3.69vw, 1.75rem); width: calc(570/660*100%); margin: 0 auto; font-weight: 500 !important;}
.sec02 .box_radius_green > p { width: calc(534/618*100%);}
@media screen and (min-width:768px) {
  .box_radius_green { padding: 14px 0; padding: clamp(0.875rem, 0.122rem + 1.57vw, 1.125rem) 0; margin-bottom: 15px; margin-bottom: clamp(0.938rem, 1.95vw, 1.25rem);}
  .content_innerbox .box_radius_green > p { font-size: 12px; font-size: clamp(0.75rem, -0.003rem + 1.57vw, 1rem)/*12~16*/; width: calc(900/920*100%); width: 100%;}
  .sec02 .content_innerbox .box_radius_green > p { width: calc(380/430*100%); padding: 9px 0; padding: clamp(0.563rem, 1.17vw, 0.75rem)/*9~12*/ 0;}
}
@media screen and (min-width:1024px) {
  .box_radius_green { padding: 18px 0;}
  .content_innerbox .box_radius_green > p { font-size: 14px; font-size: clamp(0.875rem, -0.31rem + 1.85vw, 1.125rem) !important/*14~18*/; line-height: calc(31.5/18);}
}

.box_radius_white { width: 100%; background: #fff; margin-bottom: 19px; margin-bottom: clamp(1.188rem, -0.084rem + 5.65vw, 2.625rem)/*19~42*/;}
.box_radius_white._48px,
.box_radius_white._30px,
.box_radius_white._44px,
.box_radius_white._50px { border-radius: 18px; border-radius: clamp(1.125rem, -0.091rem + 5.41vw, 2.5rem)/*18~40*/;}
.box_radius_white._48px,
.box_radius_white._30px,
.box_radius_white._44px,
.box_radius_white._50px { padding-bottom: 1.5em;}
@media screen and (min-width:768px) {
  .box_radius_white { margin-bottom: 36px; margin-bottom: clamp(2.25rem, 4.69vw, 3rem);}
  .box_radius_white._48px { border-radius: 36px; border-radius: clamp(2.25rem, 4.69vw, 3rem)/*36~48*/;}
  .box_radius_white._30px { border-radius: 22px; border-radius: clamp(1.375rem, -0.125rem + 3.13vw, 1.875rem)/*22~30*/;}
  .box_radius_white._44px { border-radius: 33px; border-radius: clamp(2.063rem, 4.3vw, 2.75rem)/*33~44*/;}
  .box_radius_white._50px { border-radius: 37px; border-radius: clamp(2.313rem, -0.125rem + 5.08vw, 3.125rem)/*37~50*/;}
  .box_radius_white._48px,
  .box_radius_white._30px,
  .box_radius_white._44px,
  .box_radius_white._50px { padding-bottom: 3em;}
}

/* */
@media screen and (min-width:768px) {
  .sec08 .ta_c { text-align: center;}
}

/* 医療機関の皆さまへ */
.sec01 .content_innerbox { padding-bottom: 60px; padding-bottom: clamp(3.75rem, -0.12rem + 17.2vw, 8.125rem);}
.content_innerbox h2.sec01_h2 { width: calc(606/660*100%); max-width: 660px; margin: 0 auto 15px; margin: 0 auto clamp(0.938rem, 0.043rem + 3.82vw, 1.875rem); background: #413d3c; color: #fff !important; text-align: center; line-height: 44px; line-height: clamp(2.75rem, 0.126rem + 11.2vw, 5.5rem); border-radius: 44px; letter-spacing: 0;}
.content_innerbox p.sec01_txt { width: calc(606/660*100%); max-width: 660px; margin: 0 auto; font-size: 14px; font-size: clamp(0.875rem, -0.01rem + 3.93vw, 1.875rem)/*14~30*/; line-height: calc(60/30); font-weight: 500;}
@media screen and (min-width:768px) {
  .sec01 .content_innerbox { padding: 46px 0 71px; padding: clamp(2.875rem, -0.125rem + 6.25vw, 3.875rem)/*46~62*/ 0 clamp(4.438rem, -0.063rem + 9.38vw, 5.938rem)/*71~95*/;}
  .content_innerbox h2.sec01_h2 { width:382px; width: clamp(23.875rem, -0.125rem + 50vw, 31.875rem)/*382~510*/; font-size: 22px; font-size: clamp(1.375rem, -0.125rem + 3.13vw, 1.875rem)/*22~30*/; line-height: 57px; line-height: clamp(3.563rem, 7.42vw, 4.75rem)/*57~76*/; border-radius: 38px;}
  .content_innerbox p.sec01_txt { width: 100%; max-width: inherit; font-size: 24px; font-size: clamp(1.125rem, 2.34vw, 1.5rem); line-height: calc(42/24); text-align: center;}
}

/* こんなお悩み */
.sec02 { position: relative;}
.sec02::before { position: absolute; content: ""; top: calc(-30/768*100%); left: 50%; transform: translateX(-50%); width: 115px; width: clamp(7.188rem, -0.055rem + 32.19vw, 15.375rem)/*115~246*/; height: 115px; height: clamp(7.188rem, -0.055rem + 32.19vw, 15.375rem)/*115~246*/; background: url(/images/sec02_illust.svg) no-repeat; background-size: contain;}
.sec02 .content_innerbox { padding: 94px 0 0; padding: clamp(5.875rem, 0.015rem + 26.04vw, 12.5rem)/*94~200*/ 0 0;}
.content_innerbox h2.sec02_h2 { margin-bottom: 28px; margin-bottom: clamp(1.75rem, -0.019rem + 7.86vw, 3.75rem)/*28~60*/;}
.sec02 li { width: calc(618/660*100%); margin: 0 auto 20px; margin: 0 auto clamp(1.25rem, -0.077rem + 5.9vw, 2.75rem)/*20~44*/; line-height: calc(38/28); position: relative;}
.sec02 .content_innerbox h3 { color: #5a9753; margin-bottom: 37px; margin-bottom: clamp(2.313rem, -0.065rem + 10.57vw, 5rem)/*37~80*/; font-size: 14px; font-size: clamp(0.875rem, 0.04rem + 3.56vw, 1.75rem); font-weight: 700; line-height: 1; text-align: center; padding-top: 17px; padding-top: clamp(1.063rem, -0.098rem + 5.16vw, 2.375rem)/*17~38*/;}
.sec02 .content_innerbox h3::before{ position: absolute; top: 0; left: 50%; transform: translateX(-50%); content: ""; width: calc(433/660*100%); min-width: 14em; height: 155px; background: url(/images/sec02_illust2.svg) no-repeat; background-size: contain;}
.sec02 .content_innerbox p { font-size: 14px; font-size: clamp(0.875rem, 0.101rem + 3.44vw, 1.75rem)/*14~28*/;}
.top_sec02_bg { width: 100%; margin-top: -20px; padding-top: calc(428/768*100%); background: url(/images/sec02_bg_sp.svg) no-repeat; background-size: contain; background-position: center bottom; position: relative; z-index: -1;}
.top_sec02_bg h2 { width: 100%; text-align: center; color: #fff792; position: absolute; top: calc(117/428*100%); left: 50%; transform: translateX(-50%); font-size: 16px; font-size: clamp(1rem, -0.106rem + 4.91vw, 2.25rem)/*16~36 360~767*/; font-weight: 700;}
.top_sec02_bg p { width: calc(620/768*100%); font-size: 13px; color: #fff; font-size: clamp(0.813rem, -0.017rem + 3.69vw, 1.75rem)/*13~28*/; font-weight: 500; line-height: calc(49/28); position: absolute; top: calc(200/428*100%); left: 50%; transform: translateX(-50%);}
@media screen and (min-width:768px) {
  .sec02::before { position: absolute; content: ""; top: -54px; width: 124px; width: clamp(7.75rem, -0.125rem + 16.41vw, 10.375rem)/*124~166*/; height: 124px; height: clamp(7.75rem, -0.125rem + 16.41vw, 10.375rem)/*124~166*/;}
  .sec02 .content_innerbox { padding: 100px 0 0; padding: clamp(6.25rem, -0.125rem + 13.28vw, 8.375rem)/*100~134*/ 0 0;}
  .content_innerbox h2.sec02_h2 { margin-bottom: 32px; margin-bottom: clamp(2rem, -0.063rem + 4.3vw, 2.688rem)/*32~43*/; font-size: 22px; font-size: clamp(1.375rem, -0.125rem + 3.13vw, 1.875rem)/*22~30*/;}
  .sec02 .flexbox { display: flex; justify-content: space-between;}  
  .sec02 li { width: calc(430/920*100%); margin: 0; font-size: 24px; font-size: clamp(1.125rem, 2.34vw, 1.5rem); line-height: calc(35/24); padding: calc(44/920*100%) 0 calc(80/920*100%);}
  .sec02 .content_innerbox h3 { margin-bottom: 61px; margin-bottom: clamp(3.813rem, -0.125rem + 8.2vw, 5.125rem)/*61~82*/; font-size: 21px; font-size: clamp(1.313rem, 2.73vw, 1.75rem)/*21~28*/;padding-top: 0;}
  .sec02 .content_innerbox h3::before{ width: 100%; height: 116px; height: clamp(7.188rem, -0.313rem + 15.63vw, 9.688rem)/*116~155*/;}
  .sec02 .content_innerbox p { font-size: 13px; font-size: clamp(0.813rem, -0.125rem + 1.95vw, 1.125rem)/*13~18*/;}
  .top_sec02_bg { padding-top: 0; margin-top: -232px; padding-bottom: 413px; background: url(/images/sec02_bg_pc.svg) no-repeat; background-size: 2560px auto; background-position: center bottom;}
  .top_sec02_bg h2 { top: calc(240/413*100%); font-size: 25px; font-size: clamp(1.563rem, -0.125rem + 3.52vw, 2.125rem)/*25~34*/;}
  .top_sec02_bg p { width: 100%; top: calc(294/413*100%); font-size: 18px; font-size: clamp(1.125rem, 2.34vw, 1.5rem)/*18~24*/; text-align: center;}
}

/* MEDI-HOの特長 */
.h3_line_yellow { width: calc(608/660*100%); margin: 0 auto .4em; padding-top: 21px; padding-top: clamp(1.313rem, -0.07rem + 6.14vw, 2.875rem); color: #5a9753; font-weight: 700; font-size: clamp(1.125rem, -0.091rem + 5.41vw, 2.5rem)/*18~40*/; padding-bottom: 4px; line-height: 1; background: linear-gradient( to bottom, transparent 0 70%, #fbf6bd 70% 100%);}
.ml_05em { margin-left: 0.5em;}
.mr_08em { margin-right: 0.8em;}
.list_disc { width: calc(608/660*100%); margin: 0 auto;}
.list_disc li { padding-left: 1.3em; font-size: 12px; font-size: clamp(0.75rem, -0.024rem + 3.44vw, 1.625rem)/*12~26*/; font-weight: 500; line-height: calc(46/26);}
.list_disc li::before { content: "●"; margin-left: -1.3em; margin-right: 0.3em;}
.sec03_illust01,
.sec03_illust02 { position: relative;}
.sec03_illust01::after,
.sec03_illust02::after { position: absolute; content: ""; display: block; top: 50%; transform: translateY(-50%);}
.sec03_illust01::after { background: url(/images/sec03_illust01.svg) no-repeat; background-size: contain; right: 26px; right: clamp(0.75rem, -0.024rem + 3.44vw, 1.625rem); width: 92px; width: clamp(5.75rem, -0.221rem + 26.54vw, 12.5rem)/*92~200*/; height: 113px; height: clamp(7.063rem, -0.014rem + 31.45vw, 15.063rem)/*112~241*/;}
.sec03_illust02::after { background: url(/images/sec03_illust02.svg) no-repeat; background-size: contain; right: 0; width: 121px; width: clamp(7.563rem, -0.122rem + 34.15vw, 16.25rem); height: 119px; height: clamp(7.5rem, 0.037rem + 33.17vw, 15.938rem)/*119~255*/;}
@media screen and (min-width:768px) {
  .h3_line_yellow { width: calc(800/880*100%); padding-top: 42px; padding-top: clamp(2.625rem, 5.47vw, 3.5rem)/*42~56*/; font-size: 30px; font-size: clamp(1.875rem, 3.91vw, 2.5rem)/*30~40*/;}
  .list_disc { width: calc(800/880*100%);}
  .list_disc li { padding-left: 1.5em; font-size: 18px; font-size: clamp(1.125rem, 2.34vw, 1.5rem)/*18~24*/; line-height: calc(42/24);}
  .list_disc li::before { margin-left: -1.4em; margin-right: 0.4em;}

  .sec03_illust01::after { right: 103px; right: clamp(6.438rem, -0.125rem + 13.67vw, 8.625rem)/*103~138*/; width: 148px; width: clamp(9.25rem, -0.125rem + 19.53vw, 12.375rem)/*148~198*/; height: 180px; height: clamp(11.25rem, 0.188rem + 23.05vw, 14.938rem)/*180~239*/;}
  .sec03_illust02::after { background: url(/images/sec03_illust02.svg) no-repeat; background-size: contain; right: 67px; right: clamp(4.25rem, 0.125rem + 8.59vw, 5.625rem)/*67~90*/; width: 205px; width: clamp(12.813rem, -0.125rem + 26.95vw, 17.125rem)/*205~274*/; height: 176px; height: clamp(11rem, 0.125rem + 22.66vw, 14.625rem)/*176~234*/;}
  .sec03 .box_radius_white._30px._last { margin-bottom: 13px; margin-bottom: clamp(0.813rem, -0.125rem + 1.95vw, 1.125rem);}
}
@media screen and (min-width:1025px) {
  .h3_line_yellow { width: calc(800/920*100%);}
  .list_disc { width: calc(800/920*100%);}
}

/* MEDI-HOのしくみ */
.sec04_h2 { color: #fff;}
.sec04_h3 { color: #0a497f; font-size: 16px; font-size: clamp(1rem, 0.005rem + 4.42vw, 2.125rem)/*16~34*/; font-weight: 700; line-height: 1; text-align: center; margin-bottom: 17px; margin-bottom: clamp(1.063rem, -0.098rem + 5.16vw, 2.375rem)/*17~38*/;}
.sec04 .box_radius_white { padding: 15px 0; padding: clamp(0.938rem, -0.002rem + 4.18vw, 2rem) 0; margin-bottom: 52px; margin-bottom: clamp(3.25rem, -0.125rem + 7.03vw, 4.375rem);}
.sec04_illust { display: block; width: calc(612/660*100%); margin: 0 auto 9px; margin: 0 auto clamp(0.563rem, -0.046rem + 2.7vw, 1.25rem)/*9~20*/;}
.content_innerbox .sec04_p { width: calc(588/660*100%); margin: 0 auto; font-weight: 500; line-height: calc(60/28);}
@media screen and (min-width:768px) {
  .sec04_h3 { font-size: 25px; font-size: clamp(1.563rem, -0.125rem + 3.52vw, 2.125rem)/*25~34*/; margin-bottom: 31px; margin-bottom: clamp(1.938rem, -0.125rem + 4.3vw, 2.625rem)/*31~42*/;}
  .sec04 .box_radius_white { padding: 30px 0; padding: clamp(1.875rem, 3.91vw, 2.5rem)/*30~40*/ 0;}
  .sec04_illust { width: calc(832/920*100%); margin: 0 auto 15px; margin: 0 auto clamp(0.938rem, 1.95vw, 1.25rem)/*15~20*/;}
  .content_innerbox .sec04_p { width: 100%; font-size: 13px; font-size: clamp(0.813rem, -0.125rem + 1.95vw, 1.125rem)/*13~18*/; line-height: calc(32/18); text-align: center;}
}

/* 既存の医療機関向け保証サービスとのちがい */
.sec05 .content_innerbox { padding: 30px 0 58px; padding: clamp(1.875rem, 3.91vw, 2.5rem) 0 clamp(3.625rem, -0.125rem + 7.81vw, 4.875rem);}
.content_innerbox .sec05_p { width: calc(612/660*100%); margin: 0 auto 22px; margin: 0 auto clamp(1.375rem, -0.062rem + 6.39vw, 3rem); font-weight: 500; line-height: calc(46/26); font-size: 12px; font-size: clamp(0.75rem, -0.024rem + 3.44vw, 1.625rem);}
.sec05_h3 { color: #0a497f; font-size: 16px; font-size: clamp(1rem, 0.005rem + 4.42vw, 2.125rem); font-weight: 700; line-height: 1; text-align: center; margin-bottom: 12px; margin-bottom: clamp(0.75rem, -0.079rem + 3.69vw, 1.688rem);}
.sec05 .box_radius_white { padding: 15px 0; padding: clamp(0.938rem, -0.058rem + 4.42vw, 2.063rem) 0; margin-bottom: 0;}
.box_radius_yellow { background: #fbf6bd; border-radius: 5px; border-radius: clamp(0.313rem, 0.036rem + 1.23vw, 0.625rem); width: calc(606/660*100%); margin: 0 auto 18px; margin: 0 auto clamp(1.125rem, -0.091rem + 5.41vw, 2.5rem); padding: 10px 25px; padding: clamp(0.625rem, 0.072rem + 2.46vw, 1.25rem) clamp(0.75rem, 0.031rem + 3.19vw, 1.563rem);}
.list_square li { color: #0a497f; padding-left: 1.5em; font-size: 12px; font-size: clamp(0.75rem, 0.087rem + 2.95vw, 1.5rem); font-weight: 700; line-height: calc(46/24);}
.list_square li::before { content: "□"; margin-left: -1.5em; margin-right: 0.5em;}
.sec05_h4 { font-size: 11px; font-size: clamp(0.688rem, -0.031rem + 3.19vw, 1.5rem); font-weight: 700; line-height: calc(50/24); text-align: center; margin-bottom: 16px; margin-bottom: clamp(1rem, 0.005rem + 4.42vw, 2.125rem)}
.sec05_illust { display: block; width: calc(606/660*100%); margin: 0 auto;}
.btn_pdflink { display: block; width: 200px; width: clamp(12.5rem, 2.549rem + 44.23vw, 23.75rem)/*~380*/; margin: 9px auto; margin: clamp(0.563rem, -0.046rem + 2.7vw, 1.25rem) auto; background: #5a9753; color: #fff; font-size: 10px; font-size: clamp(0.625rem, 0.183rem + 1.97vw, 1.125rem); line-height: 40px; border-radius: 5px; text-align: center; text-indent: 1.6em; position: relative;}
.btn_pdflink::before { position: absolute; top: 50%; transform: translateY(-50%); left: 13px; left: clamp(0.813rem, 0.094rem + 3.19vw, 1.625rem); display: inline-block; content: ""; background: url(/images/icn_pdf.png) no-repeat; background-size: contain; width: 18px; width: clamp(1.125rem, 0.738rem + 1.72vw, 1.563rem)/*~25*/; height: 22px; height: clamp(1.375rem, 0.933rem + 1.97vw, 1.875rem)/*~30*/;}
@media screen and (min-width:768px) {
  .content_innerbox .sec05_h2 { margin-bottom: 18px; margin-bottom: clamp(1.125rem, 2.34vw, 1.5rem);}
  .content_innerbox .sec05_p { width: 100%; margin: 0 auto 27px; margin: 0 auto clamp(1.688rem, 3.52vw, 2.25rem); line-height: calc(42/24); font-size: 16px; font-size: clamp(1rem, 0.186rem + 1.69vw, 1.5rem); text-align: center; white-space: nowrap;}
  .box_radius_yellow { padding: 18px; padding: clamp(1.125rem, 2.34vw, 1.5rem); margin: 0 auto 42px; margin: 0 auto clamp(2.625rem, 5.47vw, 3.5rem);}
  .list_square { width: fit-content; margin: 0 auto;}
  .list_square li { font-size: 18px; font-size: clamp(1.125rem, 2.34vw, 1.5rem); line-height: calc(46/24);}
  .sec05_h4 { font-size: 22px; font-size: clamp(1.375rem, -0.125rem + 3.13vw, 1.875rem); line-height: 1; margin-bottom: 36px; margin-bottom: clamp(2.25rem, 4.69vw, 3rem);}
  .btn_pdflink { margin: 12px auto 0; margin: clamp(0.75rem, 1.56vw, 1rem) auto 0;}
}

/* よくある質問 */
.list_faq { width: 100%;}
.list_faq .toggle_title { width: 100%; max-width: inherit; margin: 0 0 10px; padding: 1em 2.4em 1em 1em; text-align: left; color: inherit; line-height: calc(45/24); background: inherit; font-size: 12px; font-size: clamp(0.75rem, 0.034rem + 3.05vw, 1.5rem)/*12~24 375~768*/; font-weight: 500; border: 1px solid #fff; position: relative;}
.list_faq .toggle_title::after { position: absolute; top: 50%; transform: translateY(-50%); right: .7em; content: ""; width: 16px; width: clamp(1rem, 0.761rem + 1.02vw, 1.25rem)/*16~20 375~768*/; height: 8px; height: clamp(0.5rem, 0.381rem + 0.51vw, 0.625rem)/*8~10 375~768*/; background: url(/images/icn_readmore.svg) no-repeat; background-position: center; background-size: contain; transition: .2s;}
.list_faq .toggle_title.selected::after { transform: rotate(180deg); top: calc(50% - 4px);}
.list_faq dd { display: none; background: #fff; font-size: 12px; font-size: clamp(0.75rem, 0.034rem + 3.05vw, 1.5rem)/*12~24 375~768*/; font-weight: 500; line-height: calc(45/24); padding: 1em 2em; margin-bottom: 10px;}
@media screen and (min-width:768px) {
  .list_faq .toggle_title { width: 100%; cursor: pointer; margin: 0 0 16px; font-size: 14px; font-size: clamp(0.875rem, 0.125rem + 1.56vw, 1.125rem); line-height: calc(30/18);}
  .list_faq dd { font-size: 14px; font-size: clamp(0.875rem, 0.125rem + 1.56vw, 1.125rem); line-height: calc(30/18); margin-bottom: 16px;}
  .list_faq .toggle_title:hover { background: #ff7373; border: 1px solid #ff7373; color: #fff;}
}
@media screen and (min-width:1024px) {
  .list_faq .toggle_title { display: block;}
}

/* もっと知りたい方 */
.sec07_h2 { color: #fbf6bd;}
.sec07 .content_innerbox .text_lead { color: #fff; margin-bottom: 0 !important; width: 100%;}
.sec07 .content_innerbox { padding-bottom: 0 !important;}

/* 日本料金保証とは */
.sec08_text { font-size: 14px; font-size: clamp(0.875rem, 0.04rem + 3.56vw, 1.75rem); line-height: calc(60/28); margin: 0 auto;}
.readmore { position: relative; margin-bottom: 25px; margin-bottom: clamp(1.563rem, 0.072rem + 6.36vw, 3.125rem);}
.readmore + .readmore { margin-top: 40px;}
.readmore_trigger { width: calc(280/768*100%); min-width: 120px; padding: 9px 12px 11px; color: #fff; display: block; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); z-index: 2; font-size: 14px; font-size: clamp(0.875rem, 0.04rem + 3.56vw, 1.75rem); font-weight: 500; text-align: right; border-radius: 6px; transition: .3s; cursor: pointer;}
.readmore_trigger::before { position: absolute; top: 50%; transform: translateY(-50%); left: 12px; content: ""; width: 15px; width: clamp(0.938rem, 0.043rem + 3.82vw, 1.875rem); height: 8px; height: clamp(0.5rem, 0.023rem + 2.04vw, 1rem); background: url(/images/icn_readmore.svg) no-repeat; background-position: center; background-size: contain;}
.readmore_item { position: relative; overflow: hidden;}
.readmore_item.is-hide { height: 180px; height: clamp(11.25rem, 2.304rem + 38.17vw, 20.625rem)/*180~330px*/;/*隠した後の高さ*/}
.readmore_item p + p { margin-top: 1em;}
.readmore_item::before { display: block; position: absolute; bottom: 0; left: 0; content: ""; width: 100%; height: 80px; height: clamp(5rem, 0.229rem + 20.36vw, 10rem)/*80~160px*/; /*グラデーションで隠す高さ*/
  background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
  background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
}
.readmore_trigger.is-show + .readmore_item::before { display: none;}

.sec08 .flexbox { margin-bottom: 30px; margin-bottom: clamp(1.875rem, 0.217rem + 7.37vw, 3.75rem);}
.top_sec08_img img { display: block;}
.top_sec08_name { display: flex; justify-content: center; width: 100%; height: 100px; height: clamp(6.25rem, 0.286rem + 25.45vw, 12.5rem); position: relative;}
.page .content_innerbox .top_sec08_name > p { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: calc(310/660*100%); height: fit-content; font-size: 14px; font-size: clamp(0.875rem, -0.007rem + 3.92vw, 1.875rem); color: #fff; font-weight: 400; line-height: calc(46/30);}
.page .content_innerbox .top_sec08_name > p > span { font-weight: 500; font-size: 18px; font-size: clamp(1.125rem, 0.052rem + 4.58vw, 2.25rem);}
@media screen and (min-width:768px) {
  .sec08_text { font-size: 12px; font-size: clamp(0.75rem, 1.56vw, 1rem); line-height: calc(32/16);}
  .readmore_trigger { width: 160px; padding: 9px 12px 11px; font-size: 20px;}
  .readmore_trigger::before { width: 22px; height: 12px;}
  .readmore_item.is-hide { height: 180px;}
  .readmore_item::before { height: 60px;}
  .sec08 .flexbox { width: 100%; display: flex;}
    .top_sec08_img { width: calc(645/920*100%);}
    .top_sec08_name { width: calc(275/920*100%); height: inherit; display: block;}
  .page .content_innerbox .top_sec08_name > p { top: calc(240/400*100%); left: calc(36/275*100%); transform: none; width: 12em; font-size: 12px; font-size: clamp(0.75rem, 1.56vw, 1rem); line-height: calc(24/16);}
  .page .content_innerbox .top_sec08_name > p > span { font-size: 15px; font-size: clamp(0.938rem, 1.95vw, 1.25rem);} 
}

/* ******************** 下層ページ ******************** */

/* page-header */
.page_kv { width: 100%; padding-bottom: calc(205/768*100%); background: url(https://gas-ho.com/wp-content/themes/gas-ho/images/kv_page_sp.jpg) no-repeat; background-size: cover; background-position: center top; position: relative; z-index: -1;}
.page_title { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); color: #0191c9; font-size: 25px; font-size: clamp(1.563rem, 0.072rem + 6.36vw, 3.125rem); font-weight: 700; line-height: 1; letter-spacing: .1em; pointer-events: none; text-align: center; width: 80%;}
@media screen and (min-width:768px) {
  .page_kv { padding-bottom: inherit; height: 150px; background: url(https://gas-ho.com/wp-content/themes/gas-ho/images/kv_page_pc.jpg) no-repeat; background-position: center;}
  .page_title { font-size: 24px; font-size: clamp(1.5rem, -0.278rem + 2.78vw, 1.875rem)/*24~30 1024~1240*/; width: 100%;}
}

.page h2 { font-size: 16px; font-size: clamp(1rem, -0.106rem + 4.91vw, 2.25rem); font-weight: 700; text-align: center; line-height: calc(58/36); margin-bottom: 20px; margin-bottom: clamp(1.25rem, 0.057rem + 5.09vw, 2.5rem);}
@media screen and (min-width:768px) {
  .page h2 { font-size: 30px; margin-bottom: 40px;}
}

/* パンくず */
.section.page-header { position: relative;}
.breadcrumbs { display: block; width: calc(660/768*100%); position: absolute; top: 6px; left: 50%; transform: translateX(-50%); font-size: 10px; font-size: clamp(0.625rem, 0.029rem + 2.54vw, 1.25rem)/*10~20 375~768*/; color: #fff; pointer-events: auto; z-index: 2;}
@media screen and (min-width:768px) {
  .breadcrumbs { font-size: 12px;}
}
@media screen and (min-width:1180px) {
  .breadcrumbs { width: calc(1060/1180*100%); max-width: 1060px; margin: 10px auto;}
}
.breadcrumbs ol { width: 100%; overflow: hidden; white-space: nowrap;}
.breadcrumbs li { margin-right: 1em; position: relative; display: inline-block;}
.breadcrumbs li::after { content: ">"; padding-left: 1em; opacity: .7;}
.breadcrumbs li:last-child::after { display: none;}

/* ******************** 契約お申し込みフォーム ******************** */
/* page-header */
.application .page_kv { width: 100%; padding-bottom: calc(150/768*100%); background: url(/application/images/kv_formpage_sp.jpg) no-repeat; background-size: cover; background-position: center top; position: relative; z-index: -1;}
.application .page_title { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); color: #5a9753; font-size: 18px; font-size: clamp(1.125rem, -0.091rem + 5.41vw, 2.5rem); font-weight: 700; line-height: 1; letter-spacing: .1em; pointer-events: none; text-align: center; width: 80%;}
@media screen and (min-width:768px) {
  .application .page_kv { padding-bottom: inherit; height: 150px; background: url(/application/images/kv_formpage.jpg) no-repeat; background-position: center;}
  .application .page_title { font-size: 24px; font-size: clamp(1.5rem, -0.278rem + 2.78vw, 1.875rem)/*24~30 1024~1240*/; width: 100%;}
}
/* コンテンツ領域 */
.application .site-main .content_innerbox { width: calc(660/768*100%); margin: 0 auto; padding: 44px 0; padding: clamp(2.75rem, -0.014rem + 12.29vw, 5.875rem) 0;}
@media screen and (min-width:768px) {
  .application .site-main .content_innerbox { width: 660px; padding: 94px 0;}
}