@charset "utf-8";

/*
 * style.css
 *
 *  version --- 1.0
 *  updated --- 2017/11/30
 */

/* !HTML5 elements
---------------------------------------------------------- */
header, 
footer, 
nav, 
section, 
aside, 
article {
    display: block;
}

/* !Reseting
---------------------------------------------------------- */
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
	scroll-behavior: smooth;
}

fieldset {
  border: none;
}

ul,
ol,
li {
	list-style: none;
}

img {
	max-width: 100%;
    height: auto;
	vertical-align: top;
}

table {
	border-collapse: collapse;
}

button {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
}

select::-ms-expand {
	display: none;
}

input[type=radio]::-ms-check,
input[type=checkbox]::-ms-check{
	display: none;
}

select,
input[type=radio],
input[type=checkbox],
input[type=text],
input[type=password],
input[type=email],
input[type=tel],
input[type=number],
input[type=reset],
input[type=button],
input[type=submit],
textarea {
	appearance: none;
	border-radius: 0;
	font-family: "Zen Maru Gothic", sans-serif;
}

input[type=text]::-ms-clear,
input[type=tel]::-ms-clear,
input[type=number]::-ms-clear{
	display: none;
}

input[type=reset],
input[type=button],
input[type=submit]  {
	font-family: "Zen Maru Gothic", sans-serif;
	cursor: pointer;
}

*,
*:before,
*::after {
	box-sizing: border-box;
}
/* !Clearfix
---------------------------------------------------------- */
.clearfix {
    display: block;
    min-height: 1%;
}

.clearfix:after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
}

* html .clearfix {
    height: 1%;
}

/* !Layout
---------------------------------------------------------- */
html {
    overflow-y: scroll;
    font-size: 62.5%;
}

/*** タブレット 768x ~ 1200px***/
@media screen and (min-width: 768px) and (max-width: 1200px) {
    html {
        font-size: calc(100vw / 120);
    }
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    html {
        font-size: calc(100vw / 37.5);
    }
}

body {
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 1.6rem;
    -webkit-text-size-adjust: none;
    line-height: 1.5;
    font-weight: normal;
    color: #000;
    -webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.font {
    font-family: "Darumadrop One", sans-serif;
}

/* !Base Fonts -------------------------------------------------------------- */
a {
    color: #000;
    text-decoration: none;
}

/*** hover ***/
@media screen and (min-width: 960px) {
    a {
        transition: all 0.5s;
    }

    a:hover {
        text-decoration: underline;
    }

    .op {
        transition: opacity 0.5s ease-out;
    }

    .op:hover {
        opacity: .7;
        text-decoration: none;
    }

    a[href^="tel:"] {
        cursor: default;
        pointer-events:none;
    }
}

.is-hide {
    display: none;
}


/*** 非スマホ 751px ~ ***/
@media screen and (min-width: 768px) {
    .is-sp {
        display: none;
    }
}

@media only screen and (max-width : 767px){
    .is-pc {
        display: none;
    }
}

/* !wrapper
---------------------------------------------------------- */
#wrapper {
    width: 100%;
    background: #FDFBC2;
    overflow: hidden;
}


/* !main Visual
---------------------------------------------------------- */
#main-visual {
    width: 100%;
    position: relative;
    background: url("../img/service/img/kv_bg.png") center center repeat;
    background-size: 35px auto;
    padding: 15.3vw 6.1vw 12.37vw;
	padding: 3.3vw 5.1vw 9.37vw;
    z-index: 1;
}

#main-visual:after {
    width: 100%;
    height: 50vw;
    content: '';
    background: url(../img/service/img/kv_wind.png) center center no-repeat;
    background-size: 100% 100%;
    position: absolute;
    z-index: 2;
    top: 100%;
    transform: translateY(-15.985714285714286vw);
    left: 0;
}

.main-visual__main {
    display: inline-block;
    text-align: center;
    font-size: 2.071428571428571vw;
    line-height: 1.517241379310345;
    font-weight: 900;
}

.main-visual__main .page-title {
    margin-bottom: 1.1vw;
}

.main-visual__main .page-title .page-title__sub {
    position: relative;
    display: block;
    margin-bottom: -2.173571428571429vw;
}

.main-visual__main .page-title .page-title__sub small {
    position: absolute;
    left: 50%;
    top: -.45vw;
    z-index: 2;
    font-size: 1.5vw;
    font-weight: bold;
    line-height: 1.428571428571429;
    display: flex;
    align-items: center;
    gap: 0.428571428571429vw;
    transform: translate(0, -100%) rotate(-5deg);
    margin-left: -16.133928571428571vw;
}

.main-visual__main .page-title .page-title__sub small:before,
.main-visual__main .page-title .page-title__sub small:after {
    width: 1.544571428571429vw;
    height: 2.416642857142857vw;
    content: '';
    background: url(../img/service/img/kv_tit_icon.svg) center center no-repeat;
    background-size: 100% 100%;
    display: block;
}

.main-visual__main .page-title .page-title__sub small:before {
    transform: scaleX(-1);
}

.main-visual__main .page-title .page-title__sub img {
    width: 24.839285714285714vw;
	    width: 53.839286vw;
    z-index: 2;
    position: relative;
}


.main-visual__main .page-title .page-title__main {
    font-size: 11.785714285714286vw;
    line-height: 1.448;
    font-family: "Darumadrop One", sans-serif;
    color: #FFDB00;
    -webkit-text-stroke-width: .428571428571429vw;
    -webkit-text-stroke-color: #000;
    font-weight: normal;
    display: block;
}

.main-visual__image {
        width: 72.150929vw;
    height: 79.0815vw;
    background: url(../img/service/img/kv_mainimg.svg) center center no-repeat;
    background-size: 100% 100%;
    position: absolute;
    right: -16vw;
    top: -11.285714285714286vw;
	right: -15vw;
    top: -12.285714vw;
    z-index: 1;
}

.main-visual__image .mv-popup {
    position: absolute;
    left: 1.621428571428571vw;
    top: 12.5vw;
    z-index: 2;
    width: 21.159285714285714vw;
    height: 19.585vw;
    background: url(../img/service/img/kv_popup.svg) center center no-repeat;
    background-size: 100% 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-size: 2.071428571428571vw;
    line-height: 1.2;
    font-weight: 900;
}

.main-visual__image .mv-card {
    position: absolute;
    left: 6.914285714285714vw;
    top: 38.042857142857143vw;
    z-index: 2;
    width: 13.912928571428571vw;
    height: 23.946785714285714vw;

}

