/* Document
 * ========================================================================== */

/**
 * Add border box sizing in all browsers (opinionated).
 */

 *,
 ::before,
 ::after {
   box-sizing: border-box;
 }
 
 /**
  * 1. Add text decoration inheritance in all browsers (opinionated).
  * 2. Add vertical alignment inheritance in all browsers (opinionated).
  */
 
 ::before,
 ::after {
   text-decoration: inherit; /* 1 */
   vertical-align: inherit; /* 2 */
 }
 
 /**
  * 1. Use the default cursor in all browsers (opinionated).
  * 2. Change the line height in all browsers (opinionated).
  * 3. Use a 4-space tab width in all browsers (opinionated).
  * 4. Remove the grey highlight on links in iOS (opinionated).
  * 5. Prevent adjustments of font size after orientation changes in
  *    IE on Windows Phone and in iOS.
  * 6. Breaks words to prevent overflow in all browsers (opinionated).
  */
 
 html {
   cursor: default; /* 1 */
   line-height: 1.5; /* 2 */
   -moz-tab-size: 4; /* 3 */
   tab-size: 4; /* 3 */
   -webkit-tap-highlight-color: transparent /* 4 */;
   -ms-text-size-adjust: 100%; /* 5 */
   -webkit-text-size-adjust: 100%; /* 5 */
   word-break: break-word; /* 6 */
 }
 
 /* Sections
  * ========================================================================== */
 
 /**
  * Remove the margin in all browsers (opinionated).
  */
 
 body {
   margin: 0;
 }
 
 /**
  * Correct the font size and margin on `h1` elements within `section` and
  * `article` contexts in Chrome, Edge, Firefox, and Safari.
  */
 
 h1 {
   font-size: 2em;
   margin: 0.67em 0;
 }
 
 /* Grouping content
  * ========================================================================== */
 
 /**
  * Remove the margin on nested lists in Chrome, Edge, IE, and Safari.
  */
 
 dl dl,
 dl ol,
 dl ul,
 ol dl,
 ul dl {
   margin: 0;
 }
 
 /**
  * Remove the margin on nested lists in Edge 18- and IE.
  */
 
 ol ol,
 ol ul,
 ul ol,
 ul ul {
   margin: 0;
 }
 
 /**
  * 1. Add the correct sizing in Firefox.
  * 2. Show the overflow in Edge 18- and IE.
  */
 
 hr {
   height: 0; /* 1 */
   overflow: visible; /* 2 */
 }
 
 /**
  * Add the correct display in IE.
  */
 
 main {
   display: block;
 }
 
 /**
  * Remove the list style on navigation lists in all browsers (opinionated).
  */
 
 nav ol,
 nav ul {
   list-style: none;
   padding: 0;
 }
 
 /**
  * 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: 1em; /* 2 */
 }
 
 /* Text-level semantics
  * ========================================================================== */
 
 /**
  * Remove the gray background on active links in IE 10.
  */
 
 a {
   background-color: transparent;
 }
 
 /**
  * Add the correct text decoration in Edge 18-, IE, and Safari.
  */
 
 abbr[title] {
   text-decoration: underline;
   text-decoration: underline dotted;
 }
 
 /**
  * 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: 1em; /* 2 */
 }
 
 /**
  * Add the correct font size in all browsers.
  */
 
 small {
   font-size: 80%;
 }
 
 /* Embedded content
  * ========================================================================== */
 
 /*
  * Change the alignment on media elements in all browsers (opinionated).
  */
 
 audio,
 canvas,
 iframe,
 img,
 svg,
 video {
   vertical-align: middle;
 }
 
 /**
  * Add the correct display in IE 9-.
  */
 
 audio,
 video {
   display: inline-block;
 }
 
 /**
  * Add the correct display in iOS 4-7.
  */
 
 audio:not([controls]) {
   display: none;
   height: 0;
 }
 
 /**
  * Remove the border on iframes in all browsers (opinionated).
  */
 
 iframe {
   border-style: none;
 }
 
 /**
  * Remove the border on images within links in IE 10-.
  */
 
 img {
   border-style: none;
 }
 
 /**
  * Change the fill color to match the text color in all browsers (opinionated).
  */
 
 svg:not([fill]) {
   fill: currentColor;
 }
 
 /**
  * Hide the overflow in IE.
  */
 
 svg:not(:root) {
   overflow: hidden;
 }
 
 /* Tabular data
  * ========================================================================== */
 
 /**
  * Collapse border spacing in all browsers (opinionated).
  */
 
 table {
   border-collapse: collapse;
 }
 
 /* Forms
  * ========================================================================== */
 
 /**
  * Remove the margin on controls in Safari.
  */
 
 button,
 input,
 select {
   margin: 0;
 }
 
 /**
  * 1. Show the overflow in IE.
  * 2. Remove the inheritance of text transform in Edge 18-, Firefox, and IE.
  */
 
 button {
   overflow: visible; /* 1 */
   text-transform: none; /* 2 */
 }
 
 /**
  * Correct the inability to style buttons in iOS and Safari.
  */
 
 button,
 [type="button"],
 [type="reset"],
 [type="submit"] {
   -webkit-appearance: button;
 }
 
 /**
  * 1. Change the inconsistent appearance in all browsers (opinionated).
  * 2. Correct the padding in Firefox.
  */
 
 fieldset {
   border: 1px solid #a0a0a0; /* 1 */
   padding: 0.35em 0.75em 0.625em; /* 2 */
 }
 
 /**
  * Show the overflow in Edge 18- and IE.
  */
 
 input {
   overflow: visible;
 }
 
 /**
  * 1. Correct the text wrapping in Edge 18- and IE.
  * 2. Correct the color inheritance from `fieldset` elements in IE.
  */
 
 legend {
   color: inherit; /* 2 */
   display: table; /* 1 */
   max-width: 100%; /* 1 */
   white-space: normal; /* 1 */
 }
 
 /**
  * 1. Add the correct display in Edge 18- and IE.
  * 2. Add the correct vertical alignment in Chrome, Edge, and Firefox.
  */
 
 progress {
   display: inline-block; /* 1 */
   vertical-align: baseline; /* 2 */
 }
 
 /**
  * Remove the inheritance of text transform in Firefox.
  */
 
 select {
   text-transform: none;
 }
 
 /**
  * 1. Remove the margin in Firefox and Safari.
  * 2. Remove the default vertical scrollbar in IE.
  * 3. Change the resize direction in all browsers (opinionated).
  */
 
 textarea {
   margin: 0; /* 1 */
   overflow: auto; /* 2 */
   resize: vertical; /* 3 */
 }
 
 /**
  * Remove the padding in IE 10-.
  */
 
 [type="checkbox"],
 [type="radio"] {
   padding: 0;
 }
 
 /**
  * 1. Correct the odd appearance in Chrome, Edge, and Safari.
  * 2. Correct the outline style in Safari.
  */
 
 [type="search"] {
   -webkit-appearance: textfield; /* 1 */
   outline-offset: -2px; /* 2 */
 }
 
 /**
  * Correct the cursor style of increment and decrement buttons in Safari.
  */
 
 ::-webkit-inner-spin-button,
 ::-webkit-outer-spin-button {
   height: auto;
 }
 
 /**
  * Correct the text style of placeholders in Chrome, Edge, and Safari.
  */
 
 ::-webkit-input-placeholder {
   color: inherit;
   opacity: 0.54;
 }
 
 /**
  * Remove the inner padding in Chrome, Edge, and Safari on macOS.
  */
 
 ::-webkit-search-decoration {
   -webkit-appearance: none;
 }
 
 /**
  * 1. Correct the inability to style upload buttons in iOS and Safari.
  * 2. Change font properties to `inherit` in Safari.
  */
 
 ::-webkit-file-upload-button {
   -webkit-appearance: button; /* 1 */
   font: inherit; /* 2 */
 }
 
 /**
  * Remove the inner border and padding of focus outlines in Firefox.
  */
 
 ::-moz-focus-inner {
   border-style: none;
   padding: 0;
 }
 
 /**
  * Restore the focus outline styles unset by the previous rule in Firefox.
  */
 
 :-moz-focusring {
   outline: 1px dotted ButtonText;
 }
 
 /**
  * Remove the additional :invalid styles in Firefox.
  */
 
 :-moz-ui-invalid {
   box-shadow: none;
 }
 
 /* Interactive
  * ========================================================================== */
 
 /*
  * Add the correct display in Edge 18- and IE.
  */
 
 details {
   display: block;
 }
 
 /*
  * Add the correct styles in Edge 18-, IE, and Safari.
  */
 
 dialog {
   background-color: white;
   border: solid;
   color: black;
   display: block;
   height: -moz-fit-content;
   height: -webkit-fit-content;
   height: fit-content;
   left: 0;
   margin: auto;
   padding: 1em;
   position: absolute;
   right: 0;
   width: -moz-fit-content;
   width: -webkit-fit-content;
   width: fit-content;
 }
 
 dialog:not([open]) {
   display: none;
 }
 
 /*
  * Add the correct display in all browsers.
  */
 
 summary {
   display: list-item;
 }
 
 /* Scripting
  * ========================================================================== */
 
 /**
  * Add the correct display in IE 9-.
  */
 
 canvas {
   display: inline-block;
 }
 
 /**
  * Add the correct display in IE.
  */
 
 template {
   display: none;
 }
 
 /* User interaction
  * ========================================================================== */
 
 /*
  * 1. Remove the tapping delay in IE 10.
  * 2. Remove the tapping delay on clickable elements
       in all browsers (opinionated).
  */
 
 a,
 area,
 button,
 input,
 label,
 select,
 summary,
 textarea,
 [tabindex] {
   -ms-touch-action: manipulation; /* 1 */
   touch-action: manipulation; /* 2 */
 }
 
 /**
  * Add the correct display in IE 10-.
  */
 
 [hidden] {
   display: none;
 }
 
 /* Accessibility
  * ========================================================================== */
 
 /**
  * Change the cursor on busy elements in all browsers (opinionated).
  */
 
 [aria-busy="true"] {
   cursor: progress;
 }
 
 /*
  * Change the cursor on control elements in all browsers (opinionated).
  */
 
 [aria-controls] {
   cursor: pointer;
 }
 
 /*
  * Change the cursor on disabled, not-editable, or otherwise
  * inoperable elements in all browsers (opinionated).
  */
 
 [aria-disabled="true"],
 [disabled] {
   cursor: not-allowed;
 }
 
 /*
  * Change the display on visually hidden accessible elements
  * in all browsers (opinionated).
  */
 
 [aria-hidden="false"][hidden] {
   display: initial;
 }
 
 [aria-hidden="false"][hidden]:not(:focus) {
   clip: rect(0, 0, 0, 0);
   position: absolute;
 }
 
 /* CSS Document */
 /*-------------------------------------------------------------------------------------
 PC用レイアウト（768px以上スクリーン）
 ----------------------------------------------------------------------------------------*/
 /*--------------------------------------------------
 共通設定(PC)
 -----------------------------------------------------*/
 
 body {
   font-size: 62.5%;
   font-family: "Noto Sans JP", sans-serif;
   font-weight: 600;
   color: #333;
 }
 
 a {
   text-decoration: underline;
 }
 a:link,
 a:visited {
   color: #39f;
 }
 a:hover,
 a:active {
   color: #f60;
 }
 
 p {
   margin: 0 !important;
   padding: 0 !important;
 }
 
 section {
   clear: both;
   overflow: auto;
 }
 
 a:focus-visible,
 input:focus-visible,
 textarea:focus-visible {
   outline: none;
 }
 
 /*--------------------------------------------------
 全体レイアウト／背景設定（PC）
 -----------------------------------------------------*/
 
 body {
   background-image: url(https://powerconditioner.zoholandingpage.com/power/lp/pc_bg.jpg);
   background-size: cover;
   background-repeat: no-repeat;
   background-attachment: fixed;
 }
 
 main {
   /*! display: flex; */
 }
 
 .article {
   background-color: #fff;
   font-size: 2em; /*=20px*/
   font-feature-settings: "palt";
   text-align: justify;
 }
 
 .article p {
   line-height: 1.6;
 }
 
 .article,
 .top_image_in {
   width: 750px;
   margin-left: calc((100% - 750px - 480px) / 2);
   position: relative;
 }
 
 /*--------------------------------------------------
 ヘッダーの設定
 -----------------------------------------------------*/
 .header {
   position: fixed;
   top: 0;
   left: 0;
   width: 750px;
   margin: 0 auto;
   margin-left: calc((100% - 750px - 480px) / 2);
   padding: 1em;
   right: 0;
   z-index: 1000;
   display: flex;
   justify-content: space-between;
   align-items: center;
   background-color: #fff;
 }
 
 .header_logo {
   width: 24%;
 }
 
 .header_cta {
   width: 30%;
 }
 
 /*--------------------------------------------------
 FVエリアの設定
 -----------------------------------------------------*/
 .fv {
   position: relative;
   margin-top: 4.3em;
 }
 
 /*--------------------------------------------------
 ctaボタンの設定
 -----------------------------------------------------*/
 
 .cta_btn_container {
   position: relative;
   width: 100%;
   margin: 0 auto;
   background-color: #14356b;
 }
 
 .cta_btn {
   cursor: pointer;
 }
 
 .cta_btn:hover {
   transform: scale(1.03, 1.03);
   -webkit-transition: all 0.3s;
   transition: all 0.3s;
   cursor: pointer;
 }
 
 .cta_btn {
   padding: 2em;
 }
 
 /*--------------------------------------------------
 お悩みエリア
 -----------------------------------------------------*/
 
 .problem {
   position: relative;
 }
 
 .problem_title {
   position: absolute;
   top: 4em;
   left: 50%;
   transform: translateX(-50%);
   z-index: 2;
   width: 70%;
 }
 
 .fukidashi1 {
   position: absolute;
   top: 10em;
   left: 35%;
   transform: translateX(-50%);
   width: 62%;
 }
 
 .fukidashi2 {
   position: absolute;
   top: 20em;
   left: 65%;
   transform: translateX(-50%);
   width: 62%;
 }
 
 .problem_text1,
 .problem_text2 {
   position: absolute;
   top: -1em;
   left: 0;
   display: flex;
   justify-content: center;
   align-items: center;
   text-align: center;
   width: 100%;
   height: 100%;
   padding: 0.5em 1em;
 }
 
 .problem_text1 p,
 .problem_text2 p {
   font-size: 1.2em;
   line-height: 1.4;
   margin: 0;
 }
 
 .problem_text1 .bluetext,
 .problem_text2 .bluetext {
   font-weight: 900;
   color: #2976da;
 }
 
 .problem_img {
   position: absolute;
   top: 32em;
   left: 50%;
   transform: translateX(-50%);
   width: 78%;
 }
 
 /*--------------------------------------------------
 解決エリア
 -----------------------------------------------------*/
 
 .solution {
   position: relative;
 }
 
 .solution_title1 {
   position: absolute;
   top: 1em;
   left: 50%;
   transform: translateX(-50%);
   display: flex;
   align-items: center;
   justify-content: center;
   width: 9em;
   height: 1.5em;
   font-size: 2.2em;
   font-weight: 900;
   color: #fff;
   background-color: #14356b;
   box-shadow: 10px 10px 0px 0px #b71c25;
 }
 
 .solution_title2 {
   position: absolute;
   top: 3em;
   left: 50%;
   transform: translateX(-50%);
   display: flex;
   align-items: center;
   justify-content: center;
   width: 14em;
   height: 1.5em;
   font-size: 2.2em;
   font-weight: 900;
   color: #fff;
   background-color: #14356b;
   box-shadow: 10px 10px 0px 0px #b71c25;
 }
 
 .solution_text {
   position: absolute;
   bottom: 2.5em;
   left: 50%;
   transform: translateX(-50%);
   width: 90%;
   padding: 2em;
   font-size: 1.12em;
   background: #fff;
   box-shadow: 10px 10px 0px 0px #14356b;
 }
 
 /*--------------------------------------------------
 実績エリア
 -----------------------------------------------------*/
 
 .achievements {
   width: 100%;
   margin: 0 auto;
   background-color: #d4e4f8;
 }
 
 .achievements_headline_en {
   font-family: "Montserrat", sans-serif;
   font-size: 2em;
   text-align: center;
   padding-top: 1.5em;
   color: #a1aec4;
 }
 
 .achievements_headline {
   font-size: 2em;
   font-weight: 900;
   text-align: center;
   white-space: nowrap;
   margin: 0 auto;
   color: #14356b;
 }
 
 .achievements_imgcontainer {
   display: flex;
   justify-content: center;
   gap: 2em;
   flex-wrap: wrap;
   padding: 2em 0 4em 0;
 }
 
 .achievements_imgcontainer img {
   width: 300px;
   max-width: 100%;
   height: auto;
   display: block;
 }
 
 /*--------------------------------------------------
 特徴エリア
 -----------------------------------------------------*/
 
 .point {
   width: 100%;
   margin: 0 auto;
   background-color: #d4e4f8;
 }
 
 .point_headline_en {
   font-family: "Montserrat", sans-serif;
   font-size: 2em;
   text-align: center;
   padding-top: 1.5em;
   color: #a1aec4;
 }
 
 .point_headline {
   font-size: 2em;
   font-weight: 900;
   text-align: center;
   white-space: nowrap;
   margin: 0 auto;
   color: #14356b;
 }
 
 .point_container {
   margin: 4em 4em 5em 4em;
   padding: 1.8em;
   border-radius: 0.5em;
   position: relative;
   background: #fff;
   box-shadow: 10px 10px 0px 0px #14356b;
 }
 
 .point_icon {
   position: absolute;
   top: -5%;
   left: -8%;
   width: 120px;
   height: 120px;
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   text-align: center;
   border-radius: 50%;
   font-family: "Montserrat", sans-serif;
   font-weight: bold;
   color: #fff;
   background-color: #14356b;
 }
 
 .point_icon_number {
   font-size: 3em;
   line-height: 1;
 }
 
 .point_head {
   margin: 1em 1em 1em 2.5em;
 }
 
 .point_headtitle {
   font-size: 1.8em;
   font-weight: 900;
   line-height: 1.2;
   text-align: center;
   white-space: nowrap;
   color: #14356b;
 }
 
 /**--------------------------------------------------
 申込みの流れエリア
 -----------------------------------------------------*/
 
 .flow {
   position: relative;
   background-image: url(https://powerconditioner.zoholandingpage.com/power/lp/flow_bg.webp);
   background-size: cover;
   background-position: center;
   background-repeat: no-repeat;
   padding: 3em 0;
   margin: 0 auto;
   min-height: 1200px;
   width: 100%;
   overflow: visible;
   box-sizing: border-box;
 }
 
 .flow_headline_en {
   position: relative;
   top: -1.5em;
   left: 50%;
   transform: translateX(-50%);
   font-family: "Montserrat", sans-serif;
   font-size: 2em;
   text-align: center;
   padding-top: 1.5em;
   color: #a1aec4;
 }
 
 .flow_headline {
   position: relative;
   top: -1.5em;
   left: 50%;
   transform: translateX(-50%);
   font-size: 2em;
   font-weight: 900;
   text-align: center;
   white-space: nowrap;
   margin: 0 auto;
   color: #14356b;
 }
 
 .flow_subtext {
   position: relative;
   top: -1.5em;
   left: 50%;
   width: 72%;
   transform: translateX(-50%);
   text-align: center;
 }
 
 .flow_wrapper {
   position: relative;
   top: 2em;
   left: 50%;
   width: 90%;
   transform: translateX(-50%);
 }
 
 .flow_line {
   position: absolute;
   left: 2em;
   top: 2em;
   width: 6px;
   height: 85%;
   z-index: 0;
   background-color: #14356b;
 }
 
 .flow_step {
   position: relative;
   display: flex;
   margin-bottom: 3.8em;
 }
 
 .flow_circle {
   position: relative;
   z-index: 2;
   min-width: 90px;
   height: 90px;
   font-weight: bold;
   font-size: 2em;
   font-family: "Montserrat";
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   background-color: #14356b;
   color: white;
 }
 
 .flow_box {
   display: flex;
   align-items: center;
   flex: 1;
   border-radius: 10px;
   padding: 1.5em;
   background: white;
   box-shadow: 6px 6px 0px #14356b;
 }
 
 .flow_icon {
   margin-right: 0.5em;
 }
 
 .flow_text h3 {
   font-size: 1.4em;
   font-weight: bold;
   margin: 0 0 0.2em 0;
   color: #14356b;
 }
 
 /*--------------------------------------------------
 お客様の声エリア
 -----------------------------------------------------*/
 
 .voice {
   width: 100%;
   margin: 0 auto;
   background-color: #d4e4f8;
 }
 
 .voice_headline_en {
   font-family: "Montserrat", sans-serif;
   font-size: 2em;
   text-align: center;
   padding-top: 1.5em;
   color: #a1aec4;
 }
 
 .voice_headline {
   font-size: 2em;
   font-weight: 900;
   text-align: center;
   white-space: nowrap;
   margin: 0 auto;
   color: #14356b;
 }
 
 .voice_container {
   position: relative;
   border-radius: 0.5em;
   text-align: center;
   margin: 4em 5em 5em 5em;
   padding: 2em;
   background: #fff;
   box-shadow: 10px 10px 0px 0px #14356b;
 }
 
 .voice_container p {
   text-align: left;
   text-align: justify;
 }
 
 .voice_head {
   margin: 1em 0 1.5em 0;
 }
 
 .voice_headtitle {
   font-size: 1.4em;
   font-weight: 900;
   line-height: 1.2;
   text-align: center;
   color: #14356b;
 }
 
 .voice_line {
   position: absolute;
   width: 60px;
   height: 6px;
   left: 50%;
   transform: translateX(-50%);
   background-color: #14356b;
 }
 
 .voice01_text,
 .voice02_text {
   margin-top: 3.2em;
 }
 
 /*--------------------------------------------------
 よくある質問エリア
 -----------------------------------------------------*/
 
 .faq_section {
   padding: 3em 0;
 }
 
 .faq_container {
   margin: 1em 1em 2em 1em;
 }
 
 .faq_headline_en {
   font-family: "Montserrat", sans-serif;
   font-size: 2em;
   text-align: center;
   color: #a1aec4;
 }
 
 .faq_headline {
   font-size: 2em;
   font-weight: 900;
   text-align: center;
   white-space: nowrap;
   margin: 0 0 1.5em 0;
   color: #14356b;
 }
 
 /*--------------------------------------------------
 アコーディオン（よくある質問）
 -----------------------------------------------------*/
 
 .accordion-header {
   position: relative;
   display: flex;
   gap: 0.5em;
   align-items: center;
   font-size: 1.1em;
   font-weight: bold;
   cursor: pointer;
   transition: background-color 0.3s ease;
   padding: 0.8em;
   color: #fff;
   background-color: #14356b;
 }
 
 .accordion-header::before,
 .accordion-header::after {
   position: absolute;
   content: "";
   top: 0.2em;
   right: 1em;
   bottom: 0;
   width: 1em;
   height: 0.14em;
   margin: auto;
   background: #fff;
 }
 
 .accordion-header::after {
   transform: rotate(-90deg);
   transition: transform 0.3s;
 }
 
 .accordion-header.active::after {
   transform: rotate(0deg);
 }
 
 .accordion-content {
   padding: 12px 20px 10px;
 }
 
 .accordion-content {
   display: none;
 }
 
 /*--------------------------------------------------
 お問い合わせフォーム
 -----------------------------------------------------*/
 .contact_section {
   padding: 3em 0;
   background-color: #eee;
 }
 
 .contact_headline_en {
   font-family: "Montserrat", sans-serif;
   font-size: 2em;
   text-align: center;
   color: #a1aec4;
 }
 
 .contact_headline {
   font-size: 2em;
   font-weight: 900;
   text-align: center;
   white-space: nowrap;
   margin: 0;
   color: #14356b;
 }
 
 .contact_section form dl {
   padding: 24px 24px 0;
 }
 .contact_section form dl dt {
   display: flex;
   align-items: center;
   gap: 8px;
   margin-bottom: 8px;
 }
 .contact_section form dl dt .title {
   font-size: 1em;
 }
 .contact_section form dl dt .required {
   background-color: #333;
   color: #fff;
   font-weight: normal;
   font-size: 0.8em;
   padding: 0px 6px 1px;
 }
 .contact_section form dl dd {
   margin: 0;
   margin-bottom: 32px;
   padding: 0;
 }
 .contact_section form dl dd input,
 .contact_section form dl dd textarea {
   border: none;
   width: 100%;
   padding: 12px;
   font-size: 1em;
   border: 1px solid #fff;
 }
 .contact_section form dl dd textarea {
   height: 10em;
 }
 .contact_section form dl dd input:focus,
 .contact_section form dl dd textarea:focus{
   border: 1px solid #333;
 }
 .contact_section form dl dd.name {
   display: flex;
   gap: 8px;
 }
 .contact_section .note {
   padding: 0 24px!important;
   font-size: 0.7em;
   color: #aaa;
 }
 .contact_section form > input[type='submit'] {
   background-color: #c19246;
   border: none;
   color: #fff;
   font-weight: bold;
   font-size: 1.1em;
   margin: 40px auto 0 auto;
   display: block;
   width: 60%;
   min-width: 300px;
   padding: 0.8em 0;
   border-radius: 100px;
   cursor: pointer;
 }
 .contact_section form > input:hover {
   opacity: 0.9;
 }
 
 
 /*--------------------------------------------------
 会社情報
 -----------------------------------------------------*/
 
 .company {
   text-align: center;
   margin-top: 3em;
 }
 
 .company_container {
   padding: 1.5em 1.5em 2.5em 1.5em;
 }
 
 .company_text2 {
   font-size: 1.3em;
   font-weight: bold;
 }
 
 .company_text3 {
   font-size: 0.9em;
   text-align: left;
 }
 
 /*--------------------------------------------------
 フッター部分
 -----------------------------------------------------*/
 .footer {
   font-size: 1.5em;
   text-align: center;
   padding: 2em 0em;
   color: #fff;
   background-color: #14356b;
   width: calc(100% - 480px);
 }

@media only screen and (max-width:1230px) {
  .footer {
    width: 100%;
  }
}

 .footer a {
   color: #fff;
 }
 
 /* CSS Document */
 
 @media only screen and (max-width: 768px) {
   /*-------------------------------------------------------------------------------------
 スマホ用レイアウト（768px以下スクリーン）
 ----------------------------------------------------------------------------------------*/
 
   /*--------------------------------------------------
 共通設定(スマホ)
 -----------------------------------------------------*/
 
   /*body全体の初期スタイル調整*/
   body {
     width: 100%;
     -webkit-text-size-adjust: 100%;
     -ms-text-size-adjust: 100%;
   }
 
   /*--------------------------------------------------
 全体レイアウト／背景設定（スマホ）
 -----------------------------------------------------*/
   .main {
     background-color: #f2f2f2;
   }
 
   .article {
     background-color: #fff;
     border-left: none;
     border-right: none;
     font-size: 1.6em; /*=16px*/
     font-feature-settings: "palt";
     text-align: justify;
   }
 
   .article p {
     line-height: 1.6;
   }
 
   .article,
   .top_image_in {
     width: 100%;
     margin: 0 auto;
   }
 
   /*--------------------------------------------------
 ヘッダーの設定
 -----------------------------------------------------*/
   .header {
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     margin: 0 auto;
     padding: 0.8em;
     right: 0;
     z-index: 1000;
     display: flex;
     justify-content: space-between;
     align-items: center;
     background-color: #fff;
   }
 
   .header_logo {
     width: 24%;
   }
 
   .header_cta {
     width: 36%;
   }
 
   /*--------------------------------------------------
 FVエリアの設定
 -----------------------------------------------------*/
   .fv {
     background-image: none;
     position: relative;
     margin-top: 3.3em;
   }
   .fv img {
     width: 100%;
   }
   /*--------------------------------------------------
 ctaボタンの設定
 -----------------------------------------------------*/
 
   .cta_btn {
     bottom: 0;
     cursor: pointer;
   }
 
   .cta_btn {
     padding: 1.5em;
   }
 
   /*--------------------------------------------------
 お悩みエリア
 -----------------------------------------------------*/
 
   .problem_title {
     position: absolute;
     top: 2.5em;
     left: 50%;
     transform: translateX(-50%);
     z-index: 2;
     width: 70%;
   }
 
   .fukidashi1 {
     position: absolute;
     top: 6.5em;
     left: 35%;
     transform: translateX(-50%);
     width: 62%;
   }
 
   .fukidashi2 {
     position: absolute;
     top: 13em;
     left: 65%;
     transform: translateX(-50%);
     width: 62%;
   }
 
   .problem_text1,
   .problem_text2 {
     position: absolute;
     top: -0.8em;
     left: 0;
     display: flex;
     justify-content: center;
     align-items: center;
     text-align: center;
     width: 100%;
     height: 100%;
     padding: 0.5em 1em;
   }
 
   .problem_text1 p,
   .problem_text2 p {
     font-size: 0.8em;
     line-height: 1.4;
     margin: 0;
   }
 
   .problem_img {
     position: absolute;
     top: 20em;
     left: 50%;
     transform: translateX(-50%);
     width: 75%;
   }
 
   /*--------------------------------------------------
 解決エリア
 -----------------------------------------------------*/
   .solution {
     position: relative;
   }
 
   .solution_title1 {
     position: absolute;
     top: 0.8em;
     left: 50%;
     transform: translateX(-50%);
     display: flex;
     align-items: center;
     justify-content: center;
     width: 9em;
     height: 1.5em;
     font-size: 1.5em;
     font-weight: 900;
     color: #fff;
     background-color: #14356b;
     box-shadow: 6px 6px 0px 0px #b71c25;
   }
 
   .solution_title2 {
     position: absolute;
     top: 2.7em;
     left: 50%;
     transform: translateX(-50%);
     display: flex;
     align-items: center;
     justify-content: center;
     width: 14em;
     height: 1.6em;
     font-size: 1.5em;
     font-weight: 900;
     color: #fff;
     background-color: #14356b;
     box-shadow: 6px 6px 0px 0px #b71c25;
   }
 
   .solution_text {
     position: absolute;
     bottom: 1.6em;
     left: 50%;
     transform: translateX(-50%);
     width: 90%;
     padding: 1.3em;
     font-size: 0.8em;
     background: #fff;
     box-shadow: 6px 6px 0px 0px #14356b;
   }
 
   /*--------------------------------------------------
 実績エリア
 -----------------------------------------------------*/
 
   .achievements {
     width: 100%;
     margin: 0 auto;
     background-color: #d4e4f8;
   }
 
   .achievements_headline_en {
     font-family: "Montserrat", sans-serif;
     font-size: 1.25em;
     text-align: center;
     padding-top: 1.5em;
     color: #a1aec4;
   }
 
   .achievements_headline {
     font-size: 1.65em;
     font-weight: 900;
     text-align: center;
     white-space: nowrap;
     margin: 0 auto;
     color: #14356b;
   }
 
   .achievements_imgcontainer {
     display: flex;
     justify-content: center;
     gap: 1.5em;
     flex-wrap: wrap;
     padding: 1.5em 0 2em 0;
   }
 
   .achievements_imgcontainer img {
     width: 65%;
     max-width: 100%;
     height: auto;
     display: block;
   }
 
   /*--------------------------------------------------
 特徴エリア
 -----------------------------------------------------*/
 
   .point_headline_en {
     font-family: "Montserrat", sans-serif;
     font-size: 1.25em;
     text-align: center;
     padding-top: 1.5em;
     color: #a1aec4;
   }
 
   .point_headline {
     font-size: 1.65em;
     font-weight: 900;
     text-align: center;
     white-space: nowrap;
     margin: 0 auto;
     color: #14356b;
   }
 
   .point_container {
     margin: 4em 2em 4.5em 2em;
     padding: 1.3em;
     border-radius: 0.5em;
     position: relative;
     background: #fff;
     box-shadow: 6px 6px 0px 0px #14356b;
   }
 
   .point_icon {
     position: absolute;
     top: -11%;
     left: -8%;
     width: 85px;
     height: 85px;
     display: flex;
     flex-direction: column;
     justify-content: center;
     align-items: center;
     text-align: center;
     border-radius: 50%;
     font-family: "Montserrat", sans-serif;
     font-weight: bold;
     color: #fff;
     background-color: #14356b;
   }
 
   .point_icon_number {
     font-size: 2.5em;
     line-height: 0.8;
   }
 
   .point_head {
     margin: 1.5em 2em 1em 0em;
   }
 
   .point_headtitle {
     font-size: 1.4em;
     font-weight: 900;
     line-height: 1.2;
     text-align: center;
     white-space: nowrap;
     color: #14356b;
   }
 
   /**--------------------------------------------------
 申込みの流れエリア
 -----------------------------------------------------*/
 
   .flow {
     background-size: cover;
     background-position: center;
     padding: 2em 0;
     min-height: 1060px;
   }
 
   .flow_headline_en {
     left: 50%;
     transform: translateX(-50%);
     font-family: "Montserrat", sans-serif;
     font-size: 1.25em;
     text-align: center;
     padding-top: 1.5em;
     color: #a1aec4;
   }
 
   .flow_headline {
     top: -1em;
     left: 50%;
     transform: translateX(-50%);
     font-size: 1.65em;
     font-weight: 900;
     text-align: center;
     white-space: nowrap;
     margin: 0 auto;
     color: #14356b;
   }
 
   .flow_subtext {
     top: -0.5em;
     left: 50%;
     width: 88%;
     transform: translateX(-50%);
     text-align: center;
   }
 
   .flow_wrapper {
     top: 2em;
     left: 50%;
     width: 90%;
     transform: translateX(-50%);
   }
 
   .flow_line {
     left: 2em;
     top: 2em;
     width: 6px;
     height: 75%;
     z-index: 0;
     background-color: #14356b;
   }
 
   .flow_step {
     position: relative;
     display: flex;
     margin-bottom: 2em;
   }
 
   .flow_circle {
     position: relative;
     z-index: 2;
     min-width: 70px;
     height: 70px;
     font-weight: bold;
     font-size: 2em;
     font-family: "Montserrat";
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     background-color: #14356b;
     color: white;
   }
 
   .flow_box {
     display: flex;
     align-items: center;
     flex: 1;
     border-radius: 10px;
     padding: 1.2em;
     background: white;
     box-shadow: 6px 6px 0px #14356b;
   }
 
   .flow_icon {
     margin-right: 0.5em;
   }
 
   .flow_icon img {
     width: 80px;
   }
 
   .flow_text h3 {
     font-size: 1.2em;
     font-weight: bold;
     margin: 0 0 0.2em 0;
     color: #14356b;
   }
 
   /*--------------------------------------------------
 お客様の声エリア
 -----------------------------------------------------*/
 
   .voice {
     width: 100%;
     margin: 0 auto;
     background-color: #d4e4f8;
   }
 
   .voice_headline_en {
     font-family: "Montserrat", sans-serif;
     font-size: 1.25em;
     text-align: center;
     padding-top: 1.5em;
     color: #a1aec4;
   }
 
   .voice_headline {
     font-size: 1.65em;
     font-weight: 900;
     text-align: center;
     white-space: nowrap;
     margin: 0 auto;
     color: #14356b;
   }
 
   .voice_container {
     position: relative;
     border-radius: 0.5em;
     text-align: center;
     margin: 2em 1em 3em 1em;
     padding: 1em;
     background: #fff;
     box-shadow: 6px 6px 0px 0px #14356b;
   }
 
   .voice_container p {
     text-align: left;
     text-align: justify;
     margin-top: 20px;
   }
 
   .voice_head {
     margin: 1em 0 1em 0;
   }
 
   .voice_headtitle {
     font-size: 1.2em;
     font-weight: 900;
     line-height: 1.2;
     text-align: center;
     color: #14356b;
   }
 
   .voice_line {
     position: absolute;
     width: 45px;
     height: 5px;
     left: 50%;
     transform: translateX(-50%);
     background-color: #14356b;
   }
 
   .voice01_text,
   .voice02_text {
     margin-top: 2.3em;
   }
 
   /*--------------------------------------------------
 よくある質問エリア
 -----------------------------------------------------*/
 
   .faq_section {
     padding: 3em 0;
   }
 
   .faq_container {
     margin: 1em 0.6em 2em 0.6em;
   }
 
   .faq_container p {
     font-size: 1em;
   }
 
   .faq_headline_en {
     font-family: "Montserrat", sans-serif;
     font-size: 1.25em;
     text-align: center;
     color: #a1aec4;
   }
 
   .faq_headline {
     font-size: 1.65em;
     font-weight: 900;
     text-align: center;
     white-space: nowrap;
     margin: 0 0 1em 0;
     color: #14356b;
   }
 
   /*--------------------------------------------------
 アコーディオン（よくある質問）
 -----------------------------------------------------*/
 
   .accordion-header {
     position: relative;
     display: flex;
     gap: 0.5em;
     align-items: center;
     font-size: 1em;
     font-weight: bold;
     cursor: pointer;
     transition: background-color 0.3s ease;
     padding: 1em 0.5em 1em 0.5em;
     color: #fff;
     background-color: #14356b;
   }
 
   .accordion-header::before,
   .accordion-header::after {
     position: absolute;
     content: "";
     top: 0.2em;
     right: 0.8em;
     bottom: 0;
     width: 0.8em;
     height: 0.14em;
     margin: auto;
     background: #fff;
   }
 
   .accordion-header::after {
     transform: rotate(-90deg);
     transition: transform 0.3s;
   }
 
   .accordion-header.active::after {
     transform: rotate(0deg);
   }
 
   .faq_q {
     width: 1.5em;
   }
 
   .faq_q_text {
     margin-right: 2em;
   }
 
   .accordion-content {
     padding: 12px 20px 10px;
   }
 
   .accordion-content {
     display: none;
   }
 
   /*--------------------------------------------------
 会社情報
 -----------------------------------------------------*/
 
   .company {
     text-align: center;
     margin-top: 3em;
   }
 
   .company_container {
     padding: 1em 0.8em 1.5em 0.8em;
   }
 
   .company_text2 {
     font-size: 1.2em;
     font-weight: bold;
   }
 
   .company_text3 {
     font-size: 0.8em;
     text-align: left;
   }
 
   /*--------------------------------------------------
 フッター部分
 -----------------------------------------------------*/
   .footer {
     font-size: 1.2em;
     text-align: center;
     padding: 2em 0em;
     color: #fff;
     background-color: #14356b;
   }
 
   .footer a {
     color: #fff;
   }
 }
 
 /*------------------------------------------------------------
 hover・・・ボタンホバー効果
 -------------------------------------------------------------*/
 .btn:hover {
   opacity: 0.7;
 }
 /*------------------------------------------------------------
 clear・・・クリアフィックス解除
 -------------------------------------------------------------*/
 .clearfix {
   clear: both;
 }
 /*------------------------------------------------------------
 align・・・文字の横位置
 -------------------------------------------------------------*/
 .al-c {
   text-align: center;
 } /*中央寄せ*/
 .al-r {
   text-align: right;
 } /*右寄せ*/
 .al-l {
   text-align: left;
 } /*左寄せ*/
 /*------------------------------------------------------------
 margin・・・周りのブロックからの距離
 -------------------------------------------------------------*/
 
 .m0 {
   margin: 0 !important;
 } /*周りからのmarginを0に*/
 .m0-t {
   margin-top: 0 !important;
 } /*上からのmarginを0に*/
 .m0-r {
   margin-right: 0 !important;
 } /*右からのmarginを0に*/
 .m0-b {
   margin-bottom: 0 !important;
 } /*下からのmarginを0に*/
 .m0-l {
   margin-left: 0 !important;
 } /*左からのmarginを0に*/
 .m5 {
   margin: 5px !important;
 }
 .m5-t {
   margin-top: 5px !important;
 }
 .m5-r {
   margin-right: 5px !important;
 }
 .m5-b {
   margin-bottom: 5px !important;
 }
 .m5-l {
   margin-left: 5px !important;
 }
 .m10 {
   margin: 10px !important;
 }
 .m10-t {
   margin-top: 10px !important;
 }
 .m10-r {
   margin-right: 10px !important;
 }
 .m10-b {
   margin-bottom: 10px !important;
 }
 .m10-l {
   margin-left: 10px !important;
 }
 .m15 {
   margin: 15px !important;
 }
 .m15-t {
   margin-top: 15px !important;
 }
 .m15-r {
   margin-right: 15px !important;
 }
 .m15-b {
   margin-bottom: 15px !important;
 }
 .m15-l {
   margin-left: 15px !important;
 }
 .m20 {
   margin: 20px !important;
 }
 .m20-t {
   margin-top: 20px !important;
 }
 .m20-r {
   margin-right: 20px !important;
 }
 .m20-b {
   margin-bottom: 20px !important;
 }
 .m20-l {
   margin-left: 20px !important;
 }
 .m25 {
   margin: 25px !important;
 }
 .m25-t {
   margin-top: 25px !important;
 }
 .m25-r {
   margin-right: 25px !important;
 }
 .m25-b {
   margin-bottom: 25px !important;
 }
 .m25-l {
   margin-left: 25px !important;
 }
 .m30 {
   margin: 30px !important;
 }
 .m30-t {
   margin-top: 30px !important;
 }
 .m30-r {
   margin-right: 30px !important;
 }
 .m30-b {
   margin-bottom: 30px !important;
 }
 .m30-l {
   margin-left: 30px !important;
 }
 .m40 {
   margin: 40px !important;
 }
 .m40-t {
   margin-top: 40px !important;
 }
 .m40-r {
   margin-right: 40px !important;
 }
 .m40-b {
   margin-bottom: 40px !important;
 }
 .m40-l {
   margin-left: 40px !important;
 }
 .m50 {
   margin: 50px !important;
 }
 .m50-t {
   margin-top: 50px !important;
 }
 .m50-r {
   margin-right: 50px !important;
 }
 .m50-b {
   margin-bottom: 50px !important;
 }
 .m50-l {
   margin-left: 50px !important;
 }
 .m60 {
   margin: 60px !important;
 }
 .m60-t {
   margin-top: 60px !important;
 }
 .m60-r {
   margin-right: 60px !important;
 }
 .m60-b {
   margin-bottom: 60px !important;
 }
 .m60-l {
   margin-left: 60px !important;
 }
 .m70 {
   margin: 70px !important;
 }
 .m70-t {
   margin-top: 70px !important;
 }
 .m70-r {
   margin-right: 70px !important;
 }
 .m70-b {
   margin-bottom: 70px !important;
 }
 .m70-l {
   margin-left: 70px !important;
 }
 .m80 {
   margin: 80px !important;
 }
 .m80-t {
   margin-top: 80px !important;
 }
 .m80-r {
   margin-right: 80px !important;
 }
 .m80-b {
   margin-bottom: 80px !important;
 }
 .m80-l {
   margin-left: 80px !important;
 }
 .m90 {
   margin: 90px !important;
 }
 .m90-t {
   margin-top: 90px !important;
 }
 .m90-r {
   margin-right: 90px !important;
 }
 .m90-b {
   margin-bottom: 90px !important;
 }
 .m90-l {
   margin-left: 90px !important;
 }
 .m100 {
   margin: 100px !important;
 }
 .m100-t {
   margin-top: 100px !important;
 }
 .m100-r {
   margin-right: 100px !important;
 }
 .m100-b {
   margin-bottom: 100px !important;
 }
 .m100-l {
   margin-left: 100px !important;
 }
 /*------------------------------------------------------------
 5、padding・・・周りのブロックからの距離（padding）
 -------------------------------------------------------------*/
 
 .p0 {
   padding: 0 !important;
 }
 .p0-t {
   padding-top: 0 !important;
 }
 .p0-r {
   padding-right: 0 !important;
 }
 .p0-b {
   padding-bottom: 0 !important;
 }
 .p0-l {
   padding-left: 0 !important;
 }
 .p5 {
   padding: 5px !important;
 }
 .p5-t {
   padding-top: 5px !important;
 }
 .p5-r {
   padding-right: 5px !important;
 }
 .p5-b {
   padding-bottom: 5px !important;
 }
 .p5-l {
   padding-left: 5px !important;
 }
 .p10 {
   padding: 10px !important;
 }
 .p10-t {
   padding-top: 10px !important;
 }
 .p10-r {
   padding-right: 10px !important;
 }
 .p10-b {
   padding-bottom: 10px !important;
 }
 .p10-l {
   padding-left: 10px !important;
 }
 .p15 {
   padding: 15px !important;
 }
 .p15-t {
   padding-top: 15px !important;
 }
 .p15-r {
   padding-right: 15px !important;
 }
 .p15-b {
   padding-bottom: 15px !important;
 }
 .p15-l {
   padding-left: 15px !important;
 }
 .p20 {
   padding: 20px !important;
 }
 .p20-t {
   padding-top: 20px !important;
 }
 .p20-r {
   padding-right: 20px !important;
 }
 .p20-b {
   padding-bottom: 20px !important;
 }
 .p20-l {
   padding-left: 20px !important;
 }
 .p25 {
   padding: 25px !important;
 }
 .p25-t {
   padding-top: 25px !important;
 }
 .p25-r {
   padding-right: 25px !important;
 }
 .p25-b {
   padding-bottom: 25px !important;
 }
 .p25-l {
   padding-left: 25px !important;
 }
 .p30 {
   padding: 30px !important;
 }
 .p30-t {
   padding-top: 30px !important;
 }
 .p30-r {
   padding-right: 30px !important;
 }
 .p30-b {
   padding-bottom: 30px !important;
 }
 .p30-l {
   padding-left: 30px !important;
 }
 .p40 {
   padding: 40px !important;
 }
 .p40-t {
   padding-top: 40px !important;
 }
 .p40-r {
   padding-right: 40px !important;
 }
 .p40-b {
   padding-bottom: 40px !important;
 }
 .p40-l {
   padding-left: 40px !important;
 }
 .p50 {
   padding: 50px !important;
 }
 .p50-t {
   padding-top: 50px !important;
 }
 .p50-r {
   padding-right: 50px !important;
 }
 .p50-b {
   padding-bottom: 50px !important;
 }
 .p50-l {
   padding-left: 50px !important;
 }
 .p60 {
   padding: 60px !important;
 }
 .p60-t {
   padding-top: 60px !important;
 }
 .p60-r {
   padding-right: 60px !important;
 }
 .p60-b {
   padding-bottom: 60px !important;
 }
 .p60-l {
   padding-left: 60px !important;
 }
 .p70 {
   padding: 70px !important;
 }
 .p70-t {
   padding-top: 70px !important;
 }
 .p70-r {
   padding-right: 70px !important;
 }
 .p70-b {
   padding-bottom: 70px !important;
 }
 .p70-l {
   padding-left: 70px !important;
 }
 .p80 {
   padding: 80px !important;
 }
 .p80-t {
   padding-top: 80px !important;
 }
 .p80-r {
   padding-right: 80px !important;
 }
 .p80-b {
   padding-bottom: 80px !important;
 }
 .p80-l {
   padding-left: 80px !important;
 }
 .p90 {
   padding: 90px !important;
 }
 .p90-t {
   padding-top: 90px !important;
 }
 .p90-r {
   padding-right: 90px !important;
 }
 .p90-b {
   padding-bottom: 90px !important;
 }
 .p90-l {
   padding-left: 90px !important;
 }
 .p100 {
   padding: 100px !important;
 }
 .p100-t {
   padding-top: 100px !important;
 }
 .p100-r {
   padding-right: 100px !important;
 }
 .p100-b {
   padding-bottom: 100px !important;
 }
 .p100-l {
   padding-left: 100px !important;
 }
 /*------------------------------------------------------------
 font-size・・・フォントサイズの設定
 -------------------------------------------------------------*/
 
 .b {
   font-weight: bold !important;
 } /*太字*/
 .normal {
   font-weight: normal !important;
 } /*太字を解除*/
 .big {
   font-size: 1.2em !important;
 }
 .big2 {
   font-size: 1.5em !important;
 }
 .big3 {
   font-size: 1.8em !important;
 }
 .small {
   font-size: 0.8em !important;
 }
 
 /*------------------------------------------------------------
 color・・・フォントカラーの設定
 -------------------------------------------------------------*/
 
 .red {
   color: #ff0000 !important;
 } /*赤*/
 .blue {
   color: #0000dd !important;
 } /*青*/
 .green {
   color: #008000 !important;
 } /*緑*/
 .yellow {
   color: #ffff00 !important;
 } /*黄*/
 .navy {
   color: #1f26a9 !important;
 } /*紺*/
 .orange {
   color: #ff6600 !important;
 } /*橙*/
 .pink {
   color: #cc6699 !important;
 } /*ピンク*/
 .purple {
   color: #660099 !important;
 } /*紫*/
 .olive {
   color: #808000 !important;
 } /*黄土色*/
 .lime {
   color: #00ff00 !important;
 } /*黄緑*/
 .aqua {
   color: #167fa6 !important;
 } /*水色*/
 .black {
   color: #000 !important;
 } /*黒*/
 .gray {
   color: #ccc !important;
 } /*灰*/
 .white {
   color: #fff !important;
 } /*白*/
 
 /*------------------------------------------------------------
 下線の設定
 -------------------------------------------------------------*/
 
 .underline {
   text-decoration: underline !important;
 }
 
 /*------------------------------------------------------------
 蛍光ペンのようなボックスの設定
 -------------------------------------------------------------*/
 
 .box-yellow {
   padding: 2px;
   background-color: #ff9 !important;
 } /*黄色*/
 .box-aqua {
   padding: 2px;
   background-color: #9ff !important;
 } /*水色*/
 .box-gray {
   padding: 2px;
   background-color: #eee !important;
 } /*灰色*/
 .box-red {
   padding: 2px;
   background-color: #fcc !important;
 } /*赤色*/
 
 /*------------------------------------------------------------
 画像を簡単に回り込ませる（スマホでは解除ver.）
 -------------------------------------------------------------*/
 
 /*左に画像、右に文章*/
 .left_01,
 .left_02 {
   float: left;
   margin: 0.2em 0.4em 0.4em 0;
 }
 
 /*右に画像、左に文章*/
 .right_01,
 .right_02 {
   float: right;
   margin: 0.2em 0em 0.4em 0.4em;
 }
 
 @media only screen and (max-width: 768px) {
   .left_01,
   .right_01 {
     float: none;
     margin: 0 0 0.5em;
   }
 
   .imgcenter_01 {
     width: 100%;
     text-align: center;
   }
 
   .imgcenter_01 img {
     width: 50%;
     height: auto;
   }
 }
 
 /*------------------------------------------------------------
 スマホ改行コード(スマホ時のみ改行される)
 -------------------------------------------------------------*/
 
 .sp_br {
   display: none;
 }
 
 @media only screen and (max-width: 768px) {
   .sp_br {
     display: block;
   }
 }
 
 /*------------------------------------------------------------
 Zoho LandingPage
 -------------------------------------------------------------*/
 .zpsection {
   padding: 0!important;
 }
 .zpcontainer-fluid {
   padding: 0!important;
 }
 .zprow .zpcol-sm-1, .zprow .zpcol-sm-2, .zprow .zpcol-sm-3, .zprow .zpcol-sm-4, .zprow .zpcol-sm-5, .zprow .zpcol-sm-6, .zprow .zpcol-sm-7, .zprow .zpcol-sm-8, .zprow .zpcol-sm-9, .zprow .zpcol-sm-10, .zprow .zpcol-sm-11, .zprow .zpcol-sm-12, .zprow .zpcol-md-1, .zprow .zpcol-md-2, .zprow .zpcol-md-3, .zprow .zpcol-md-4, .zprow .zpcol-md-5, .zprow .zpcol-md-6, .zprow .zpcol-md-7, .zprow .zpcol-md-8, .zprow .zpcol-md-9, .zprow .zpcol-md-10, .zprow .zpcol-md-11, .zprow .zpcol-md-12 {
   padding: 0!important;
 }
 .zpelement {
   margin: 0!important;
 }
 .zprow-container {
   width: initial!important;
   margin: 0!important;
 }
 
 /*------------------------------------------------------------
 資料請求
 -------------------------------------------------------------*/
 aside {
   position: fixed;
   right: 0;
   top: 0;
   /*   width: 30%; */
   height: 100vh;
   width: 480px;
   background-color: #eee;
 }
 aside .aside_headline {
   padding: 32px 24px;
   background-color: #333;
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 16px;
 }
 aside .aside_headline span {
   background-color: #fff;
   font-size: 1.8em;
   padding: 8px 24px;
 }
 aside .aside_headline h1 {
   color: #fff;
   font-size: 3.1em;
   letter-spacing: 0.2em;
   line-height: 0;
   text-align: center;
 }
 aside .aside_headline p {
   color: #fff;
   font-size: 1.4em;
 }
 aside form dl {
   padding: 24px 24px 0;
 }
 aside form dl dt {
   display: flex;
   align-items: center;
   gap: 8px;
   margin-bottom: 8px;
 }
 aside form dl dt .title {
   font-size: 1.4em;
 }
 aside form dl dt .required {
   background-color: #333;
   color: #fff;
   font-weight: normal;
   font-size: 1.2em;
   padding: 0px 6px 1px;
 }
 aside form dl dd {
   margin: 0;
   margin-bottom: 16px;
   padding: 0;
 }
 aside form dl dd input {
   border: none;
   width: 100%;
   padding: 12px;
   font-size: 1.4em;
   border: 1px solid #fff;
 }
 aside form dl dd input:focus {
   border: 1px solid #333;
 }
 aside form dl dd.name {
   display: flex;
   gap: 8px;
 }
 aside .note {
   padding: 0 24px!important;
   font-size: 1.2em;
   color: #aaa;
 }
 aside form > input[type='submit'] {
   background-color: #c19246;
   border: none;
   color: #fff;
   font-weight: bold;
   font-size: 1.8em;
   margin: 40px auto 0 auto;
   display: block;
   width: 60%;
   min-width: 300px;
   padding: 0.8em 0;
   border-radius: 100px;
   cursor: pointer;
 }
 aside form > input:hover {
   opacity: 0.9;
 }
 
 @media only screen and (max-width: 1230px) {
   .header {
     margin: 0 auto;
   }
   .article, .top_image_in {
     margin: 0 auto!important;
   }
   aside {
     display: none;
     position: static;
     max-width: 750px;
     margin: auto;
     height: initial;
     padding-bottom: 40px;
   }
 }
 
 @media only screen and (max-width: 480px) {
   aside .aside_headline h1 {
     font-size: 2.6em;
   }
 }
 
 