@charset "UTF-8";

body {
    text-align: center;
    font-family: "Noto Sans JP", sans-serif;
    color: #383838;
}
main {
    margin: 0 auto;
    padding-top:91.6px;
}
aside {
    background: #e1e1e1;
}

 *,
 ::before,
 ::after {
   box-sizing: border-box;
 }
 
 ::before,
 ::after {
   text-decoration: inherit; /* 1 */
   vertical-align: inherit; /* 2 */
 }
 
 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;
 }

 ul {
    list-style: none;
 }
 
 /**
  * 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;
   text-decoration: none;
   color: #383838;
 }
 
 /**
  * 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;
   max-width: 100%;
 }
 
 /**
  * Change the fill color to match the text color in all browsers (opinionated).
  */
 
 svg:not([fill]) {
   fill: currentColor;
 }
 
 /**
  * Hide the overflow in IE.
  */
 
 /* 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;
 }



 .fade {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 1.5s, transform 1s;
}

.fade.active {
	opacity: 1;
	transform: translateY(0px);
}



/* .comparison .cta_btn.fade.active {
    transform: translateX(-50%);
}

.model_lp .cta_btn.fade.active {
    transform: translateX(-50%);
} */

/** lp1 **/

.lp1_main .cta_btn img {
    max-width: 100%;
}

.lp1_main .cta_btn2 img {
    max-width: 100%;
}
.cta_btn_img_hover {
    display: none;
}

.fv_lp .cta_btn,.fv_lp .cta_btn2 {
    max-width: 490px;
}
.fv_lp .cta_btn {
    margin-right: 10px;
}
.fv_lp .cta_flex {
    max-width: 1000px;
    margin-top: -7vw;
    margin-bottom: 0vw;
}

 
 /*
  * 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;
 }

 .inner {
    max-width: 1200px;
    margin: 0 auto;
 }

 .contact .inner {
    max-width: 1000px;
    margin: 0 auto;
 }

.case .inner {
    margin-bottom: 40px;
}

.title1 {
    font-size: 30px;
    text-align: center;
}

.title2 {
    font-size: 120px;
    font-family: "urw-din", sans-serif;
    font-weight: 600;
    letter-spacing: 3.6px;
    text-align: left;
    margin-top: 0;
    margin-bottom: 50px;
    line-height: 1;
}

.title2 span {
    font-size: 27px;
    color: #B2B2B2;
    margin-left: 50px;
}

.title2 .title_merit {
    font-size: 120px;
    font-weight: 500;
    background: linear-gradient(90deg, rgba(24,191,147,1) 0%, rgba(24,191,147,1) 35%, rgba(10,192,216,1) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    margin-left: 0;
}

.lp .header_block {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header {
    background: #FFF;
    position: fixed;
    width: 100%;
    z-index: 9999;
}

.lp4 .header {
    background: transparent;
    transition: background-color 0.3s ease;
  }
  
  .lp4 .header.scrolled {
    background: #FFF;
  }

.header_btn {
    display: flex;
}

.header_btn a {
    display: block;
    margin-right: 20px;
}

.lp .header_btn img {
    width: 250px;
    height: 63px;
}

.header_btn .hover {
    display: none;
}

.header_btn a:hover .contact_btn {
    display: none;
}

.header_btn a:hover .hover {
    display: block;
    position:relative;
    top: 1px;
}

 .fv_lp {
    /*background: linear-gradient(90deg, rgba(24,191,147,1) 0%, rgba(24,191,147,1) 35%, rgba(10,192,216,1) 100%);*/
    background:#000;
 }

.fv_lp_block {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    margin: 0 auto;
}

.fv_lp_box2 {
    display: flex;
    align-items: center;
    width: 46.88vw;
    max-width: 900px;
    justify-content: flex-end;
}

.fv_lp_box2 .flipper {
    /* box-shadow: 12px 12px 2px 1px rgba(0, 0, 0, 0.2); */
    animation: shakeStart 3s forwards; 
}

.fv_lp_box2 .flipper:nth-child(odd) {
    animation-name: shakeStart1;
}

.fv_lp_box2 .flipper:nth-child(even) {
    animation-name: shakeStart2;
}

@keyframes shakeStart1 {
    0%, 100% { transform: translateY(0); }
    25% { transform: translateY(-20px); }
    50% { transform: translateY(20px); }
    75% { transform: translateY(-20px); }
}

@keyframes shakeStart2 {
    0%, 100% { transform: translateY(0); }
    25% { transform: translateY(20px); }
    50% { transform: translateY(-20px); }
    75% { transform: translateY(20px); }
}


.flip-container {
    perspective: 1000px;
    display: flex;
    justify-content: center;
    align-items: center; 
}

.animated-wrapper {
    transition: 0.6s;
    transform-style: preserve-3d;
    position: relative;
    width: 11.2vw;
    height: 23.7vw;
    box-shadow: 12px 12px 2px 1px rgba(0, 0, 0, 0.2);
}

.animated-wrapper:hover  {
    transform: rotateY(180deg);
}

.front, .back {
    backface-visibility: hidden;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
}

.front {
    z-index: 2;
    transform: rotateY(0deg);
}

.back {
    z-index: 3;
    transform: rotateY(180deg);
}


.fv_lp_box img {
    width: 215px;
}

.fv_lp_box .fv_lp_tit_img {
    width: 513px;
    margin-bottom: 45px;
}