#main-visual .mv-card{
	position: absolute;
    z-index: 3;
    right: 6rem;
    bottom: 1rem;
    width: auto;
}

/*** hover ***/
@media screen and (min-width: 960px) {}

/*** スマホ 767px ~ ***/
@media only screen and (max-width : 767px){
    #main-visual {
        padding: 7.09rem 0 0;
		padding: 2rem 0 0;
        text-align: center;
    }

    #main-visual:before {
        position: absolute;
        left: 4.8rem;
        bottom: 2.3rem;
		        left: 1.8rem;
        bottom: 24.3rem;
        width: 8.7rem;
        height: 15.1rem;
        z-index: 3;
        background: url(../img/service/img/kv_card.svg) center center no-repeat;
        background-size: 100% 100%;
        content: '';
    }

    #main-visual:after {
        height: 36.982rem;
        background-size: auto 100%;
        transform: translateY(-20.8rem);
		transform: translateY(-18.8rem);
    }

    .main-visual__main {
        font-size: 1.4rem;
        line-height: 1.571428571428571;
    }

    .main-visual__main .page-title {
        margin-bottom: 0;
    }

    .main-visual__main .page-title .page-title__sub {
        margin-bottom: -1.14rem;
    }

    .main-visual__main .page-title .page-title__sub small {
        top: -.29rem;
        font-size: 1.3rem;
        line-height: 1.461538461538462;
        gap: 0.63rem;
        margin-left: -13.1rem;;
    }

    .main-visual__main .page-title .page-title__sub small:before,
    .main-visual__main .page-title .page-title__sub small:after {
        width: 1.7rem;
        height: 2.6rem;
    }

    .main-visual__main .page-title .page-title__sub img {
        width: 17.805rem;
		width: 34.805rem;
    }

    .main-visual__main .page-title .page-title__main {
        font-size: 7.4rem;
        line-height: 1.446;
        -webkit-text-stroke-width: .4rem;
    }

    .main-visual__image {
        width: 44.1rem;
        height: 47rem;
		        width: 46.1rem;
        height: 49rem;
        position: relative;
        left: 5.4rem;
		left: 1.4rem;
        top: 0;
        z-index: 1;
        margin-top: -7.1rem;
    }

    .main-visual__image .mv-popup {
        left: -1.25rem;
        top: 8rem;
        width: 14.994rem;
        height: 13.878rem;
        font-size: 1.4rem;
        line-height: 1.5;
    }

    .main-visual__image .mv-card  {
        display: none;
    }
	#main-visual .mv-card{
        bottom: 13rem;
        left: 1rem;
        width: 13rem;
	}
}

/* !contents
---------------------------------------------------------- */
#contents {
    position: relative;
    z-index: 2;
    padding: 12.285714285714286vw 0 11rem;
}

.inner {
    width: 100%;
    max-width: 102rem;
    padding: 0 1rem;
    margin: 0 auto;
}

/*** hover ***/
@media screen and (min-width: 960px) {}

/*** スマホ 767px ~ ***/
@media only screen and (max-width : 767px){
    #contents {
        padding: 0 0 7.1rem;
    }
	.inner {
    max-width: auto;
}

}

/* !footer
---------------------------------------------------------- */
#footer {
    background: #fff;
    width: 100%;
    padding: 4rem 1rem 3.5rem;
}

.footer-inner {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5rem;
}

.footer-sns {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0rem;
    width: 30%;
}

.footer-sns li {
    width: 100%;
	text-align: center;
}
.footer-sns .op{
	    width: 100%;
    position: relative;
    display: flex;
}
.footer-sns img {
       width: 50px;
    margin: 0 auto;
	    margin-bottom: 0.8rem;
}

.footer-sns li p{
	    font-family: 'Noto Sans JP';
    font-weight: 600;
}

.footer-links a {
    width: 34rem;
    height: 8.1rem;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 7.3rem;
    background: #000000;
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1.5;
    color: #ffffff;
    font-family: "Noto Sans JP", sans-serif;
}

#copyright {
    margin-top: 4.2rem;
    text-align: center;
    font-size: 1.4rem;
    letter-spacing: .08em;
    line-height: 1;
    font-family: "Roboto", sans-serif;
    color: #333333;
}

/*** hover ***/
@media screen and (min-width: 960px) {}

/*** スマホ 767px ~ ***/
@media only screen and (max-width : 767px){
    #footer {
        padding: 4rem 1rem2.8rem;
    }

    .footer-inner {
        gap: 2rem;
		display: block;
    }

    .footer-sns {
        gap: 1.5rem;
		width: 100%;
    }

    .footer-sns li {
        width: auto;
    }

    .footer-links a {
        width: 90%;
        height: 6.3rem;
        font-size: 2rem;
        margin: 3rem auto 0;
    }

    #copyright {
        margin-top: 4.4rem;
    }
}


/* !heading
---------------------------------------------------------- */
.heading_large {
    text-align: center;
    font-size: 12.6rem;
    line-height: 1.444;
    font-family: "Darumadrop One", sans-serif;
    color: #FFDB00;
    -webkit-text-stroke-width: .5rem;
    -webkit-text-stroke-color: #000;
    font-weight: normal;
}

.heading_large span {
    font-size: 9.4rem;
}

.heading_large small {
    font-size: 8.1rem;
}

/*** スマホ 767px ~ ***/
@media only screen and (max-width : 767px){
    .heading_large {
        font-size: 5.3rem;
        line-height: 1.434;
        -webkit-text-stroke-width: .3rem;
    }

    .heading_large span,
    .heading_large small {
        font-size: 3.9rem;
    }
}


/* !home
---------------------------------------------------------- */
.about-wrap {
    padding-bottom: 43rem;
    text-align: center;
    font-size: 2rem;
    font-weight: bold;
    line-height: 2.2;
    position: relative;
}

.about-wrap .heading_large {
    margin-bottom: 1.2rem;
}

.about-wrap .about-wrap__image {
    width: 176rem;
    height: 94.0384rem;
    background: url(../img/service/img/img_about.svg) left center no-repeat;
    background-size: auto 100%;
    position: absolute;
    top: 14.7rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}

.about-wrap .about-wrap__image .about-popup {
    width: 21.694rem;
    height: 22.198rem;
    background: url(../img/service/img/bg_about_popup.svg) center center no-repeat;
    background-size: 100% 100%;
    display: block;
    padding-top: 6.6rem;
    text-align: center;
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1.45;
    position: absolute;
    left: 33.77rem;
    top: 2rem;
    z-index: 2;
}

/*** スマホ 767px ~ ***/
@media only screen and (max-width : 767px){
    .about-wrap {
        padding-bottom: 27rem;
        font-size: 1.4rem;
        line-height: 2;
    }

    .about-wrap .heading_large {
        margin-bottom: 1.5rem;
    }

    .about-wrap .about-wrap__image {
        width: 47.588rem;
        height: 25.153rem;
        top: unset;
        bottom: -6.1rem;
    }

    .about-wrap .about-wrap__image .about-popup {
        width: 18.261rem;
        height: 18.431rem;
        background: url(../img/service/img/bg_about_popup_sp.svg) center center no-repeat;
        background-size: 100% 100%;
        padding-top: 6.55rem;
        font-size: 1.4rem;
        left: 12.27rem;
        top: -8.33rem;
        z-index: -1;
        padding-left: 1rem;
    }
}

.profile-wrap {
    width: 94.5rem;
    height: 72.3rem;
    margin: 0 auto;
    background: url(../img/service/img/bg_profile.svg) center center no-repeat;
    background-size: 100% 100%;
    position: relative;
    z-index: 2;
    padding: 0 5.45rem 0 8.2rem;
}

.profile-wrap .profile-wrap__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 100%;
}

.profile-wrap .profile-image {
    width: 32.249rem;
    padding-top: 6rem;
}

.profile-wrap .profile-image img {
    width: 100%;
}

.profile-wrap .profile-box {
    width: 46rem;
    font-size: 2rem;
    font-weight: bold;
    line-height: 2.1;
}

.profile-wrap .profile-box h2 {
    font-size: 8.3rem;
    line-height: 1.445;
    font-family: "Darumadrop One", sans-serif;
    color: #FFDB00;
    -webkit-text-stroke-width: .4rem;
    -webkit-text-stroke-color: #000;
    font-weight: normal;
    margin-bottom: 1.75rem;
}

.profile-wrap .profile-box dl {
    display: flex;
    align-items: center;
    margin-bottom: 1.76rem;
}

.profile-wrap .profile-box dl dt {
    word-break: keep-all;
    white-space: nowrap;
    margin-right: 1.6rem;
}

.profile-wrap .profile-box dl dd {
    font-size: 4.8rem;
    line-height: 1.458;
}

/*** スマホ 767px ~ ***/
@media only screen and (max-width : 767px){
    .profile-wrap {
        width: calc(100% + 2rem);
        margin: 0 -1rem;
        height: auto;
        background-size: auto 100%;
        padding: 8.14rem 2rem 11.17rem;
        text-align: center;
    }

    .profile-wrap .profile-wrap__inner {
        display: block;
        height: auto;
    }

    .profile-wrap .profile-image {
        width: 19.045rem;
        padding-top: 0;
        margin: 0 auto;
        margin-bottom: 3rem;
    }

    .profile-wrap .profile-box {
        width: 100%;
        font-size: 1.4rem;
        line-height: 2;
    }

    .profile-wrap .profile-box h2 {
        font-size: 5.3rem;
        line-height: 1.434;
        -webkit-text-stroke-width: .3rem;
        margin-bottom: 1.47rem;
    }

    .profile-wrap .profile-box dl {
        display: block;
        margin-bottom: 1.47rem;
    }

    .profile-wrap .profile-box dl dt {
        line-height: 1.45;
        margin: 0;
    }

    .profile-wrap .profile-box dl dd {
        font-size: 2.4rem;
        line-height: 1.458;
        margin-top: -.2rem;
    }
}


.sns-wrap {
    padding: 10.2rem 0 0;
}

.sns-wrap .heading_large {
    padding-left: 5.3rem;
    margin-bottom: 4.2rem;
}

.sns-wrap .sns-list {
    position: relative;
}

.sns-wrap .sns-list .sns-list__box {
    width: 26.255rem;
    height: 24.5744rem;
    background: url(../img/service/img/img_sns.svg) center center no-repeat;
    background-size: 100% 100%;
    position: absolute;
    left: -13.8rem;
    top: -20.1rem;
    z-index: -1;
}

.sns-wrap .sns-list .sns-list__box .sns-popup {
    width: 20.3255rem;
    height: 18.8844rem;
    background: url(../img/service/img/bg_sns_popup.svg) center center no-repeat;
    background-size: 100% 100%;
    padding-top: 6.79rem;
    text-align: center;
    font-size: 2rem;
    line-height: 1.2;
    font-weight: bold;
    position: absolute;
    left: 15.14rem;
    top: -14.25rem;
    z-index: 2;
}

.sns-wrap .sns-list ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem 4rem;
}

/*** スマホ 767px ~ ***/
@media only screen and (max-width : 767px){
    .sns-wrap {
        padding: 6.54rem 0 5.07rem;
    }

    .sns-wrap .heading_large {
        padding-left: 0;
        margin-bottom: 17rem;
    }

    .sns-wrap .sns-list {
        position: relative;
    }

    .sns-wrap .sns-list .sns-list__box {
        width:19.2rem;
        height: 19.5rem;
        left: 0;
        top: -16rem;
        z-index: -1;
    }

    .sns-wrap .sns-list .sns-list__box .sns-popup {
        width: 15.3rem;
        height: 15.1rem;
        background: url(../img/service/img/bg_sns_popup_sp.svg) center center no-repeat;
        background-size: 100% 100%;
        padding: 5.58rem .8rem 0 0;
        text-align: center;
        font-size: 1.4rem;
        line-height: 1.45;
        left: 100%;
        top: 0;
    }

    .sns-wrap .sns-list ul {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: .65rem .71rem;
    }
}

.service-wrap {
    position: relative;
    margin-top: 12rem;
}

.service-wrap:before {
    position: absolute;
    top: 9vw;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 50vw;
    content: '';
    background: url(../img/service/img/kv_wind.png) center center no-repeat;
    background-size: 100% 100%;
    transform: scaleX(-1);
}


.service-wrap .service-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: 85.714285714285714vw;
    margin: 0 auto;
    padding: 0 1.142857142857143vw;
    margin-bottom: 4.114285714285714vw;
}

.service-wrap .service-head .service-head__image {
    width: 24.032142857142857vw;
    position: relative;
}

.service-wrap .service-head .service-head__image .service-head__image-img {
    transform: rotate(-14deg);
}