.fv_lp_txt {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

.fv_lp_txt2 {
    display: flex; /* Flexboxを有効化 */
    flex-direction: column; /* 子要素を縦方向に配置 */
    justify-content: center; /* 中央寄せ（縦方向） */
    align-items: center;
    width: 340px;
    height: 170px;
    border: solid 1px #fff;
    margin: 0;
    color: #fff;
    box-sizing: border-box; /* ボーダーを含めたサイズ計算のために必要 */
}

/* 1番目（左上）の要素 */
.fv_lp_txt2:nth-child(1) {
    border-left: none; /* 右側のボーダーを削除 */
    border-top: none; /* 下側のボーダーを削除 */
}

/* 2番目（右上）の要素 */
.fv_lp_txt2:nth-child(2) {
    border-right: none; /* 左側のボーダーを削除 */
    border-top: none; /* 下側のボーダーを削除 */
}

/* 3番目（左下）の要素 */
.fv_lp_txt2:nth-child(3) {
    border-left: none; /* 右側のボーダーを削除 */
    border-bottom: none; /* 上側のボーダーを削除 */
}

/* 4番目（右下）の要素 */
.fv_lp_txt2:nth-child(4) {
    border-right: none; /* 左側のボーダーを削除 */
    border-bottom: none; /* 上側のボーダーを削除 */
}


.fv_lp_txt2 span {
    font-size: 30px;
    font-weight: bold;
    border-bottom: solid 2px #F5FF00;
}


.fv_lp_box {
    width: 680px;
    margin-right: 5.21vw;
}

.swiper-button-next::after, .swiper-rtl .swiper-button-prev::after {
    content: '';
    display: none;
}

.swiper-button-prev::after, .swiper-rtl .swiper-button-next:after {
    content: '';
    display: none;
}


/* scene */
.scene {
    background: #000;
    height: 300px;
    display: flex;
    align-items: center;
    margin-top: -10px;
    position: relative;
    z-index: -11;
}

.scene_box1 {
    display: flex;
}

.scene_cat {
    margin: 0;
    border:1px solid #FFF;
    color: #FFF;
    width: 290px;
    height: 74px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    text-align: center;
    border-radius: 37px;
    font-weight: bold;
    line-height: 1;
    margin-right: 13px;
    margin-bottom: 28px;
}

.scene_box2 {
    text-align: center;
    font-size: 30px;
    font-weight: bold;
    color: #fff;
}

.scene_box2 span {
    background: linear-gradient(90deg, rgba(32,250,193,1) 0%, rgba(0,235,255,1) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    display: inline;
}




/* intro */

.intro .inner {
    display: flex;
    padding-top: 80px;
    align-items: center;
    justify-content: space-between;
}

.intro .inner img {
    width: 340px;
    height: 80px;
    margin-left: 120px;
}

.intro .inner p {
    width: 600px;
    text-align: left;
}


/* problem */
.problem {
    background-image: url(../images/lp/problem_bg.png);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: center;
    padding-top: 180px;
    padding-bottom: 140px;
}

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

.problem_box {
    max-width: 573px;
}

.problem .title1 {
    color: #fff;
    margin-bottom: 60px;
    position: relative;
}

.problem .title1::after {
    content: 'Problem';
    position: absolute;
    font-size: 120px;
    color: hsl(0, 0%, 100%,0.25);
    top: -80px;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    font-family: "urw-din", sans-serif;
    font-weight: 500;
    letter-spacing: 0.05em;
}

.problem .title1 span  {
    font-size: 40px;
}

.problem .problem_box2 {
    margin-top: 50px;
}

.problem .problem_box3 {
    margin-top: -20px;
}

.problem .problem_box4 {
    margin-top: 34px;
}

.result {
    padding-top: 55px;
    padding-bottom: 100px;
}

.result img {
    max-width: 1000px;
}

/* merit */
.merit {
    background-image: url(../images/lp/merit_bg.png);
    background-size: cover;
    padding-top: 90px;
    padding-bottom: 75px;
}

.merit_blcok {
    padding-top: 60px;
}

.merit_box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 110px;
}

.merit_box .merit_box1_number {
    text-align: left;
}

.merit_box_rev {
    flex-direction: row-reverse;
}

.merit_box_rev .merit_box1_number {
    text-align: right;
}

.merit_box_1 .merit_box2 {
    padding-top: 120px;
}

.merit_box2_up2 {
    position: relative;
}

.merit_box2_img {
    position: absolute;
    width: 73px;
    height: 73px;
}

.merit_box2_img_1 {
    top: 0;
    left: -40px;
}

.merit_box2_img_2 {
    top: 15px;
    right: -20px;
}

.merit_box2_img_3 {
    left: 60px;
}

.merit_box1_number {
    color: #18BF93;
    font-size: 100px;
    margin-top: 0;
    margin-bottom: 20px;
    line-height: 1;
    font-family: "urw-din", sans-serif;
    font-weight: 600;
}

.merit_box1_number span {
    color: #B2B2B2;
    font-size: 30px;
    margin-left: 10px;
    font-weight: 500;
}

.merit_box2 {
    width: 760px;
    position: relative;
    background: linear-gradient(90deg, rgba(85,214,179,1) 0%, rgba(76,208,227,1) 100%);
    padding: 93px 50px 40px;
}

.merit_box4 .merit_box2 {
    padding-top: 130px;
}

.merit_box1_tit {
    text-align: left;
    line-height: 1.8;
    font-size: 30px;
}

.merit_box_rev .merit_box1_tit {
    text-align: right;
}

.merit_box1_tit span {
    color: #fff;
    background: linear-gradient(90deg, rgba(24,191,147,1) 0%, rgba(10,192,216,1) 100%);
    padding: 5px 10px;
}

.merit_box2_txt1 {
    color: #18BF93;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 5px;
}

.merit_box2_up {
    width: 660px;
    margin: 0 auto;
    background-color: #fff;
    border-radius: 20px;
    position: absolute;
    top: -50px;
    left: 50%;
    transform: translateX(-50%);
    padding: 0 40px;
    padding-bottom: 15px;
    box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
}

.merit_box2_up::after {
    content: '';
    position: absolute;
    bottom: -39px;
    left: 50%;
    transform: translateX(-50%);
    border-width: 20px;
    border-style: solid;
    border-color: #fff transparent transparent transparent;
    /* 吹き出しの尾のサイズを調整するためのボーダー設定 */
}

.merit_box2_txt2 {
    margin-top: 5px;
    font-size: 16px;
    text-align: center;
}

.merit_box2_down_img {
    width: 222px;
    margin-bottom: 20px;
}

.merit_box2_explain {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.merit_box2_explain p {
    width: 300px;
    color: #fff;
    text-align: left;
}

.merit_box2_explain img {
    width: 335px;
    height: 100%;
}

.comparison {
    background-color: #333333;
    padding-bottom: 100px;
    padding-top: 100px;
}

.comparison .title3 {
    font-size: 100px;
    font-weight: bold;
    font-family: "urw-din", sans-serif;
    font-weight: 500;
    background: linear-gradient(90deg, rgba(24,191,147,1) 0%, rgba(24,191,147,1) 35%, rgba(10,192,216,1) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    margin: 0;
}

.cta_flex {
    display: flex;
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto;
    margin-top: -150px;
    margin-bottom:60px;
}

.cta_flex2 {
    margin-top: 0;
    margin-bottom: -190px;
}

.cta_btn {
    max-width: 670px;
}


.cta_btn2 {
    max-width: 670px;
}

.cta_btn img {
    width: 100%;
   
}

.comparison_txt1 {
    font-size: 16px;
    color: #fff;
    margin-bottom: 25px;
}

.comparison_txt2 {
    font-size: 16px;
    color: #fff;
    margin-bottom: 50px;
}

.comparison img {
    max-width: 890px;
}
.comparison .cta_btn_img_hover {
    display: none;
}
.model_lp .cta_btn_img_hover {
    display: none;
}



.cta_btn:hover .cta_btn_img {
    display: none;
}

.cta_btn2:hover .cta_btn_img {
    display: none;
}

.cta_btn:hover .cta_btn_img_hover.pc {
    display: block;
}

.cta_btn2:hover .cta_btn_img_hover.pc {
    display: block;
}

.case .cta_btn_img_hover {
    display: none;
}


.service {
    padding: 100px 0;
}

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

.service_box {
    width: 570px;
    background-image: url(../images/lp/service_box_bg.png);
    background-size: cover;
    margin-bottom: 30px;
}

.service_box_wrap {
    margin: 10px;
    border-radius: 0 20px 0 20px;
    box-shadow: 0px 1px 10px 0px rgba(0, 0, 0, 0.15);
    background-color: #fff;
}

.service_box_wrap h3 {
    font-size: 24px;
    font-weight: bold;
    position: relative;
}

.service_box_wrap h3::after {
content: '';
    position: absolute;
    bottom: 0; /* 要素の下部に配置 */
    left: 50%;
    transform: translateX(-50%);
    width: 370px; /* 要素の幅に合わせる */
    height: 2px; /* 線の厚さを設定 */
    background: linear-gradient(90deg, rgba(24,191,147,1) 0%, rgba(10,192,216,1) 100%);
}


.service_box_wrap p {
    font-size: 16px;
    margin: 0;
    padding: 0 30px 30px 30px;
    text-align: left;
}

.service_box_img {
    background-color: #F5F5F5;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 225px;
}

.service_box2 .service_box_img img {
    width: 506px;
    height: 165px;
}

.service_box3 .service_box_img img {
    width: 381px;
    height: 206px;
}

.service_box_txt {
    height: 183px;
}

.service_box4 .service_box_img img {
    width: 488px;
    height: 180px;
}


.case {
    background: linear-gradient(90deg, rgba(24,191,147,1) 0%, rgba(10,192,216,1) 100%);
    height: 100%;
    padding-top: 100px;
    padding-bottom: 150px;
    position: relative;
}

.case .title2 {
    color: #fff;
}

.model_lp .title2 {
    color: #fff;
}

.case .title2 span {
    color: #fff;
}

.model_lp .title2 span {
    color: #fff;
}

.case .case_box {
    background-color: #fff;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    border-radius: 10px;
    padding: 20px;
    height: 240px;
    width: 955px; /* 各スライドの幅 */
    height: auto; /* 必要に応じて高さを設定 */
}

.case_box img {
    width: 312px;
}

.case_txt {
    text-align: left;
    margin-left: 50px;
}

.case_txt h3 {
    font-size: 30px;
    font-weight: bold;
    color: #4DCFAD;
    margin: 20px;
}

.case_txt p {
    font-size: 16px;
}

.case_botton {
    display: flex;
    width: 160px;
    justify-content: space-between;
    margin: 0 auto;
    margin-top: 50px;
}

.mySwiper2 {
    width: 955px;  /* コンテナの幅 */
    height: 240px; /* コンテナの高さ */
    margin: 0 auto;
}

.case .swiper-button-prev_case,.case .swiper-button-next_case {
    background-size: cover;  /* 画像のサイズをボタンに合わせる */
    background-position: center;  /* 画像をボタンの中央に配置 */
    width: 50px;  /* ボタンの幅 */
    height: 50px;  /* ボタンの高さ */
    position: initial;
}

.case .swiper-button-prev_case {
    background-image: url('../images/lp/case_arrow1.png');  /* 「前へ」矢印の画像パス */
    display: block;
}

.case .swiper-button-next_case {
    background-image: url('../images/lp/case_arrow2.png');  /* 「前へ」矢印の画像パス */
    display: block;
}

.case .swiper-button-prev_case::after {
    content: "";
}

.case .swiper-button-next_case::after {
    content: "";
}

.case .swiper-button-prev_case, .case .swiper-button-next_case {
    pointer-events: auto;
}

.case .case_wrap {
    width: 955px;
    height: 240px;
    margin: 0 auto;
}

.model_lp {
    position: relative;
    padding-top: 125px;
    background: linear-gradient(90deg, rgba(24,191,147,1) 0%, rgba(10,192,216,1) 100%);
}

.model_lp_swiper {
    position: relative;
}

.model_lp_block {
    position: relative;
}

.model_lp_botton {
    display: flex;
    width: 160px;
    justify-content: space-between;
    margin: 0 auto;
    margin-top: 50px;
}

.model_lp_img img {
    width: 100%;
}

.model_lp .swiper-button-prev,.model_lp .swiper-button-next {
    background-size: cover;  /* 画像のサイズをボタンに合わせる */
    background-position: center;  /* 画像をボタンの中央に配置 */
    width: 50px;  /* ボタンの幅 */
    height: 50px;  /* ボタンの高さ */
    position: initial;
}

.model_lp .swiper-button-prev {
    background-image: url('../images/lp/model_lp_arrow1.png');  /* 「前へ」矢印の画像パス */
    display: block;
}

.model_lp .swiper-button-next {
    background-image: url('../images/lp/model_lp_arrow2.png');  /* 「前へ」矢印の画像パス */
    display: block;
}

.model_lp .swiper-button-prev::after {
    content: "";
}

.model_lp .swiper-button-next::after {
    content: "";
}

.model_lp .swiper-button-prev, .model_lp .swiper-button-next {
    pointer-events: auto;
}

.model_lp_txt {
    color: #fff;
    font-size: 40px;
    font-weight: bold;
    background: linear-gradient(90deg, rgba(24,191,147,1) 0%, rgba(10,192,216,1) 100%);
    padding: 30px;
    padding-bottom:100px;
    margin: 0;
}

.flow {
    padding-top: 80px;
padding-bottom: 100px;
}

.flow_block {
    position: relative;
}

.flow_box {
    display: flex;
    align-items: center;
    width: 100%;
    background-color: #DDDDDD;
    border-radius: 5px;
    margin-bottom: 30px;
    padding-left: 30px;
}

.flow_num {
    width: 70px;
    height: 70px;
    background-color: #fff;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 40px;
    font-family: "urw-din", sans-serif;
}

.flow_txt {
    text-align: left;
    padding-left: 84px;
}

.flow_box_line {
    position: absolute;
    top: -8px;
    left: 135px;
}

.flow_box_line img {
    width: 15px;
    height: 666px;
}

.swiper-wrapper {
}

.model_lp_swiper .swiper-pagination {
    text-align: right;
    padding-right: 100px;
}


.contact {
    background: linear-gradient(rgba(250,167,117,1) 0%, rgba(248,108,147,1) 100%);
    padding: 70px 0;
}

.contact2 {
    background: linear-gradient(rgba(96,216,239,1) 0%, rgba(172,119,250,1) 100%);
}

.contact .form-row {
    border-bottom: solid 1px #fff;
}

/* 各ラベルとフィールドを横並びにするためのスタイル */
.wpcf7-form label {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px; /* 項目間の間隔 */
    font-weight: bold;
    color: #fff;
}

.wpcf7-form label::after {
        content: "必須";
        width: 44px;
        height: 21px;
        background-color: #18BF93;
        border-radius: 4px;
        margin-left: 15px;
        display: flex;
        align-items: center;
        justify-content: center;
        line-height: 1;
        padding-bottom: 1px;
        font-size: 16px;
}

.wpcf7-form .any::after {
    content: "";
    background-color: initial;
}

.wpcf7-form .form-row_message label::after {
    content: "";
    background-color: initial;
}


.wpcf7-form .form-row_last label::after {
    content: "";
    background-color: initial;
}

.wpcf7-form .form-row_radio .wpcf7-form-control-wrap {
    width: 667px;
    padding-left: 10px;
}

/* ラベルのスタイル */
.wpcf7-form label span {
    min-width: 150px; /* ラベルの最小幅 */
    margin-right: 10px; /* ラベルとフィールドの間の間隔 */
    text-align: left;
}

/* 入力フィールドのスタイル */
.wpcf7-form input, .wpcf7-form textarea, .wpcf7-form select {
    flex-grow: 1; /* フィールドを残りのスペースで伸ばす */
    
}

.wpcf7-form .wpcf7-text, .wpcf7-form textarea {
    width: 667px;
    height: 50px;
    padding-left: 24px;
    border: none;
}

.wpcf7-form .wpcf7-textarea {
    height: 180px;
    padding-top: 15px;
}

.wpcf7-list-item {
    display: block;
}

.wpcf7-form .form-row_company::after  {
    content: "";
}

.wpcf7-form .form-row p {
    display: flex;
    justify-content: space-between;
}

.wpcf7-checkbox {
    text-align: left;
    display: block;
    width: 678px;
}



.contact h2 {
    font-size: 70px;
    text-align: center;
    font-weight: bold;
    font-family: "urw-din", sans-serif;
    color: #fff;
    margin: 0;
}

.contact .contact_txt {
    color: #fff;
    font-size: 16px;
}

.contact .contact_box_caution .contact_txt {
    width: 600px;
    text-align: left;
    margin: 0 auto;
}

.contact_txt2 {
    margin-top: 0;
    margin-bottom: 30px;
}

.form-row_check .wpcf7-form-control-wrap select{
    width: 667px;
    height: 50px;
    padding-left: 24px;
    border: none;
}

.contact .form-row_last .wpcf7-form-control-wrap {
    max-width: 600px;
    margin: 0 auto;
}

.contact_box_caution .contact_txt a {
    color: #fff;
}

.contact_box_caution .contact_txt a {
    border-bottom: solid 2px #F5FF00;
}

.contact_box_caution {
    padding-top: 30px;
}

.form-row_last .wpcf7-list-item .wpcf7-list-item-label {
    color: #fff;
    font-size: 20px;
    font-weight: bold;
}

.form-row_last p {
    max-width: 600px;
    margin: 30px auto;
}

.contact .form-row_last {
    margin-bottom: 50px;
}

.wpcf7-form .form-row_last input {
    margin-right: 20px;
}

.wpcf7-not-valid-tip {
    display: block;
    text-align: left;
    color: #000;
}

.screen-reader-response ul {
    display: none;
}

/* コンタクトフォームタブ切り替え */

.contact {
    display: none;
}

.contact.current {
    display: block;
}

ul.tabs .tab-link {
    position: relative;
    width: 600px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 42px;
    font-weight: bold;
    background-color: #B2B2B2;
    height: 110px;
    border-radius: 10px 10px 0 0;
}

ul.tabs .tab-link1.current {
    background: linear-gradient(90deg, rgba(255,166,113,1) 0%, rgba(247,98,140,1) 100%);

}

ul.tabs .tab-link2.current {
    background: linear-gradient(90deg, rgba(86,203,227,1) 0%, rgba(171,125,237,1) 100%);
}

.form .tabs {
    display: flex;
    justify-content: center;
    margin-bottom: 0;
}

ul.tabs .tab-link.current:after {
    content: '';
    display: block;
    width: 40px; /* 矢印の幅を設定 */
    height: 20px; /* 矢印の高さを設定 */
    background: linear-gradient(90deg, rgba(252,135,124,1) 0%, rgba(251,129,126,1) 100%);
    position: absolute;
    bottom: -19px; /* 位置調整 */
    left: 50%; /* 左から50%の位置に配置 */
    transform: translateX(-50%); /* X軸方向に-50%ずらして中央に配置 */
    clip-path: polygon(50% 100%, 0 0, 100% 0); 
}

ul.tabs .tab-link2.current:after {
    content: '';
    display: block;
    width: 40px; /* 矢印の幅を設定 */
    height: 20px; /* 矢印の高さを設定 */
    background: linear-gradient(90deg, rgba(124,168,232,1) 0%, rgba(137,156,233,1) 100%);
    position: absolute;
    bottom: -20px; /* 位置調整 */
    left: 50%; /* 左から50%の位置に配置 */
    transform: translateX(-50%); /* X軸方向に-50%ずらして中央に配置 */
    clip-path: polygon(50% 100%, 0 0, 100% 0); 
}

.wpcf7-radio {
    display: flex;
}

.wpcf7-radio .wpcf7-list-item input {
    margin-right: 20px;
}

.wpcf7-radio .wpcf7-list-item {
    color: #fff;
    margin-right: 50px;
}

/* プルダウンメニュー */

.select {
    width: 225px;
    height: 40px;
    cursor: pointer;
    background-color: white;
    box-shadow: 0 2px 0 white;
    border-radius: 2px;
    position: relative; /* ドロップダウン要素を正しく配置するために追加 */
}

.select_expand {
    width: 0;
    height: 40px;
    position: absolute;
    top: 0;
    right: 0;
}

.select_expand::after {
    content: '\003E';
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(-50%, -50%) rotate(90deg) scaleY(1.75);
    color: #3e3e3e;
    font-size: 28px;
    pointer-events: none;
    z-index: 2;
    transition: all 250ms cubic-bezier(.4,.25,.3,1);
    opacity: .6;
}

.select_expand:hover::after { opacity: 1; }
.select_expand:checked::after { transform: translate(-50%, -50%) rotate(90deg) scaleX(-1) scaleY(1.75); }

.select_expandLabel, .select_closeLabel {
    display: block;
    width: 100%;
    height: 40px;
    position: absolute;
    top: 0;
    left: 0;
    cursor: pointer;
    z-index: 1;
}

.select_close { display: none; }

.select_items {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 2px;
    padding-top: 40px;
    z-index: 0;
}

.select_input { display: none; }

.select_label {
    transition: all 250ms cubic-bezier(.4,.25,.3,1);
    display: block;
    height: 0;
    font-size: 1.2rem;
    line-height: 40px;
    overflow: hidden;
    color: #3e3e3e;
    background-color: #fff;
    cursor: pointer;
    padding-left: 20px;
}

.select_label-placeholder {
    height: 40px;
    vertical-align: middle;
    position: absolute;
    top: 0;
    left: 0;
    opacity: .6;
    background-color: transparent;
}

.select_expand:checked + .select_closeLabel { display: block; }
.select_expand:checked + .select_closeLabel + .select_options .select_label { height: 40px; }
.select_expand:checked + .select_closeLabel + .select_options .select_label:hover { background-color: #f7f7f7; }
.select_expand:checked + .select_closeLabel + .select_options + .select_expandLabel { display: none; }

.select_input:checked + .select_label {
    height: 40px;
    margin-top: -40px;
}


.form-row_check .wpcf7-form label {
    display: block;
}

.wpcf7-submit {
    display: none; /* 元の送信ボタンを非表示にする */
}


.contact .contact_submit_btn {
    width: 600px;
    height: 70px;
}

.contact .contact_submit_btn:hover {
    opacity: 0.7;
}

.footer {
    background-color: #000;
    padding: 20px 0;
}

.footer p {
    text-align: center;
    color: #fff;
    font-size: 16px;
    margin: 0;
}
.p_footer {
    margin: 0 0 20px 0;
}

.fv_lp_txt_next {
    display: none;
}

.title2_br {
    display: none;
}

.sp {
    display: none;
}

.contact_submit_btn {
    background-image: url('https://aimodel-d.com/test/lp/wp-content/themes/ai-model/assets/images/lp/contact_submit.png');
    border: none;
    cursor: pointer;
   background-size: cover;
}

.contact_submit_btn:hover {
    background-image: url('https://aimodel-d.com/test/lp/wp-content/themes/ai-model/assets/images/lp/contact_submit_hover.png');
}


/* セレクトボックスの外観をカスタマイズ */
.custom-select select {
    -webkit-appearance: none; /* SafariとChromeでのデフォルトの外観を非表示にする */
    -moz-appearance: none; /* Firefoxでのデフォルトの外観を非表示にする */
    appearance: none; /* 他のブラウザでのデフォルトの外観を非表示にする */
    background-color: #fff;
    border: 1px solid #ccc;
    padding: 10px;
    border-radius: 4px;
    font-size: 16px;
    width: 100%;
  }
  
  /* セレクトボックスの矢印アイコンをカスタマイズ */
  .custom-select::after {
    content: "\25BC";
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    color: #333;
  }
  
  /* カスタムセレクトボックスのコンテナ */
  .custom-select {
    position: relative;
}


.fv_lp_block .swiper-horizontal {
    width: 100%;
}


.lp4 .header_block a {
    width: 346px;
    display: block;
}


@media screen and (min-width:2000px) {
    .animated-wrapper {
        width: 225px;
        height: 475px;
    }
}

@media screen and (max-width:1539px) {

.flipper {
    width: 11.44vw;
}
.fv_lp_txt2 span {
    font-size: 20px;
}
.fv_lp_txt2 {
    width: 250px;
}
.fv_lp_box {
    width: 500px;
    margin-right: 3.21vw;
}
}

 @media screen and (max-width:1200px) {
    .flipper {
        width: 13.44vw;
    }
main {
        padding-top: 6.6vw
}
.fv_lp_txt2 span {
        font-size: 30px;
}
 .fv_lp_box {
    margin: 0 auto;
 }

.fv_lp_block {
    display: block;
    height: 100%;
}

.intro .inner img {
    margin-left: 0;
}

.fv_lp_box2 {
    width: 100%;
    max-width: 100%;
    justify-content: center;
}

.fv_lp_txt {
    display: none;
}

.fv_lp_box .fv_lp_tit_img {
    width: 100%;
}

.fv_lp_txt_next {
    display: flex;
    width: 95%;
    margin: 50px auto 0 auto;
}

.fv_lp_txt2 {
    width: 50%;
}

.mySwiper2 {
    max-width: 955px;
    width: 100%;
}

.case .case_wrap {
    max-width: 955px;
}

.scene_box1 {
    flex-wrap: wrap;
    justify-content: center;
}

.scene {
    height: auto;
    padding-top: 90px;
    padding-bottom: 50px;
    margin-top: -50px;
}

.problem_block {
    justify-content: center;
}

.merit_box2_explain {
    display: block;
}

.merit_box2_up {
    width: 95%;
}

.inner {
    max-width: 90%;
}

.contact .inner {
    max-width: 90%;
}

.model_lp .inner {
    max-width: 100%;
}

.model_lp h2 {
    max-width: 90%;
}

.merit_box2 {
    max-width: 45%;
}

.merit_box_1 .merit_box2 {
    padding-top: 150px;
}

.problem .problem_box {
    margin-top: 0px;
}

.problem .problem_box:first-child {
    margin-top: 0;
}

.result img {
    max-width: 90%;
}

.flow_box_line img {
    width: 2.13vw;
    height: 198.93vw;
}

.flow_num {
    font-size: 9.6vw;
    width: 16vw;
    height: 16vw;
}

.flow_tit {
    font-size: 5.33vw;
}

.flow_txt2 {
    font-size: 3.73vw;
}

.flow_txt {
    width: 80%;
    padding-left: 7.47vw;
}

.flow_box {
    padding-left: 2.67vw;
}

.flow_box_line {
    left: 21.48vw;
    top: -25px;
}

.flow_block {
    margin-top: 13.33vw;
}

.contact h2 {
    font-size: 18.67vw;
}

.contact .contact_txt {
    font-size: 4.27vw;
    margin-top: 0;
}

.wpcf7-form label {
    font-size: 4.27vw;
}


.contact .contact_box_caution .contact_txt {
    font-size: 4.27vw;
}

.form-row_last .wpcf7-list-item .wpcf7-list-item-label {
    font-size: 4.27vw;
}

.comparison {

}

.service_block {
    justify-content: center;
}

.contact .contact_submit_btn {
    width: 100%;
}

.wpcf7-form .wpcf7-text, .wpcf7-form textarea {
    height: 10.67vw;
}

.form-row_check .wpcf7-form-control-wrap select {
    height: 10.67vw;
}

}

@media screen and (max-width:900px) {
main {
    padding-top: 9.9vw;
}
.flipper {
    width: 25.07vw;
    height: 59.64vw;
}

.fv_lp_box2 .animated-wrapper {
    width: 25.07vw;
    height: 52.6vw;
}
.table_scroll {
    width: 95%;
    overflow-x: auto;
    margin: 0 auto;
}

.fv_lp_box .fv_lp_tit_img {
    width: 83.73%;
    margin: 0 auto;
}
.fv_lp_box {
    max-width: 100%;
    margin-bottom: 5.86vw;
}
.fv_lp_txt_next {
    margin: 0 auto;
}

.title2 {
    line-height: 0.5;
}

.title2_br {
    display: block;
}

.title2 span {
    margin-left: 0;
}

.case {
    padding-top: 30px;
}
.wpcf7-form .form-row p {
    display: block;
}
.wpcf7-form .wpcf7-text, .wpcf7-form textarea {
    width: 100%;
}
.form-row_check .wpcf7-form-control-wrap select {
    width: 100%;
}

.contact .contact_box_caution .contact_txt {
    width: 100%;
}
.wpcf7-checkbox {
    width: 100%;
}
.animated-wrapper {
    height: auto;
}

}


 @media screen and (max-width:768px) {

.pc {
    display: none;
}

.sp {
    display: block;
}

.lp1_main {
    padding-top:10vw;
}
.fv_lp .cta_flex {
    margin-top: -17vw;
    margin-bottom: 7vw;;
    max-width: 90%;
}
.cta_btn_img_hover2 {
    display: none;
}

.scene {
    background-image: url(../images/lp/scene_bg_sp.png);
}
.fv_lp_txt2 p {
    font-size: 3.73vw;
}

.fv_lp_txt2 span {
    font-size: 5.33vw;
}

.fv_lp_txt2_4 p {
    font-size: 3.2vw;
}

.fv_lp_txt2_4 p span {
    font-size: 4.53vw;
}

.fv_lp_txt2 {
    height: 24.8vw;
}

.scene_box1 {
    justify-content: space-between;
}

.scene {
    padding-top: 16vw;
    padding-bottom: 13.33vw;
    margin-top: -15vw;
    z-index: -2;
    background: #000;
}

.scene_cat {
    width: 49%;
    height: 11.73vw;
    font-size: 3.6vw;
    margin-right: 0;
    margin-bottom: 10px;
}

.scene_box2 {
    font-size: 6vw;
}

.intro .inner img {
    width: 46.67vw;
    height: 100%;
}

.intro .inner {
    display: block;
    padding-top: 18.67vw;
    padding-bottom: 13vw;
}

.intro .inner p {
    width: 100%;
    font-size: 4.27vw;
}
.problem {
    background-image: url(../images/lp/problem_bg_sp.png);
    padding-top: 18.33vw;
}

.problem .title1 {
    font-size: 8vw;
}

.problem .title1 span {
    font-size: 10.67vw;
}

.problem_box {
    max-width: 100%;
}

.result img {
    margin: 0 auto;
}

.merit {
    background-image: url(../images/lp/merit_bg_sp.png);
    padding-top: 16vw;
}

.title2 {
    font-size: 21.33vw;
}

.result {
    padding-bottom: 16vw;
}

.merit_box2_up {
    padding: 0 5.21vw;
}

.merit_box {
    display: block;
    margin-bottom: 14.67vw;
}
.merit .title2 {
    margin: 0;
}

.merit_box1_number {
    text-align: left;
    font-size: 18.67vw;
    margin-bottom: 0;
}

.merit_box1_number span {
    font-size: 4.27vw;
    margin-left: 3.91vw;
}

.merit_box1_tit {
    font-size: 6.4vw;
    margin-top: 0;
    margin-bottom: 17.51vw;
}

.merit_box2 {
    max-width: 100%;
    padding: 40.27vw 6.51vw 5.21vw;
}

.merit_box_1 .merit_box2 {
    padding-top: 40.27vw;
}

.merit_box2_txt1 {
    font-size: 4.8vw;
}

.merit_box2_txt2 {
    font-size: 3.73vw;
}

.merit_box2_down_img {
    width: 56.27vw;
    margin-bottom: 6.67vw;
}

.merit_box2_explain img {
    width: 100%;
}

.merit_box2_explain p {
    font-size: 3.73vw;
    width: 100%;
}

.comparison .title3 {
    font-size: 16.67vw;
}

.comparison_txt1 {
    font-size: 4.27vw;
}

.comparison_txt2 {
    font-size: 3.73vw;
}

.comparison .table_scroll img {
    max-width: 156.25vw;
}

.comparison .cta_btn img {
    max-width: 100%;
}

.comparison .cta_btn2 img {
    max-width: 100%;
}


.service_box_img {
    height: auto;
}

.service_box {
    background-image: url(../images/lp/service_box_bg_sp.png);
    width: 100%;
    margin-bottom: 8vw;
}

.service_box_wrap h3 {
    font-size: 5.4vw;
}

.service_box_wrap p {
    font-size: 3.73vw;
    line-height: 2.143;
}

.case .title2 {
    font-size: 16.33vw;
}
.service_box_txt {
    height: auto;
}

.service_box2 .service_box_img img {
    width: 95%;
    height: 95%;
}

.service_box3 .service_box_img img {
    width: 95%;
    height: 95%;
}
.service_box4 .service_box_img img {
    width: 95%;
    height: 95%;
}

.service_box_wrap {
    margin: 3.33vw;
}

.model_lp_txt {
    font-size: 8vw;
}

.service_box_wrap h3::after {
    width: 71.61vw;
}

.case .case_box {
    display: block;
}

.title2 span {
    font-size: 4.27vw;
}

.comparison {
    padding-top: 18.67vw;
}

.service .title2 {
    margin-top: 0;
}

.merit {
    padding-bottom: 0;
}

.merit_box {
    margin-bottom: 14.67vw;
}
.merit_box:last-child {
    margin-bottom: 0;
}
.merit .inner {
    max-width: 100%;
}

.merit_box_rev .merit_box1_number {
    text-align: right;
}
.merit_box_rev .merit_box1_tit {
    text-align: right;
}

.header_block h1 img {
    width: 22.67vw;
}

.lp .header_btn img {
    width: 29.33vw;
    height: auto;
}

.lp .header_block {
    height: 10.67vw;
}
.merit .title2 {
    margin-left: 5.33vw;
}
.merit .merit_box1 {
    margin-left: 5.33vw;
}

.merit_box_rev .merit_box1 {
    margin-right: 5.33vw;
}
.problem .title1::after {
    font-size: 18.33vw;
    top: -10.42vw;
}
.merit_box4 .merit_box2 {
    padding-top: 39.06vw;
    padding-bottom: 60px;
}
.merit_box2_img {
    width: 19.47vw;
    height: 19.47vw;
}
.merit_box2_img_1 {
    top: -8.19vw;
    left: 3.91vw;
}
.merit_box_2 .merit_box2_txt2 {
    text-align: center;
}
.merit_box2_img_3 {
    left: 7.81vw;
    bottom: -15.63vw;
}
.title2 .title_merit {
    font-size: 21.33vw;
}
.contact .contact_submit_btn {
    background-image: url('https://aimodel-d.com/test/lp/wp-content/themes/ai-model/assets/images/lp/contact_submit_sp.png');
    width: 90%;
    height: 17.6vw;
}
.mySwiper2 {
    height: 81.87vw;
    background-color: #fff;
    border-radius: 10px;
}
.case_txt h3 {
    font-size: 5.33vw;
    margin-left: 0;
    margin-bottom: 0;
}
.case_txt {
    margin-left: 0;
    
}
.case_txt p {
    margin-top: 0px;
    font-size: 3.2vw;
}
.case_box img {
    width: 77.33vw;
    height: 49.6vw;
}
.model_lp .title2 {
    margin-left: 5.33vw;
}
.case {
    padding-top: 90px;
    padding-bottom: 100px;
}

.form-row_check .wpcf7-form-control-wrap select {
    -webkit-appearance: none; /* SafariとChromeでのデフォルトの外観を非表示にする */
    -moz-appearance: none; /* Firefoxでのデフォルトの外観を非表示にする */
    appearance: none; 
}

.custom-select::after {
    content: "\25BC";
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    color: #333;
}

.custom-select {
    position: relative;
}
.cta_btn {
    width: 90%;
    top: -35px;
}
.model_lp {
    padding-top: 25.33vw;
}
.flow {
    padding-top: 90px;
    padding-bottom: 70px;
}
.contact {
    padding-top: 40px;
}
.case_botton {
    margin-top: 25px;
}
.service {
    padding: 70px 0 50px;
}
.comparison .cta_btn .cta_btn_img_hover {
    display: none;
}
.merit_blcok {
    padding-top: 50px;
}
.merit_box2_up {
    width: 90%;
}
.model_lp .cta_btn_img_hover {
    display: block;
}
.cta_btn:hover .cta_btn_img_hover.pc {
    display: none;
}
.comparison .cta_btn .cta_btn_img_hover2 {
    display: none;
}
.cta_btn:hover .cta_btn_img_hover2.sp {
    display: block;
}
.cta_btn2:hover .cta_btn_img_hover2.sp {
    display: block;
}
.cta_btn:hover .cta_btn_img_hover2 {

}
.model_lp .cta_btn_img_hover {
    display: none;
}
.fv_lp_box2 .flipper {
    max-width: 215px;
    width: 100%;
}

.wpcf7-form .wpcf7-text, .wpcf7-form textarea {
    font-size: 1.1em;
}
.scene_box2 {
    margin-top: 28px;
}
main {
    padding-top: 0;
}
.cta_flex {
    margin-top: -28vw;
    max-width: 95%;
    margin-bottom: 10.67vw;
}
.cta_flex2 {
    margin-top: 0;
    margin-bottom: -32vw;
}
.cta_btn {
    width: 45.87vw;
    position: relative;
    top: 5px;
}
.form .tabs {
    justify-content: space-between;
    padding: 0;
}
.cta_btn2 {
    width: 45.87vw;
    position: relative;
    top: 5px;
}
ul.tabs .tab-link {
    width: 50%;
    height: 60px;
    font-size: 6.13vw;
}
ul.tabs .tab-link.current:after {
    width: 26px;
    height: 16px;
    bottom: -12px;
}
ul.tabs .tab-link2.current:after {
    width: 26px;
    height: 16px;
    bottom: -12px;
}
.swiper-slide {
    margin-top: 40px;
}
.header_btn a {
    margin-right: 10px;
}
.header_btn a:nth-child(2) {
    margin-right: 0;
}
.header .inner {
    width: 95%;
}
.case .case_box {
    margin-top: 0;
}
.wpcf7-form label {
    justify-content: flex-start;
}
.wpcf7-form label span {
    margin-right: 0px;
}
.contact .form-row {
    padding-bottom: 20px;
}
.contact .form-row_last {
    border: none;
    padding-bottom: 0px;
}
.contact .form-row_last {
    margin-bottom: 0;
}
.wpcf7-form .form-row p {
    margin-bottom: 0;
}
.wpcf7-radio .wpcf7-list-item input {
    margin-right: 5px;
}
.wpcf7-radio .wpcf7-list-item {
    margin-right: 12px;
}
.wpcf7-form .form-row_radio .wpcf7-form-control-wrap {
    display: block;
    width: auto;
    text-align: left;
}
.wpcf7-radio {
    display: block;
}
.cta_btn2:hover .cta_btn_img_hover.pc {
    display: none;
}
}

 @media screen and (max-width:425px) {
    .merit_box2 {
        padding-top: 33.27vw;
        padding-bottom: 55px;
    }

    .flow_box_line img {
        height: 212.93vw;
    }
    .case .title2 {
        font-size: 15.33vw;
    }
    .wpcf7-form .wpcf7-text, .wpcf7-form textarea {
        font-size: 1.1em;
    }
}

.fv_lp_block {
    height: 52.083vw;
}

.fv_lp_block .lp1_main img {
    width: 100%;
    width: 46.146vw;
    position: absolute;
    left: 5.208vw;
    top: 10%;
    z-index: 99;
}

.lp_fv_img_box {
    position: absolute;
    top: -60px;
    right: 20px;
  }
  
  .lp_fv_img_box .slide,
  .lp_fv_img_box2 .slide {
    opacity: 0;
    transition: opacity 1.5s ease;
    height: auto;
    object-fit: cover;
    z-index: 0;
    width: 24.479vw;
  }
  
  .slide.active {
    opacity: 1;
    z-index: 1;
  }

  main .fv_lp .fv_lp .cta_flex {
    bottom: 9vw;
  }

  .display_sp {
    display: none;
}

  @media screen and (max-width: 768px) {
    .lp_fv_img.display_pc {
        display: none;
    }
    .display_sp {
        display: block;
    }
  .fv_lp_block {
    height: 177.6vw;
  }
  .fv_lp_block .lp1_main img {
    width: 100%;
    top: initial;
    bottom: 23.438vw;
    left: 0;
  }
  main .fv_lp .fv_lp .cta_flex {
    bottom: -152vw;
  }
  .lp_fv_img.display_sp img {
    position: absolute;
    opacity: 0;
    transition: opacity 1.5s ease;
    width: 85%;
    height: auto;
    object-fit: cover;
    top: 0;
    left: 7.813vw;
  }
  
  .lp_fv_img.display_sp img.active {
    opacity: 1;
    z-index: 1;
  }
  .lp4 .header_block h1 img {
    width: 100%;
  }
  .lp4 .header_block a {
    width: 30.67vw;
  }
}