.service-wrap .service-head .service-head__image .service-head__image-img,
.service-wrap .service-head .service-head__image .service-head__image-img img {
    width: 100%;
}

.service-wrap .service-head .service-head__image .service-head__image-popup {
    position: absolute;
    top: -6.828571vw;
    right: -12.835714vw;
    width: 21.495786vw;
    height: 18.855857vw;
    background: url(../img/service/img/bg_service_top_popup1.svg) center center no-repeat;
    background-size: 100% 100%;
    z-index: 2;
    font-size: 1.7vw;
    line-height: 1.33;
    padding-top: 9.8rem;
    padding-left: 3rem;
    text-align: center;
    font-weight: 900;
}

.service-wrap .service-head .service-head__image .service-head__image-sign {
    position: absolute;
    left: 2.814285714285714vw;
    bottom: 0.792857142857143vw;
    z-index: 2;
    font-size: 1.142857142857143vw;
    line-height: 1.5;
    font-weight: 900;
    text-align: center;
}


.service-wrap .service-head .service-head__title {
    width: 51.396429vw;
    text-align: center;
    padding-top: 2.73469387755102vw;
    font-size: 4vw;
    line-height: 1.37;
    font-weight: 900;
}

.service-wrap .service-head .service-head__title span{
	background: white;
    padding: 0 0.5rem;
    color: #FFDB00;
    -webkit-text-stroke: 2px black;
}

.service-wrap .service-head .service-head__title span p{
	    display: inline;
    font-size: 8rem;
}

.service-wrap .service-body .service-body__title {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 0;
    font-size: 5rem;
    font-weight: 900;
    line-height: 1.63;
    margin-bottom: 9.78rem;
}

.service-wrap .service-body .service-body__title span {
    background: linear-gradient(-45deg, #FFDB00, #FFF505);
    display: block;
    padding: 0 2.5rem;
    padding-right: inherit;
    height: 8rem;
	position: relative;
}
.service-wrap .service-body .service-body__title span strong{
	font-size: 9rem;
    margin-top: -5rem;
    display: inline-block;
}
.service-wrap .service-body .service-body__title span strong::before{
	content: '（わたしたち）';
    display: block;
    position: absolute;
    top: -0.5rem;
    font-size: 14px;
    left: 8rem;
}

.service-wrap .service-body .service-body__text {
    font-size: 2rem;
    line-height: 1.6;
    font-weight: 900;
    text-align: center;
    margin-bottom: 6rem;
}

.service-wrap .service-body .service-body__text span{
    font-size: 4rem;
    display: inline-block;
    margin-top: -2rem;
}

.service-list {
    position: relative;
}

.service-list .service-image1 {
    position: absolute;
    z-index: -1;
    width: 24.338rem;
    height: 27.776rem;
    right: 7.73rem;
    top: -28.1rem;
}

.service-list .service-image2 {
    position: absolute;
    z-index: -1;
    width: 0;
    height: 0;
    left: 2rem;
    top: -47rem;
}

.service-list .service-image3 {
    position: absolute;
    z-index: -1;
    width: 0;
    height: 0;
    left: 9rem;
    top: -23rem;
}

.service-list .service-image4 {
    position: absolute;
    z-index: -1;
	
        right: 21rem;
    top: -60rem;
}

.service-list .service-image img {
    width: 100%;
    transform: rotate(11deg);
}

.service-list .service-image1 .service-image__popup {
    position: absolute;
    right: -17.73rem;
    top: -8.04rem;
    width: 35.077rem;
    height: 26.398rem;
    background: url(../img/service/img/bg_service_popup1.svg) center center no-repeat;
    background-size: 100% 100%;
    z-index: 2;
    font-size: 2.3rem;
    font-weight: 600;
    line-height: 1.33;
    padding-top: 7.9rem;
    text-align: center;
    padding-left: 7rem;
}

.service-list .service-image2 .service-image__popup {
    position: absolute;
    right: -17.73rem;
    top: -12.04rem;
    width: 33.077rem;
    height: 24.398rem;
    background: url(../img/service/img/bg_service_popup2.svg) center center no-repeat;
    background-size: 100% 100%;
    z-index: 2;
    font-size: 2.3rem;
    font-weight: 600;
    line-height: 1.33;
    padding-top: 7.9rem;
    padding-right: 5rem;
    text-align: center;
}

.service-list .service-image3 .service-image__popup {
       position: absolute;
    right: -16.73rem;
    top: -8.04rem;
    width: 33.077rem;
    height: 26.398rem;
    background: url(../img/service/img/bg_service_popup3.svg) center center no-repeat;
    background-size: 100% 100%;
    z-index: 2;
    font-size: 2.3rem;
    font-weight:  600;
    line-height: 1.33;
    padding-top: 10rem;
    padding-right: 6rem;
}

.service-list .service-image4 .service-image__popup {
    position: absolute;
        right: -14.73rem;
    top: -9.04rem;
    width: 29.077rem;
    height: 24.398rem;
    background: url(../img/service/img/bg_service_popup4.svg) center center no-repeat;
    background-size: 100% 100%;
    z-index: 2;
       font-size: 2.3rem;
    font-weight:  600;
    line-height: 1.33;
    padding-top: 6.5rem;
    text-align: center;
	    padding-left: 2rem;
}

.service-list .service-list__item + .service-list__item {
    margin-top: 3rem;
}

.service-list .service-list__item {
    background: #fff;
    box-shadow: 0 0 1rem rgba(0, 0, 0, .16);
    border-radius: 2rem;
    padding: 5rem 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.service-list .service-list__item .service-item__box {
    width: 61%;
    padding-left: 12rem;
}

.service-list .service-list__item .service-item__box .service-number span {
    display: inline-block;
    padding: .34rem 2.5rem .7rem;
    border-radius: 3.7rem;
    background: linear-gradient(-45deg, #FFDB00, #FFFF9B);
    font-size: 2.1rem;
    line-height: 1.428571428571429;
    color: #36362D;
    font-family: "Darumadrop One", sans-serif;
}

.service-list .service-list__item .service-item__box .service-title {
    font-size: 4.4rem;
    font-weight: bold;
    line-height: 1.34;
    letter-spacing: .08em;
    margin-top: 1.7rem;
}

.service-list .service-list__item.service03 .service-item__box .service-title {
    word-break: keep-all;
}

.service-list .service-list__item .service-item__box .service-text {
    font-size: 1.6rem;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    letter-spacing: .08em;
    line-height: 1.6875;
    margin-top: 2.5rem;
    color: #000000;
}

.service-list .service-list__item.service01 .service-item__box .service-text,
.service-list .service-list__item.service02 .service-item__box .service-text {
    max-width: 39rem;
}

.service-list .service-list__item .service-item__image {
    width: 39%;
    padding-right: 5rem;
}

.service-list .service-list__item.service01 .service-item__image img {
    width: 100%;
    max-width: 21.2rem;
}

.service-list .service-list__item.service02 .service-item__image img {
    width: 100%;
    max-width: 28rem;
}

.service-list .service-list__item.service03 .service-item__image img {
    width: 100%;
    max-width: 34rem;
}

/*** スマホ 767px ~ ***/
@media only screen and (max-width : 767px){
	
	.service-wrap {
    margin-top: 6rem;
}

    .service-wrap:before {
        top: -3rem;
        left: -25rem;
        width: 100rem;
        height: 63.934rem;
        content: '';
        background: url(../img/service/img/kv_wind.png) left center no-repeat;
        background-size: 100% auto;
    }


    .service-wrap .service-head {
        flex-direction: column-reverse;
        justify-content: center;
        align-items: center;
        width: 100%;
        padding: 0;
        margin-bottom: 2.2rem;
    }

    .service-wrap .service-head .service-head__image {
        width: 18.474rem;
    }

    .service-wrap .service-head .service-head__image .service-head__image-img {
        transform: rotate(-14deg);
    }

    .service-wrap .service-head .service-head__image .service-head__image-img,
    .service-wrap .service-head .service-head__image .service-head__image-img img {
        width: 100%;
    }

    .service-wrap .service-head .service-head__image .service-head__image-popup {
        position: absolute;
        top: -6.54rem;
        right: -9.31rem;
        width: 16.7rem;
        height: 15.9rem;
        font-size: 1.4rem;
        line-height: 1.45;
        padding-top: 5.27rem;
        padding-right: 1rem;
    }

    .service-wrap .service-head .service-head__image .service-head__image-sign {
        left: -6.21rem;
        bottom: 1.03rem;
        font-size: 1.4rem;
        line-height: 1.928571428571429;
    }


    .service-wrap .service-head .service-head__title {
        width: 100%;
        padding-top: 0;
        font-size: 3rem;
        line-height: 1.384;
        margin-bottom: 6.62rem;
    }
	.service-wrap .service-head .service-head__title span p{
		font-size: 5rem;
	}

    .service-wrap .service-body .service-body__title {
        gap: 0;
        font-size: 2.5rem;
        line-height: 1;
        margin-bottom: 2.44rem;
    }

    .service-wrap .service-body .service-body__title span {
        background: linear-gradient(-45deg, #FFDB00, #FFF505);
        display: flex;
                padding: 0;
        padding-left: 1rem;
        height: 4.5rem;
        align-items: center;
    }

    .service-wrap .service-body .service-body__text {
        font-size: 1.4rem;
        line-height: 2;
        margin-bottom: 3.96rem;
        margin-top: 18rem;
    }

	.service-wrap .service-body .service-body__text span{
		    font-size: 2.6rem;
    display: inline-block;
    margin-top: -4rem;
	}
	
    .service-list .service-image {
        width: 18.355rem;
        height: 20.947rem;
        right: unset;
        left: 4.43rem;
        top: -16.51rem;
    }

    .service-list .service-image .service-image__popup {
        position: absolute;
        right: -11.91rem;
        top: -5.37rem;
        width: 18.158rem;
        height: 18.4rem;
        font-size: 1.4rem;
        line-height: 1.45;
        padding-top: 6rem;
    }

    .service-list .service-list__item + .service-list__item {
        margin-top: 1.5rem;
    }

    .service-list .service-list__item {
        padding: 4.75rem 2.65rem;
        display: block;
    }

    .service-list .service-list__item.service03 {
        padding-bottom: 0;
    }

    .service-list .service-list__item .service-item__box {
        width: 100%;
        padding-left: 0;
    }

    .service-list .service-list__item .service-item__box .service-number span {
        padding: .5rem 2.5rem .59rem;
        font-size: 1.4rem;
        line-height: 1.45;
    }

    .service-list .service-list__item .service-item__box .service-title {
        font-size: 2.6rem;
        line-height: 1.461538461538462;
        letter-spacing: .08em;
        margin-top: 2.38rem;
    }

    .service-list .service-list__item .service-item__box .service-text {
        font-size: 1.4rem;
        line-height: 1.928571428571429;
        margin-top: 2.38rem;
        color: #000000;
    }

    .service-list .service-list__item.service01 .service-item__box .service-text,
    .service-list .service-list__item.service02 .service-item__box .service-text {
        max-width: 100%;
    }

    .service-list .service-list__item .service-item__image {
        width: 100%;
        text-align: center;
        padding-right: 0;
        margin-top: 3.2rem;
    }

    .service-list .service-list__item.service01 .service-item__image img {
        max-width: 13.551rem;
    }

    .service-list .service-list__item.service02 .service-item__image img {
        max-width: 19.375rem;
    }

    .service-list .service-list__item.service03 .service-item__image {
        margin-top: 0;
        padding-right: 2.55rem;
    }

    .service-list .service-list__item.service03 .service-item__image img {
        max-width: 24.95rem;
    }
	.service-wrap .service-body .service-body__title span strong{
	font-size: 5rem;
    margin-top: -1rem;
    display: inline-block;
}
.service-wrap .service-body .service-body__title span strong::before{
	content: '（わたしたち）';
    display: block;
    position: absolute;
    top: 0;
    font-size: 12px;
    left: 3.5rem;
}
	
}


.case-wrap {
    padding-top: 0.66rem;
    text-align: center;
}

.case-wrap .case-title {
    font-size: 3rem;
    line-height: 1.63;
    font-weight: 900;
    margin-bottom: 1.4rem;
}

.case-wrap .case-links a {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 54.1rem;
    height: 12.1rem;
    border-radius: 12.5rem;
    background: #000000;
    font-size: 4rem;
    font-weight: 900;
    color: #ffffff;
    line-height: 1.5;
    box-shadow: 1rem 1rem 1rem rgba(0, 0, 0, .16);
}

/*** hover ***/
@media screen and (min-width: 960px) {
    .case-wrap .case-links a:hover {
        box-shadow: 0 0 0 rgba(0, 0, 0, .16);
        text-decoration: none;
    }
}

/*** スマホ 767px ~ ***/
@media only screen and (max-width : 767px){
    .case-wrap {
        padding-top: 2.5rem;
    }

    .case-wrap .case-title {
        font-size: 1.6rem;
        line-height: 1.6875;
        margin-bottom: 2.2rem;
    }

    .case-wrap .case-links a {
                width: 26.6rem;
        height: 6.9rem;
        font-size: 2.1rem;
    }
}

.contact-wrap {
    padding-top: 0;
    margin-bottom: -11.6rem;
    z-index: -1;
    position: relative;
}

.contact-wrap .contact-head {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 1.49rem;
    position: relative;
    z-index: 1;
    margin-bottom: -2rem;
}

.contact-wrap .contact-head .contact-head__popup {
    width: 38.8256rem;
    height: 29.2671rem;
    background: url(../img/service/img/bg_contact_popup.svg) center center no-repeat;
    background-size: 100% 100%;
        font-size: 2rem;
    line-height: 1.39;
    font-weight: 900;
    padding-top: 11.5rem;
    text-align: center;
    margin-bottom: 1.39rem;
}


.contact-wrap .contact-head .contact-head__image {
    width: 19.627rem;
}

.contact-wrap .contact-head .contact-head__image img {
    width: 100%;
}

.contact-links {
    position: relative;
    z-index: 2;
    text-align: center;
}

.contact-links a {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 40.5rem;
    height: 8.1rem;
    border-radius: 10rem;
    box-shadow: 1rem 1rem 1rem rgba(0, 0, 0, .16);
    background: linear-gradient(135deg, #FFDB00, #FFFF9B);
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.5;
}
/*** hover ***/
@media screen and (min-width: 960px) {
    .contact-links a:hover {
        box-shadow: 0 0 0 rgba(0, 0, 0, .16);
        text-decoration: none;
    }
}

/*** スマホ 767px ~ ***/
@media only screen and (max-width : 767px){
    .contact-wrap {
        padding-top: 4.37rem;
    }

    .contact-wrap .contact-head {
        gap: 0;
        margin-bottom: -1rem;
    }

    .contact-wrap .contact-head .contact-head__popup {
        width: 23.7rem;
        height: 15.1rem;
        font-size: 1.4rem;
        line-height: 1.45;
        padding-top: 5.55rem;
        text-align: center;
        margin-bottom: .42rem;
    }


    .contact-wrap .contact-head .contact-head__image {
        width: 11.543rem;
    }

    .contact-links a {
        width: 31.4rem;
        height: 7.4rem;
        font-size: 1.8rem;
    }
}







/* コンテナ */
.container{
  max-width:var(--max-width);
  margin:0 auto;
  padding:0 10px;
}

/* ----------------------
   ヒーロー画像（上部1枚画像） — pictureで切替
   ---------------------- */
.hero {
  width:100%;
  display:block;
}
.hero img{width:100%;height:auto;display:block}

/* ----------------------
   トップのメッセージ / サービスカード（簡略化） 
   ※ ご要望は後半のプラン〜問い合わせ〜フッターを重点実装
   ---------------------- */
.section {
  padding:26rem 0 0;
}
.headline{
  text-align:center;
  margin-bottom:24px;
}
.headline h2{
  margin:0;
  font-size:28px;
  letter-spacing: .02em;
  font-weight:700;
}
.headline p{ margin:8px 0 0; color:var(--muted) }

/* ----------------------
   プラン表（table）スタイル
   ---------------------- */
.plan-wrap{
  padding: 10rem 22rem;
    text-align: center;
}
.plan-card{
}

/* テーブルの見た目 */
.plan-table{
  width:100%;
  border-collapse:collapse;
  font-size:14px;
  overflow:auto;
}
.plan-table th,
.plan-table td{
  padding:10px 12px;
  border:1px solid rgba(0,0,0,0.06);
  text-align:left;
  vertical-align:middle;
}
.plan-table thead th{
  background:rgba(0,0,0,0.03);
  font-weight:600;
}
.plan-price{
  font-weight:800;
  font-size:18px;
}

.plan-card h3{
	    font-weight: 800;
    font-size: 5rem;
}

.plan-card p{
	    font-weight: 600;
    font-size: 2rem;
    margin-bottom: 5rem;
}

/* レスポンシブ時は表を縦並びに切り替え */
@media (max-width:780px){
  .plan-table{ display:block; }
  .plan-table thead{display:none;}
  .plan-table tr{display:block;margin-bottom:14px;border-bottom:1px dashed rgba(0,0,0,0.06)}
  .plan-table td{display:flex;justify-content:space-between;padding:12px 10px}
  .plan-table td::before{
    content:attr(data-label);
    display:block;
    font-weight:600;
    color:var(--muted);
    margin-right:12px;
  }
}

/* ----------------------
   お問い合わせセクション
   ---------------------- */
.contact {
  padding: 60px 0 80px;
  text-align:center;
}
.contact h3{margin-bottom: -40px;}
.contact .sub{
  color:var(--muted);
  margin-bottom:18px;
}


.Form {
  margin-top: 80px;
  margin-left: auto;
  margin-right: auto;
  max-width: 720px;
}

.Form-Item {
  padding: 1.5rem 0;
  width: 100%;
  display: flex;
  align-items: center;
	text-align: left;
}
@media screen and (max-width: 480px) {
  .Form-Item {
    padding-bottom: 0;
    flex-wrap: wrap;
  }
	.contact h3{margin-bottom: 0px;}
}
.Form-Item:nth-child(5) {
}
.Form-Item-Label {
  width: 100%;
  max-width: 248px;
  letter-spacing: 0.05em;
  font-weight: bold;
  font-size: 18px;
	    text-align: left;
}

.Form-Item .error{
	color: red;
}
@media screen and (max-width: 480px) {
  .Form-Item-Label {
    max-width: inherit;
    display: flex;
    align-items: center;
    font-size: 15px;
  }
}
.Form-Item-Label.isMsg {
  margin-top: 8px;
  margin-bottom: auto;
}
@media screen and (max-width: 480px) {
  .Form-Item-Label.isMsg {
    margin-top: 0;
  }
}
.Form-Item-Label-Required {
  border-radius: 2rem;
    padding-bottom: 2px;
    margin-left: 1.5rem;
    width: 48px;
    display: inline-block;
    text-align: center;
    background: #FFDB00;
    color: #000000;
    font-size: 14px;
}
@media screen and (max-width: 480px) {
  .Form-Item-Label-Required {
    border-radius: 4px;
    padding-top: 4px;
    padding-bottom: 4px;
    width: 32px;
    font-size: 10px;
  }
}
.Form-Item-Input {
  border: none;
    border-radius: 1rem!important;
    padding-left: 1em;
    padding-right: 1em;
    height: 48px;
    flex: 1;
    width: 100%;
    background: white;
    font-size: 18px;
}
@media screen and (max-width: 480px) {
  .Form-Item-Input {
    margin-left: 0;
    margin-top: 1rem;
    height: 40px;
    flex: inherit;
    font-size: 15px;
  }
}
.Form-Item-Textarea {
      border: none;
    border-radius: 1rem;
    height: 216px;
    flex: 1;
    width: 100%;
    background: white;
    font-size: 18px;
	padding: 0.5em 1em;
}
@media screen and (max-width: 480px) {
  .Form-Item-Textarea {
    margin-top: 18px;
    margin-left: 0;
    height: 200px;
    flex: inherit;
    font-size: 15px;
  }
}
.Form-Btn {
  border-radius: 4rem !important;
    margin: 5rem auto;
    padding: 2.8rem;
    width: 100%;
    display: block;
    letter-spacing: 0.05em;
    background: #FFDB00;
    color: black!important;
    font-weight: bold;
    font-size: 2rem;
    border: none;
}
.Form-Btn button{
	    border: none;
    background: none;
    font-size: 2rem;
    font-weight: 600;
	    width: 100%;
	    font-family: 'Zen Maru Gothic';
	color: black;
}

@media screen and (max-width: 480px) {
  .Form-Btn {
            margin-top: 2rem;
        padding: 2rem;
        width: auto;
        font-size: 16px;
  }
}












/* ----------------------
   下部 CTA（実績ボタン） & フッター
   ---------------------- */
.cta-bottom{
  text-align:center;
  margin-top:20px;
  margin-bottom:40px;
}
.cta-black{
  display:inline-block;
  background:var(--black);
  color:#fff;
  padding:14px 28px;
  border-radius:40px;
  text-decoration:none;
  font-weight:700;
  box-shadow:0 8px 18px rgba(0,0,0,0.12);
}

/* footer */
.site-footer{
  background:#fff;
  padding:28px 0 44px;
}
.sns-row{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:18px;
  margin-bottom:14px;
}
.sns-row a{
  font-size:26px;
  color:var(--black);
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  border-radius:10px;
  background:transparent;
}
.corp-btn{
  display:inline-block;
  padding:10px 26px;
  border-radius:30px;
  background:var(--black);
  color:#fff;
  text-decoration:none;
  font-weight:700;
  margin-left:8px;
}
.copy{
  text-align:center;
  color:var(--muted);
  font-size:13px;
}

/* ----------------------
   スマホ調整
   ---------------------- */
@media (max-width:780px){
  .headline h2{ font-size:20px }
  .paguoji{ width:72px; height:72px }
  .balloon{ max-width:240px; font-size:13px; padding:12px 14px }
  .btn-primary{ font-size:16px; padding:14px 18px }
  .sns-row a{ width:44px;height:44px;font-size:22px }
}


.qa-1 {
        margin: 4rem 0 0;
}

.qa-1 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em 1em 3em;
    color: #333333;
    font-weight: 600;
    cursor: pointer;
	display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 0.9rem 2rem;
    color: #333333;
    cursor: pointer;
    background: white;
    font-size: 2.3rem;
    font-family: 'Noto Sans JP';
    font-weight: 700;
}

.qa-1 summary::before,
.qa-1 p::before {
    position: absolute;
    right: 0.7em;
    font-weight: 600;
    font-size: 1.3em;
}

.qa-1 summary::before {
    background: #77CCE2;
    width: 35px;
    height: 35px;
    content: "";
    border-radius: 4rem;
}

.qa-1 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
        right: 3.5rem;
    position: absolute;
    border-bottom: 3px solid white;
    border-right: 3px solid white;
    content: '';
    transition: transform .5s;
}

.qa-1[open] summary::after {
    transform: rotate(225deg);
}

.qa-1 p {
    position: relative;
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: 1rem 0;
    font-size: 1.4rem;
    font-family: 'Noto Sans JP';
    color: #333;
    transition: transform .5s, opacity .5s;
    text-align: left;
}

.qa-1[open] p {
    transform: none;
    opacity: 1;
}

/*.qa-1 p::before {
    color: #ff8d8d;
    line-height: 1.2;
    content: "A";
}*/

.section .planex{
	display: flex;
    justify-content: center;
    gap: 2rem;
}

.section .planex li{
	background: white;
    border-radius: 2rem;
    box-shadow: 0 9px 13px rgba(0, 0, 0, 0.1);
    padding: 3rem;
	    width: 29%;
	text-align: left;
}

.planNa{
	font-family: "Darumadrop One", sans-serif;
    color: #36362D;
    font-size: 2.5rem;
    background: #EAFAFF;
    padding: 0.5rem;
    width: 18rem;
    display: block;
    text-align: center;
    border-radius: 5rem;
	font-weight: 100;
}

.planex h4{
	font-size: 2.8rem;
        margin: 1.5rem 0 3rem;
}

.planex h4 strong{
	text-underline-position: from-font;
    font-weight: 600;
    text-decoration: underline dotted #FFDB00;
    text-underline-offset: 4px;
    text-decoration-thickness: 6px;
}

.recommend{
	font-size: 1.8rem;
    font-weight: 700;
    font-family: 'Noto Sans JP';
    background: #EAFAFF;
    padding: 0.4rem 1.5rem;
}

.planex .point{
	font-family: 'Noto Sans JP';
    letter-spacing: 1px;
    font-size: 15px;
    line-height: 2;
    margin: 1.5rem 0 3rem;
    font-weight: 500;
	height: 8rem;
}

.planBtn{
	background: #000000;
    color: white;
    font-weight: 600;
    width: 100%;
    display: block;
    padding: 1.2rem;
    font-size: 1.8rem;
    text-align: center;
    border-radius: 5rem;
}




.btn {
    display: block;
    width: 80%;
    max-width: 600px;
    margin: -1rem auto;
    padding: 3rem 2rem;
    border-radius: 1rem;
    font-size: 2rem;
    font-weight: bold;
    text-decoration: none;
    transition: 0.3s;
    z-index: 2;
    position: relative;
    font-weight: 800;
}

.btn-black {
  background: #000;
  color: #fff;
	max-width: 360px;
    padding: 1.5rem 2rem;
    border-radius: 6rem;
    margin-bottom: 4rem;
	margin-top: 2rem;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
	font-weight: 700;
}
.btn-black:hover {
  background: #333;
}

.btn-yellow {
      background: linear-gradient(to left, #FFFF9B, #F5C000);
  color: #000;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}
.btn-yellow:hover {
  background: linear-gradient(to left, #e6c200, #d9ac00);
}


#contents_thanks{
	text-align: center;
	padding: 10rem 0;
}

#contents_thanks .pageSubTitle p{
	    font-size: 2rem;
    font-weight: 700;
    line-height: 2;
    margin: 2rem auto 3rem;
	}


@media only screen and (max-width : 767px){
	.section {
    padding: 14rem 0 0;
}
	
.service-list .service-image1 {
    position: absolute;
    z-index: -1;
    width: 24.338rem;
    height: 27.776rem;
    right: 7.73rem;
    top: -28.1rem;
}

.service-list .service-image2 {
    position: absolute;
    z-index: -1;
    width: 0;
    height: 0;
    left: 2rem;
    top: -47rem;
}

.service-list .service-image3 {
    position: absolute;
    z-index: -1;
    width: 0;
    height: 0;
    left: 9rem;
    top: -23rem;
}

.service-list .service-image4 {
    position: absolute;
    z-index: -1;
	
        right: 21rem;
    top: -60rem;
}
	
.service-list .service-image img {
    width: 100%;
    transform: rotate(11deg);
}

.service-list .service-image1 .service-image__popup {
    right: -11rem;
        width: 24rem;
        font-size: 1.3rem;
        padding-top: 10rem;
        top: -11rem;
        padding-right: 1rem;
}

.service-list .service-image2 .service-image__popup {
    right: -14.73rem;
        top: -11.04rem;
        width: 20.077rem;
        font-size: 1.3rem;
        padding-top: 6.5rem;
        padding-left: 2rem;
}

.service-list .service-image3 .service-image__popup {
     width: 21rem;
        top: -13rem;
        left: -14rem;
        font-size: 1.3rem;
        padding-top: 7rem;
        padding-left: 2rem;
}

.service-list .service-image4 .service-image__popup {
    width: 17.077rem;
        font-size: 1.3rem;
        padding-top: 5rem;
                top: 3rem;
        left: 14rem;
}
	
	.section .planex{
		    display: block;
	}
	.section .planex li{
		width: 100%;
    padding: 2rem;
		        margin-bottom: 2rem;
	}
	
	.planex h4 {
    font-size: 2.5rem;
    margin: 1rem 0 2.5rem;
}
	.planex .point{
		    height: auto;
		    margin: 1.5rem 0 2rem;
	}
	.planNa {
		font-size: 2rem;
	}

.plan-wrap {
    padding: 6rem 1rem;
}
	.plan-card h3 {
    font-size: 4rem;
}
	
	.plan-card p {
    font-size: 1.6rem;
    margin-bottom: 3rem;
}
	
	.qa-1 summary{
		font-size: 1.5rem;
	}
	
	.qa-1 summary::after{
		        right: 2.4rem;
	}
	.qa-1 summary::before {
    width: 30px;
		height: 30px;}
	
	.qa-1 {
    margin: 2rem 0 0;
}
	.contact {
    padding: 0;
}
	    .contact-wrap {
        padding-top: 0;
    }
	
	    .Form {
        margin-top: 10rem;
    }

	
}


.fixed_banner {position: fixed; /* 追従させる為にfixedの値を記述します */z-index: 99999; /* 他の要素の下に隠れないように全面配置させます */top: 1rem; /* 上から150pxのところにバナーを配置します */right: 2rem; /* 右から40pxのところにバナーを配置します */}

.fixed_banner_pc {
width: 300px; /* バナーの横幅を指定してあげます */
}

.floating-banner:hover {
opacity: .8; /* マウスが重なった時に少し透過させます */
}

.fixed_banner_sp {
display: none; /* PCではスマホ用のバナーは非表示にします */
}


@media screen and (max-width: 480px) { /* メディアクエリを使ってスマホ用のブレイクポイントを指定 */

.fixed_banner_sp {
display: inline-block; /* 消していたスマホ用のバナーを表示させます */
width: 100vw; /* スマホの画面幅いっぱいにバナーを表示させます */
}
	.fixed_banner_pc {
display:none;/* バナーの横幅を指定してあげます */
}

}


/*応募の条件*/

:root{
  --bg:#ffffff;
  --text:#111111;
  --muted:#6b7280;       /* slate-500 */
  --divider:#e5e7eb;     /* gray-200 */
  --accent:#111111;      /* black button */
  --radius:16px;
  --container: 880px;
}

#genz_lp_conditions{
	
}
.page{
  max-width:var(--container);
  padding:72px 20px 96px;
  margin:0 auto;
}

.page2 {
    max-width: var(--container);
    padding: 0 20px 0;
    margin: 0 auto;
}

/* Intro */
#genz_lp_conditions .intro p{
  font-size:clamp(15px, 2.2vw, 18px);
}

/* Blocks */
#genz_lp_conditions .block{
  margin-top:36px;
  padding-top:22px;
  border-top:1px solid var(--divider);
}
#genz_lp_conditions .block h2{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 12px 0;
  font-weight:700;
  font-size:clamp(18px, 2.6vw, 22px);
}
#genz_lp_conditions .block .idx{
  font-feature-settings: 'tnum' 1;
}
#genz_lp_conditions .block .body p{
  margin:.2em 0;
}
#genz_lp_conditions .block ul{
  margin:.2em 0 .2em 1.2em;
  padding:0;
}
#genz_lp_conditions .block li{
  margin:.2em 0;
}
#genz_lp_conditions .note{
  color:var(--muted);
  font-size:.95em;
}

/* CTA */
#genz_lp_conditions .cta{
  margin-top:48px;
  text-align:center;
}
#genz_lp_conditions .cta p{
  margin-bottom:20px;
}
#genz_lp_conditions .button{
  display:inline-block;
  padding:16px 28px;
  border-radius:999px;
  background:var(--accent);
  color:#fff;
  text-decoration:none;
  font-weight:700;
  transition:transform .05s ease, opacity .2s ease;
}
#genz_lp_conditions .button:active{ transform:translateY(1px); }
#genz_lp_conditions .button:hover{ opacity:.92; }

/* Responsive tweaks */
@media (min-width: 960px){
 #genz_lp_conditions .page{ padding-top:88px; }
}