@charset "UTF-8";
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:500,700&display=swap&subset=japanese');

/* ----------------------------------------------------------------------------------------------------
*  基本情報
* --------------------------------------------------------------------------------------------------*/
html,
body {
   height: 100%;
}

html {
   font-size: 62.5%;
   overflow-y: scroll;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
address,
ul,
ol,
li,
dl,
dt,
dd,
table,
th,
td,
img,
form,
figure {
   margin: 0;
   padding: 0;
   border: none;
   line-height: 100%;
   list-style-type: none;
   font-style: normal;
   text-align: left;
   font-family: 'Noto Sans JP', sans-serif;
   font-weight: 500;
   font-size: 1.6rem;
   color: #595757;
}

input,
button,
textarea,
select {
   margin: 0;
   padding: 0;
   background: none;
   border: none;
   border-radius: 0;
   outline: none;
   -webkit-appearance: none;
   -moz-appearance: none;
   appearance: none;
}

body {
   min-width: 1200px;
}

iframe {
   border: none;
}

main {
   display: block;
}

*,
*:before,
*:after {
   box-sizing: border-box;
}

a {
   color: #3E3A39;
}

.hover {
   transition: opacity 0.3s ease-out;
}

.hover:hover {
   opacity: 0.7;
}

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

.flex {
   display: flex;
   flex-wrap: wrap;
}

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

table {
   width: 100%;
}

table tr {
   display: block;
}

.fadein {
   opacity: 0;
   transform: translate(0, 0);
   transition: all 2s;
}

.fadein.active {
   opacity: 1;
   transform: translate(0, 0);
}

#voice .fadein.active {
   transform: translate(32px, 0);
}

/* ------------------------------
    clearfix
------------------------------ */
.cf:after {
   content: ".";
   display: block;
   height: 0;
   font-size: 0;
   clear: both;
   visibility: hidden;
}

.cf {
   display: inline-block;
}

/* Hides from IE Mac */
* html .cf {
   height: 1%;
}

.cf {
   display: block;
}

a {
   text-decoration: none;
}

/* ------------------------------
    header
------------------------------ */
header {
   background: url("../img/bg_cont.png") left top repeat;
   background-size: 300px;
}

header .inner {
   width: 1122px;
   margin: 0 auto;
   background: url("../img/main_pc.png") 31px top no-repeat;
   background-size: 1104px;
   height: 785px;
   position: relative;
}

/*
header .btn {
   position: absolute;
   top: 30px;
   right: 0;
}
*/
header #logo {
   padding-top: 30px;
   margin-left: -40px;
}

header #ttl {
   margin: 90px 0 26px 15px;
}

header #trial {
   background: url(../img/bg_trial.png) left top no-repeat;
   background-size: 432px;
   width: 432px;
   height: 299px;
   padding-top: 41px;
   padding-left: 10px;
   text-align: center;
}

header #subttl {
   width: 100%;
   text-align: center;
   margin: 20px auto 13px auto;
}

header .navigation {
   right: calc(50% - 600px);
   position: absolute;
   top: 30px;
}

header .navigation ul {
   border: 2px solid #ff9c99;
   border-radius: 8px;
   background: rgb(255, 98, 94);
   background: linear-gradient(0deg, rgba(255, 98, 94, 1) 0%, rgba(255, 98, 94, 1) 50%, rgba(255, 117, 113, 1) 50%, rgba(255, 117, 113, 1) 100%);
   width: 830px;
   height: 67px;
   display: flex;
   justify-content: space-evenly;
   align-items: center;
}

header .navigation ul li a {
   display: flex;
   justify-self: center;
   flex-direction: column;
   align-items: center;
}

header .navigation ul li a::after {
   content: "";
   width: 14px;
   height: 8px;
   background: url(../img/arrow_down.svg) no-repeat center top / contain;
   margin-top: 8px;
   transition: .4s ease;
}

header .navigation ul li a:hover::after {
   transform: translateY(5px);
}

/* ------------------------------
    ネリーネとは
------------------------------ */
#about {
   background: url("../img/bg_cont.png") left top repeat;
   background-size: 300px;
   padding-bottom: 150px;
}

#about .inner {
   position: relative;
   width: 914px;
   background: #fff;
   margin: 0 auto;
   padding: 40px;
   border-radius: 22px;
   box-shadow: 0 0 20px rgba(223, 200, 139, 1);
}

#about .inner:after {
   position: absolute;
   content: "";
   right: -182px;
   top: 120px;
   background: url("../img/bg_about.png") left top repeat;
   background-size: 162px;
   width: 162px;
   height: 300px;
}

@media screen and (max-width: 1280px) {
   #about .inner:after {
      right: -12%;
   }
}

#about .l_box {
   width: 405px;
}

#about .r_box {
   width: calc(100% - 445px);
}

#about .r_box .subttl {
   margin-bottom: 10px;
   margin-top: -11px;
}

#about .r_box p {
   font-size: 2rem;
   line-height: 2;
}

/* ------------------------------
    トラブル
------------------------------ */
#worries {
   position: relative;
   background: url("../img/bg_cont02.png") left top repeat;
   background-size: 1800px;
   padding: 50px 0 95px 0;
}

#worries:before {
   position: absolute;
   content: "";
   top: 0;
   left: 0;
   height: 10px;
   width: 100%;
   background: linear-gradient(0deg, rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.3));
}

#worries:after {
   position: absolute;
   content: "";
   bottom: 0;
   left: 0;
   height: 10px;
   width: 100%;
   background: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.3));
}

#worries h2.subttl {
   position: absolute;
   top: -60px;
   left: 50%;
   margin-left: -499px;
   width: 998px;
}

#worries ul {
   width: 1042px;
   margin: 140px auto 20px auto;
}

#worries ul li img {
   filter: drop-shadow(1px 1px 1px rgba(180, 77, 35, 0.7));
}

#worries h3.subttl {
   text-align: center;
   margin-bottom: 40px;
}

#worries .box {
   background: #fff;
   width: 1100px;
   margin: 0 auto 10px auto;
   padding: 34px 0 24px 45px;
   border-radius: 11px;
}

#worries .l_box {
   width: 608px;
}

#worries .l_box.box02 {
   width: 588px;
}

#worries .l_box.box03 {
   width: 602px;
}

#worries .l_box h4.subttl {
   margin: 20px 0 0 43px;
}

#worries .l_box p {
   font-size: 2rem;
   line-height: 2;
   margin-top: 20px;
}

#worries .r_box {
   width: calc(100% - 718px);
}

#worries .r_box.box02 {
   width: calc(100% - 658px);
}

#worries .r_box.box03 {
   width: calc(100% - 638px);
}

#quality {
   margin: 50px 0 0 0;
}

#quality .inner {
   width: 1100px;
   margin: 0 auto;
}

#quality .inner .flex {
   background: #fff;
   padding: 20px;
   border: 2px solid #FFF100;
   border-bottom-left-radius: 10px;
   border-bottom-right-radius: 10px;
   margin-bottom: 75px;
}

#quality h3 {
   background: #FFF100;
   text-align: center;
   border-top-left-radius: 10px;
   border-top-right-radius: 10px;
   padding: 20px 0;
}

#quality .box {
   width: 33%;
   border-radius: 0;
   border-right: 4px dotted #E26B2B;
   margin: 10px 0 0 0;
   padding: 0 40px;
}

#quality .box:last-of-type {
   border-right: 0;
}

#quality h4 {
   margin-bottom: 28px;
   display: flex;
   align-items: flex-end;
   justify-content: center;
}

#quality p {
   font-size: 2rem;
   line-height: 1.8;
}

.switch {
   visibility: hidden;
}

#quality .btn {
   text-align: center;
}

/* ------------------------------
    商品一覧
------------------------------ */
#item {
   background: url("../img/bg_cont.png") left top repeat;
   background-size: 300px;
   padding: 85px 0;
}

#item h2 {
   text-align: center;
   margin-bottom: 50px;
}

#item h2+p {
   text-align: center;
   margin-bottom: 50px;
   font-size: 2.6rem;
   line-height: 2;
}

.slider_box {
   border-radius: 10px;
   background: #fff;
   padding: 40px 30px;
   margin-right: 70px;
   outline: none;
   width: 610px;
}

.slider_box h3 {
   background: #E26B2B;
   width: 100%;
   height: 42px;
   border-radius: 22px;
   display: flex;
   align-items: center;
   justify-content: center;
   margin: 20px 0;
   position: relative;
}

.slider_box h3 span {
   position: absolute;
   background: #FFF100;
   right: 20px;
   top: 8px;
   width: 118px;
   height: 27px;
   font-size: 1.1rem;
   display: flex;
   justify-content: center;
   align-items: center;
   border-radius: 7px;
}

.slider_box dt {
   font-size: 1.7rem;
   margin-bottom: 10px;
   text-align: center;
}

.slider_box dd {
   font-size: 1.4rem;
   line-height: 2;
}

.slider_box ul {
   display: flex;
   flex-wrap: wrap;
   border-top: 2px solid #595757;
   border-bottom: 2px solid #595757;
   margin-top: 20px;
   padding: 10px 0;
}

.slider_box li {
   position: relative;
   font-size: 1.2rem;
   padding-left: 20px;
   line-height: 2;
}

.slider_box li.mr {
   margin-right: 13px;
}

.slider_box li.full {
   width: 100%;
}

.slider_box li:before {
   margin-right: 10px;
   position: absolute;
   content: "●";
   color: #E26B2B;
   top: 0;
   left: 0;
}

/*サムネイル画像*/
.slick-dots {
   position: relative;
}

.slick-dots li {
   width: 108px;
   height: 72px;
}

.slick-dots .slick-active {
   position: relative;
}

.slick-dots .slick-active:after {
   content: "";
   position: absolute;
   left: 0;
   top: 0;
   border: 5px solid #E26B2B;
   border-radius: 5px;
   width: 108px;
   height: 72px;
}

/*ページャー*/
.slick-next:before,
.slick-prev:before {
   content: none;
}

.slick-prev,
.slick-prev:hover,
.slick-prev:focus {
   background: url("../img/btn_prev.png") left top no-repeat;
   width: 37px;
   height: 73px;
   background-size: contain;
   left: calc((100vw - 702px) / 2);
   z-index: 9999;
}

.slick-next,
.slick-next:hover,
.slick-next:focus {
   background: url("../img/btn_next.png") left top no-repeat;
   width: 37px;
   height: 73px;
   background-size: contain;
   z-index: 9999;
   right: calc((100vw - 702px) / 2);
}

/* ------------------------------
    レンタルプラン
------------------------------ */
#rental {
   position: relative;
}

#rental:before {
   position: absolute;
   content: "";
   top: 0;
   left: 0;
   height: 10px;
   width: 100%;
   background: linear-gradient(0deg, rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.3));
}

#rental:after {
   position: absolute;
   content: "";
   bottom: 0;
   left: 0;
   height: 10px;
   width: 100%;
   background: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.3));
}

#rental .inner {
   width: 1100px;
   margin: 0 auto;
   padding: 90px 0;
}

#rental h2 {
   text-align: center;
   margin-bottom: 54px;
}

#rental h3 {
   text-align: center;
   margin-bottom: 17px;
}

#rental p {
   text-align: center;
   line-height: 2;
   font-size: 2rem;
   margin-bottom: 20px;
}

#rental .box {
   width: 535px;
   margin-bottom: 60px;
}

#rental dt {
   text-align: center;
   margin: 35px 0 15px 0;
}

#rental dd {
   text-align: center;
}

#rental .btn {
   text-align: center;
}

/* ------------------------------
    利用者様の声
------------------------------ */
#voice {
   background: url("../img/bg_cont.png") left top repeat;
   background-size: 300px;
   padding: 90px 0;
}

#voice .inner {
   width: 890px;
   margin: 0 auto;
}

#voice h2 {
   text-align: center;
   margin-bottom: 70px;
}

#voice .flex {
   margin-bottom: 80px;
}

#voice .l_box {
   width: 240px;
}

#voice .r_box {
   width: calc(100% - 325px);
   position: relative;
   border-radius: 20px;
   padding: 45px;
}

#voice .r_box::before {
   content: '';
   position: absolute;
   z-index: 1;
   width: 75px;
   height: 75px;
   /* 吹き出しサイズ */
   border-radius: 10px;
}

#voice .r_box::after {
   content: '';
   position: absolute;
   z-index: 2;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
}

#voice .r_box>* {
   position: relative;
   z-index: 3;
}

#voice .r_box,
#voice .r_box::after {
   border-radius: 20px;
}

#voice .r_box,
#voice .r_box::before {
   box-shadow: 0 0 10px 0 rgba(223, 200, 139, 1);
}

#voice .r_box,
#voice .r_box::before,
#voice .r_box::after {
   background: #fff;
}

/* 吹き出し・上辺左側 */
.balloon--top_left::before {
   top: -10px;
   left: 10px;
   /* 位置 */
   transform: rotate(45deg) skew(20deg, 20deg);
   /* 傾斜角(skew) */
}

/* 吹き出し・上辺中央 */
.balloon--top_center::before {
   top: -10px;
   left: 50%;
   /* 位置 */
   transform: translateX(-50%) rotate(45deg) skew(20deg, 20deg);
   /* 傾斜角(skew) */
}

/* 吹き出し・上辺右側 */
.balloon--top_right::before {
   top: -10px;
   right: 10px;
   /* 位置 */
   transform: rotate(45deg) skew(20deg, 20deg);
   /* 傾斜角(skew) */
}

/* 吹き出し・右辺上側 */
.balloon--right_top::before {
   right: -10px;
   top: 10px;
   /* 位置 */
   transform: rotate(45deg) skew(-20deg, -20deg);
   /* 傾斜角(skew) */
}

/* 吹き出し・右辺中央 */
.balloon--right_middle::before {
   right: -10px;
   top: 50px;
   /* 位置 */
   transform: translateY(-50%) rotate(45deg) skew(-20deg, -20deg);
   /* 傾斜角(skew) */
}

/* 吹き出し・右辺下側 */
.balloon--right_bottom::before {
   right: -10px;
   bottom: 10px;
   /* 位置 */
   transform: rotate(45deg) skew(-20deg, -20deg);
   /* 傾斜角(skew) */
}

/* 吹き出し・下辺左側 */
.balloon--bottom_left::before {
   bottom: -10px;
   left: 10px;
   /* 位置 */
   transform: rotate(45deg) skew(20deg, 20deg);
   /* 傾斜角(skew) */
}

/* 吹き出し・左辺上側 */
.balloon--left_top::before {
   left: -10px;
   top: 70px;
   /* 位置 */
   transform: rotate(45deg) skew(-20deg, -20deg);
   /* 傾斜角(skew) */
}

/* 吹き出し・左辺中央 */
.balloon--left_middle::before {
   left: -10px;
   top: 68px;
   /* 位置 */
   transform: translateY(-50%) rotate(45deg) skew(-20deg, -20deg);
   /* 傾斜角(skew) */
}

#voice dt {
   margin-bottom: 28px;
}

#voice dd {
   font-size: 2rem;
   line-height: 2;
}

/* ------------------------------
    導入の流れ
------------------------------ */
#flow {
   position: relative;
   padding: 85px 0;
}

#flow:before {
   position: absolute;
   content: "";
   top: 0;
   left: 0;
   height: 10px;
   width: 100%;
   background: linear-gradient(0deg, rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.3));
}

#flow:after {
   position: absolute;
   content: "";
   bottom: 0;
   left: 0;
   height: 10px;
   width: 100%;
   background: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.3));
}

#flow .inner {
   width: 990px;
   margin: 0 auto;
}

#flow h2 {
   text-align: center;
   margin-bottom: 35px;
}

#flow .box {
   position: relative;
   width: 100%;
   height: 170px;
   align-items: center;
}

#flow .box::before {
   content: '';
   position: absolute;
   z-index: 1;
   width: 55px;
   height: 55px;
   border-radius: 10px;
}

#flow .box::after {
   content: '';
   position: absolute;
   z-index: 2;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
}

#flow .box>* {
   position: relative;
   z-index: 3;
}

#flow .box,
#flow .box::after {
   border-radius: 5px;
   /* 角の丸め方 */
}

#flow .box,
#flow .box::before {
   box-shadow: 0 0 10px 0 rgba(223, 200, 139, 0.6);
}

#flow .box,
#flow .box::before,
#flow .box::after {
   background: url("../img/bg_cont.png") left top repeat;
   background-size: 300px;
}

#flow .box.trial,
#flow .box.trial::before,
#flow .box.trial::after {
   background: #FFF100;
}

#flow .box+.box {
   margin-top: 60px;
}

/* 吹き出し・下辺中央 */
.balloon--bottom_center::before {
   bottom: -10px;
   left: 50%;
   /* 位置 */
   transform: translateX(-50%) rotate(45deg) skew(20deg, 20deg);
   /* 傾斜角(skew) */
}

#flow .box .img {
   position: absolute;
   top: -20px;
   left: 70px;
}

#flow .box p {
   padding-left: 320px;
   font-size: 2.6rem;
   line-height: 2;
   width: 940px;
}

#flow .box.trial p {
   font-size: 3.2rem;
   color: #E26B2B;
   font-weight: 700;
}

#flow .box a {
   color: #45B035;
   text-decoration: underline;
}

/* ------------------------------
    よくある質問
------------------------------ */

#faq {
   padding-top: 80px;
}

.qa {
   background: url("../img/bg_cont.png") left top repeat;
   background-size: 300px;
   padding: 0 0 140px 0;
   position: relative;
}

.qa .inner {
   width: 1100px;
   margin: 0 auto;
}

.qa h2 {
   text-align: center;
   margin-bottom: 40px;
}

dl.accordion dt {
   background: #E26B2B;
   cursor: pointer;
   word-wrap: break-word;
   display: flex;
   align-items: center;
   padding-left: 40px;
   color: #fff;
   font-size: 2.8rem;
   height: 80px;
   position: relative;
}

dl.accordion dt.concer {
   background: #FF807C;
}

dl.accordion dd+dt {
   margin-top: 40px;
}

dl.accordion dt:after {
   position: absolute;
   content: "";
   background: url("../img/btn_open.png") left top no-repeat;
   background-size: 25px;
   width: 25px;
   height: 25px;
   right: 28px;
   top: 30px;
}

dl.accordion dt.open:after {
   position: absolute;
   content: "";
   background: url("../img/btn_close.png") left top no-repeat;
   background-size: 20px;
   width: 20px;
   height: 20px;
   right: 28px;
   top: 30px;
}

dl.accordion dd {
   word-wrap: break-word;
   padding: 20px 40px;
   font-size: 2rem;
   line-height: 1.6;
   background: #fff;
}

.qa span {
   font-size: 1.5rem;
}

.qa a {
   color: #45B035;
   text-decoration: underline;
}

/* ------------------------------
    導入リクエスト
------------------------------ */
#form {
   background: #E26B2B;
   position: relative;
   padding: 30px 0 90px 0;
}


#form_footer .inner {
   padding: 115px 94px 56px;
   background: #fff;
   border-radius: 2px;
   width: 1100px;
   margin: 0 auto;
   border-radius: 22px;
   margin-top: 105px;
   position: relative;
}

#form_footer .txt {
   font-size: 2.6rem;
   color: #6BB72D;
   line-height: 1.6;
   text-align: center;
}

#form_footer .logo {
   text-align: center;
   margin-bottom: 20px;
}

#form_footer h3 {
   text-align: center;
   margin-bottom: 28px;
   position: absolute;
   left: 50%;
   top: -59px;
   transform: translateX(-50%);
}

#form_footer table {
   margin-bottom: 40px;
}

#form_footer th {
   font-size: 2.4rem;
}

#form_footer th .num {
   color: #6BB72D;
   padding-right: 5px;
}

#form_footer .note {
   font-size: 1.6rem;
   padding-left: 28px;
}

#form_footer .item {
   width: 355px;
}

#form_footer .required {
   padding-right: 40px;
}

input[type="email"],
input[type="number"],
input[type="search"],
input[type="tel"],
input[type="text"],
textarea {
   background: #fcfcfc;
   border: 1px solid #cdcece;
   border-radius: 5px;
   width: 452px;
   height: 58px;
   padding: 20px;
   font-size: 2rem;
}

#form_footer tr {
   border-bottom: 1px solid #DCDDDD;
   padding-top: 40px;
   padding-bottom: 30px;
}

.input_min {
   width: 550px;
   display: block;
}

#form_footer td.full {
   width: 720px;
   margin: 25px auto 0 auto;
   display: block;
   display: flex;
   flex-wrap: wrap;
   align-items: center;
}

#form_footer .btn {
   text-align: center;
}

#form_footer .button {
   background: url(../img/btn_form_off.png) left top no-repeat;
   background-size: cover;
   width: 440px;
   height: 74px;
   text-indent: -9999px;
}

#form_footer .button:hover {
   background: url(../img/btn_form_on.png) left top no-repeat;
   background-size: cover;
   width: 440px;
   height: 74px;
   cursor: pointer;
}

#form_footer .policy {
   font-size: 1.4rem;
   display: flex;
   text-align: center;
   margin-top: 33px;
   margin-bottom: 64px;
}

#form_footer .policy a {
   display: flex;
   align-items: center;
   margin: 0 auto;
}

#form_footer .policy a::before {
   content: "";
   display: block;
   width: 8px;
   height: 8px;
   border-top: 1px solid #595757;
   border-right: 1px solid #595757;
   transform: rotate(45deg);
   margin-right: 0.75em;
}

.form_wrap {
   
}

.form_wrap fieldset {
   border: none;
   padding: 0;
   margin: 0 0 40px;
}

.form_wrap fieldset .req {
   background: #e26b2b;
   color: #fff;
   display: inline-block;
   padding: 0.25em 0.6em;
   margin-left: 0.8em;
   border-radius: 5px;
}

.form_wrap .input input {
   width: 100%;
}

.form_wrap .input .error {
   color: red;
   margin-top: .25em;
   font-style: normal;
}

.form_wrap .input input::placeholder {
   color: #dcdddd;
}

.form_wrap .input_name {
   display: flex;
   justify-content: space-between;
}

.form_wrap .full {
   width: 100%;
}

.form_wrap .half {
   width: 49%;
}

.form_wrap label {
   font-size: 2rem;
   color: #726148;
   display: flex;
   align-items: center;
   margin-bottom: 18px;
}

.form_wrap label .req {
   font-size: 1.6rem;
}

.btn-submit {
   margin-top: 64px;
   text-align: center;
}

.attention {
   text-align: center;
   margin-bottom: 28px;
}

.attention li {
   font-size: 1.8rem;
   line-height: 1.6;
   text-align: center;
}

label input[type="checkbox"]:checked+span::before {
   background-color: #fff;
}

label input[type="checkbox"]+span::before {
   border-color: #ec407a;
}

label span {
   display: inline-block;
   padding-left: 30px;
}

label input[type="checkbox"] {
   position: absolute;
   top: 0;
   left: 0;
   opacity: 0;
}

label input[type="checkbox"]+span::before,
label input[type="checkbox"]+span::after {
   position: absolute;
   top: 0;
   left: 0;
   display: inline-block;
   content: '';
   box-sizing: border-box;
}

label input[type="checkbox"]+span::before {
   z-index: 0;
   background-color: transparent;
   width: 24px;
   height: 24px;
   background: #DCDDDD;
   border-radius: 50%;
}

label input[type="checkbox"]+span::after {
   z-index: 1;
   position: absolute;
   left: 6px;
   top: 6px;
}

label input[type="checkbox"]:checked+span::before {
   background-color: #fff;
   border: 1px solid #DCDDDD;
}

label input[type="checkbox"]:checked+span::after {
   width: 12px;
   height: 12px;
   background: #6BB72D;
   border-radius: 50%;
}

/* ------------------------------
    保育園関係者の皆さまへ
------------------------------ */
#concerned .inner {
   background: url("../img/bg_concerned.png") left top no-repeat;
   background-size: cover;
   text-align: center;
   color: #fff;
   padding: 246px 0 65px 0;
}

#concerned .ttl_wrap {
   background: url(../img/bg_concerned_ttl.png) center top no-repeat;
   background-size: 1800px 225px;
   padding: 40px 0 150px 0;
   position: absolute;
   left: 0;
   width: 100%;
}

#concerned .ttl_wrap h2 {
   text-align: center;
}

/*#concerned .ttl_wrap h2 {
   text-align: center;
   position: relative;
   z-index: 3;
}*/
/*#concerned .ttl_wrap:before {
   position: absolute;
 content: "";
   bottom: -60px;
   left: 50%;
   transform: translateX(-50%) rotate(135deg) skew(20deg, 20deg);
   width: 125px;
   height: 125px;
  background: #FF6976;
 box-shadow: 0 0 4px 9px rgba(0, 0, 0, 0.3);
}

#concerned .ttl_wrap:after {
content: '';
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
   background: #FF6976;
 
}*/
#concerned .logo {
   margin-bottom: 50px;
}

#concerned .txt {
   text-align: center;
   color: #fff;
}

#merit {
   background: url("../img/bg_cont.png") left top repeat;
   background-size: 300px;
   position: relative;
}

#merit:before {
   position: absolute;
   content: "";
   top: 0;
   left: 0;
   height: 10px;
   width: 100%;
   background: linear-gradient(0deg, rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.3));
}

#merit .inner {
   width: 1100px;
   margin: 0 auto;
   background: none;
   padding-top: 90px;
   padding-bottom: 90px;
}

#merit h3 {
   background: #FF807C;
   text-align: center;
   border-top-left-radius: 12px;
   border-top-right-radius: 12px;
   padding: 20px 0;
}

#merit .box_wrap {
   background: #fff;
   border: 2px solid #FF807C;
   border-bottom-left-radius: 12px;
   border-bottom-right-radius: 12px;
}

#merit .box {
   width: 1028px;
   margin: 0 auto;
   border-bottom: 4px dotted #E26B2B;
   padding: 40px 60px;
   position: relative;
}

#merit .box:first-of-type {
   padding-top: 60px;
}

#merit .box:last-of-type {
   border: none;
}

#merit h4 {
   margin-bottom: 20px;
   position: absolute;
   left: 180px;
}

#merit .num {
   display: flex;
   align-items: center;
   position: absolute;
   left: 20px;
   -webkit-transform: translateY(-50%);
   /* Safari用 */
   transform: translateY(-50%);
   top: 50%;
   width: 60px;
   justify-content: center;
}

#merit p {
   font-size: 2rem;
   line-height: 2;
}

#merit .cont {
   width: 590px;
   margin-left: 120px;
   margin-top: 50px;
}

#merit .cont+div {
   display: flex;
   align-items: center;
}

#merit .note {
   font-size: 1.5rem;
}

/* ------------------------------
    導入事例
------------------------------ */
#case {
   padding: 78px 0 88px;
   position: relative;
}

#case:before {
   position: absolute;
   content: "";
   top: 0;
   left: 0;
   height: 10px;
   width: 100%;
   background: linear-gradient(0deg, rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.3));
}

#case:after {
   position: absolute;
   content: "";
   bottom: 0;
   left: 0;
   height: 10px;
   width: 100%;
   background: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.3));
}

#case .inner {
   width: 1070px;
   margin: 0 auto;
}

#case h2 {
   text-align: center;
   margin-bottom: 75px;
}

#case h3 {
   border-bottom: 2px solid #FF807C;
   margin-bottom: 20px;
   padding-bottom: 15px;
}

#case .flex+.flex {
   margin-top: 100px;
}

#case .balloon {
   width: calc(100% - 587px);
   position: relative;
   border-radius: 20px;
   padding: 35px 50px;
}

#case .balloon::before {
   content: '';
   position: absolute;
   z-index: 1;
   width: 75px;
   height: 75px;
   /* 吹き出しサイズ */
   border-radius: 10px;
}

#case .balloon::after {
   content: '';
   position: absolute;
   z-index: 2;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
}

#case .balloon>* {
   position: relative;
   z-index: 3;
}

#case .balloon,
#case .balloon::after {
   border-radius: 20px;
   /* 角の丸め方 */
}

#case .balloon,
#case .balloon::before {
   box-shadow: 0 0 10px 0 rgba(173, 118, 118, 0.6);
}

#case .balloon,
#case .balloon::before,
#case .balloon::after {
   background: #fff;
}

#case .balloon p {
   font-size: 2rem;
   line-height: 2;
}

/* ------------------------------
    運営スタッフ紹介
------------------------------ */
#staff {
   padding: 80px 0;
   position: relative;
}

#staff:before {
   position: absolute;
   content: "";
   top: 0;
   left: 0;
   height: 10px;
   width: 100%;
   background: linear-gradient(0deg, rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.3));
}

#staff:after {
   position: absolute;
   content: "";
   bottom: 0;
   left: 0;
   height: 10px;
   width: 100%;
   background: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.3));
}

#staff .inner {
   width: 1100px;
   margin: 0 auto;
}

#staff h2 {
   text-align: center;
   margin-bottom: 80px;
}

#staff .box {
   width: 505px;
   align-items: center;
}

#staff .box p {
   width: calc(100% - 267px);
   font-size: 2rem;
   line-height: 2;
}

/* ------------------------------
    footer
------------------------------ */
footer {
   background: url("../img/bg_cont.png") left top repeat;
   background-size: 300px;
   padding: 46px 0 30px 0;
   text-align: center;
   margin-top: auto;
}

footer .txt {
   text-align: center;
   font-size: 2.8rem;
   margin-bottom: 42px;
   color: #726148;
   line-height: 2;
}

footer .logo {
   text-align: center;
   margin-bottom: 18px;
}

footer dl {
   width: 590px;
   margin: 0 auto 23px auto;
}

footer dt {
   font-size: 2rem;
   line-height: 2;
   text-align: center;
   color: #726148;
}

footer dd {
   font-size: 2.4rem;
   line-height: 2;
   text-align: center;
   color: #726148;
}

footer dd a {
   color: #726148;
}

footer address {
   font-size: 2.4rem;
   line-height: 2;
   color: #726148;
}

footer dd.phone {
   font-size: 5.4rem;
   line-height: 2;
   font-weight: 700;
}

footer small {
   margin-top: 30px;
   display: block;
}

#pagetop {
   position: fixed;
   bottom: 10px;
   right: 20px;
}

#btn_fixed a {
   position: fixed;
   right: -10px;
   top: 50%;
   transform: translateY(-50%);
   transition: .4s ease;
}

#btn_fixed a:hover {
   right: 0;
}

#btn_fixed a img {
   width: 80px;
}

@media screen and (min-width: 769px) {
   .sp {
      display: none;
   }
}

@media screen and (max-width: 768px) {
   body {
      min-width: 100%;
   }

   .pc {
      display: none;
   }

   /* ------------------------------
    header
------------------------------ */
   header {
      background: url("../img/bg_cont.png") left top repeat;
      background-size: 300px;

   }

   header .inner {
      width: 100%;
      background: url("../img/main_sp.png") right 30px no-repeat;
      background-size: 350px;
      height: 603px;
   }

   header .inner .wrap {
      padding-left: 4%;
   }

   header .btn {
      position: absolute;
      top: 10px;
      right: 4%;
   }

   header .btn img {
      width: 160px;
   }

   header #logo {
      margin-bottom: 20px;
      padding-top: 10px;
      margin-left: inherit;
   }

   header #logo img {
      width: 160px;
   }

   header #trial {
      background: url(../img/bg_trial.png) left top no-repeat;
      background-size: contain;
      width: 74vw;
      height: 51vw;
      margin: 15vw auto 0;
      padding-top: 3vw;
      position: absolute;
      top: 133vw;
      left: 50%;
      transform: translateX(-50%);
      padding-left: 0;
   }

   header #ttl {
      margin: 75px 0 160px 0;
   }

   header #ttl img {
      width: 188px;
   }

   header #subttl {
      width: 96%;
      text-align: center;
      margin: 20px auto 10px auto;
   }

   header #subttl img {
      max-width: 37vw;
   }

   #trial_btn img {
      width: 150px;
   }

   header .navigation {
      right: inherit;
      left: 50%;
      transform: translateX(-50%);
      top: 106vw;
   }

   header .navigation ul {
      width: 92vw;
      flex-wrap: wrap;
      justify-content: space-between;
      background: none;
      border: none;
   }
   
   header .navigation ul li {
      width: 49%;
      margin-bottom: 1.5vw;
   }
   
   header .navigation ul li a {
      background: #ff807c;
      border-radius: 1vw;
      text-align: center;
      height: 11vw;
      justify-content: center;
      padding-top: 1.8vw;
   }
   
   header .navigation ul li a::after {
      width: 4vw;
      height: 1.2vw;
      margin-top: 2vw;
   }

   header .navigation ul li a img {
      height: 3.1vw;
   }   

   /* ------------------------------
    ネリーネとは
------------------------------ */
   #about {
      background: url("../img/bg_cont.png") left top repeat;
      background-size: 300px;
      padding-bottom: 150px;
      padding-top: 45vw;
      z-index: -1;
      position: relative;
   }

   #about .inner {
      width: 90%;
      padding: 20px;
      box-shadow: 0 0 10px rgba(223, 200, 139, 1);
   }

   #about .inner:after {
      position: absolute;
      content: none;
   }

   #about .l_box {
      width: 100%;
      order: 2;
      text-align: center;
   }

   #about .r_box {
      width: 100%;
      margin-bottom: 20px;
   }

   #about .r_box p {
      font-size: 1.4rem;
   }

   /* ------------------------------
    トラブル
------------------------------ */
   #worries {
      padding: 80px 4% 40px 4%;
      background-size: cover;
   }

   #worries h2.subttl {
      position: absolute;
      top: -60px;
      left: 50%;
      margin-left: -46%;
      width: 92%;
   }

   #worries ul {
      width: 94%;
      margin: 40px auto 20px auto;
      justify-content: center;
   }

   #worries li {
      width: 100%;
      text-align: center;
   }

   #worries h3.subttl {
      text-align: center;
      margin-bottom: 40px;
   }

   #worries .box {
      width: 90%;
      padding: 20px;
      margin-bottom: 20px;
   }

   #worries .l_box {
      width: 100%;
      justify-content: space-around;
   }

   #worries .l_box.box02 {
      width: 100%;
   }

   #worries .l_box.box03 {
      width: 100%;
   }

   #worries .r_box {
      width: 100%;
   }

   #worries .r_box.box02 {
      width: 100%;
   }

   #worries .r_box.box03 {
      width: 100%;
   }

   #worries .num img {
      width: 107px;
   }

   #worries .sp {
      display: flex;
      align-items: center;
   }

   #worries .sp img {
      width: 96px;
   }

   #worries .l_box h4.subttl {
      margin: 20px 0 0 0;
   }

   #worries .box01 h4.subttl img {
      width: 267px;
   }

   #worries .box02 h4.subttl img {
      width: 262px;
   }

   #worries .box03 h4.subttl img {
      width: 228px;
   }

   #worries .l_box p {
      font-size: 1.4rem;
   }

   #quality {
      margin: 30px 0 0 0;
   }

   #quality h3 {
      padding: 10px 0;
   }

   #quality h3 img {
      width: 132px;
   }

   #quality .inner {
      width: 90%;
      margin: 0 auto;
   }

   #quality .inner .flex {
      margin-bottom: 30px;
   }

   #quality .box {
      width: 100%;
      padding: 0 0 10px 0;
      border-right: none;
      border-bottom: 2px dotted #E26B2B;
   }

   #quality .box:first-of-type img {
      width: 130px;
   }

   #quality .box:nth-child(2) img {
      width: 172px;
   }

   #quality .box:nth-child(3) img {
      width: 189px;
   }

   #quality .box:last-of-type {
      border-bottom: 0;
      padding-bottom: 0;
   }

   #quality h4 {
      text-align: center;
   }

   #quality p {
      font-size: 1.4rem;
   }

   /* ------------------------------
    商品一覧
------------------------------ */
   #item {
      padding: 35px 4%;
   }

   #item h2 {
      margin-bottom: 25px;
   }

   #item h2 img {
      width: 195px;
   }

   #item h2+p {
      font-size: 1.6rem;
   }

   .slider_box {
      padding: 20px 5vw;
      width: 90vw;
   }

   .slider_box h3 {
      justify-content: flex-start;
      padding-left: 20px;
   }

   .slider_box dt {
      font-size: 1.5rem;
   }

   .slider_box dd {
      font-size: 1.2rem;
   }

   .slider_box li {
      font-size: 1.1rem;
   }

   /*ページャー*/
   .slick-prev,
   .slick-prev:hover,
   .slick-prev:focus {
      background: url("../img/btn_prev.png") left top no-repeat;
      width: 24px;
      height: 49px;
      background-size: contain;
      margin-top: -25px;
      left: -10px;
      z-index: 9999;
   }

   .slick-next,
   .slick-next:hover,
   .slick-next:focus {
      background: url("../img/btn_next.png") left top no-repeat;
      width: 24px;
      height: 49px;
      background-size: contain;
      z-index: 9999;
      margin-top: -25px;
      right: -10px;
   }

   .slick-dots li {
      width: 15%;
      height: auto;
      margin: 0 2% 0 0;
   }

   .slick-dots li:last-of-type {
      margin-right: 0;
   }

   .slick-dots .slick-active:after {
      width: 100%;
      height: auto;
      padding-top: 50%;
      border: 3px solid #E26B2B;
   }

   /* ------------------------------
    レンタルプラン
------------------------------ */
   #rental .inner {
      width: 100%;
      padding: 40px 4%;
   }

   #rental h2 {
      margin-bottom: 30px;
   }

   #rental h2 img {
      width: 280px;
   }

   #rental p {
      font-size: 1.4rem;
      text-align: left;
   }

   #rental h3 {
      margin-bottom: 20px;
   }

   #rental dt {
      margin: 20px 0 10px 0;
   }

   #rental .box {
      width: 100%;
      margin-bottom: 30px;
      text-align: center;
   }

   #rental .box01 dt img {
      width: 122px;
   }

   #rental .box01 dd img {
      width: 299px;
   }

   #rental .box02 dt img {
      width: 154px;
   }

   #rental .box02 dd img {
      width: 325px;
   }

   #rental .box03 dt img {
      width: 122px;
   }

   #rental .box03 dd img {
      width: 190px;
   }

   #rental .box04 dt img {
      width: 154px;
   }

   #rental .box04 dd img {
      width: 216px;
   }

   #rental .box05 dt img {
      width: 158px;
   }

   #rental .box05 dd img {
      width: 68px;
   }

   #rental .box06 dt img {
      width: 194px;
   }

   #rental .box06 dd img {
      width: 96px;
   }

   #rental .box07 dt img {
      width: 183px;
   }

   #rental .box07 dd img {
      width: 224px;
   }

   #rental .box08 dt img {
      width: 203px;
   }

   #rental .box08 dd img {
      width: 228px;
   }

   /* ------------------------------
    利用者様の声
------------------------------ */
   #voice {
      width: 100%;
      padding: 40px 0;
   }

   #voice .inner {
      width: 100%;
      padding: 0 4%;
   }

   #voice h2 img {
      width: 240px;
   }

   #voice .l_box {
      width: 100%;
      text-align: center;
      margin-bottom: 50px;
   }

   #voice .l_box img {
      width: 162px;
   }

   #voice .r_box {
      width: 100%;
      border-radius: 10px;
      padding: 25px;
   }

   #voice .r_box::before {
      width: 45px;
      height: 45px;
   }

   /* 吹き出し・上辺中央 */
   .balloon--left_top::before {
      top: -10px;
      left: 50%;
      /* 位置 */
      transform: translateX(-50%) rotate(45deg) skew(20deg, 20deg);
   }

   #voice .flex:first-of-type .r_box img {
      width: 236px;
   }

   #voice .flex:nth-of-type(2) .r_box img {
      width: 263px;
   }

   #voice .flex:nth-of-type(3) .r_box img {
      width: 299px;
   }

   #voice .fadein.active {
      transform: none;
   }

   #voice dt {
      margin-bottom: 10px;
   }

   #voice dd {
      font-size: 1.4rem;
   }

   /* ------------------------------
    導入の流れ
------------------------------ */
   #flow {
      padding: 40px 0 70px 0;
   }

   #flow .inner {
      width: 100%;
      padding: 0 4%;
   }

   #flow h2 img {
      width: 199px;
   }

   #flow .box {
      height: auto;
      padding: 10px;
   }

   #flow .box.flex {
      justify-content: space-between;
   }

   #flow .box p {
      font-size: 1.6rem;
      width: calc(100% - 122px);
      padding-left: 0;
   }

   #flow .box .img {
      position: relative;
      top: inherit;
      left: inherit;
   }

   #flow .box .img img {
      width: 102px;
   }

   #flow .box.trial p {
      font-size: 1.8rem;
   }

   /* ------------------------------
    よくある質問
------------------------------ */
   .qa {
      padding: 40px 0 80px;
   }

   .qa .inner {
      width: 100%;
      padding: 0 4%;
   }

   .qa h2 {
      margin-bottom: 20px;
   }

   dl.accordion dt {
      font-size: 1.4rem;
      padding: 10px;
      line-height: 2;
      height: auto;
   }

   dl.accordion dd+dt {
      margin-top: 20px;
   }

   dl.accordion dt:after {
      position: absolute;
      content: "";
      background: url(../img/btn_open.png) left top no-repeat;
      background-size: 16px;
      width: 16px;
      height: 16px;
      right: 10px;
      top: 50%;
      margin-top: -8px;
   }

   dl.accordion dt.open:after {
      position: absolute;
      content: "";
      background: url(../img/btn_close.png) left top no-repeat;
      background-size: 13px;
      width: 13px;
      height: 13px;
      right: 10px;
      top: 50%;
      margin-top: -6px;
   }

   dl.accordion dd {
      font-size: 1.4rem;
      padding: 10px 20px;
   }

   .qa span {
      font-size: 1.2rem;
   }

   /* ------------------------------
    導入リクエスト
------------------------------ */
   #form .inner,
   #form_footer .inner {
      width: 94%;
      margin: 20vw auto 0 auto;
      padding: 20px 4%;
   }

   #form_footer h3 img {
      width: 298px;
   }

   #form .logo img,
   #form_footer .logo img {
      width: 128px;
   }

   #form .form_cont,
   #form_footer .form_cont {
      width: 100%;
   }

   .form_cont_inner {
      width: 100%;
      margin: 0 auto;
      padding: 0 4%;
   }

   input[type="email"],
   input[type="number"],
   input[type="search"],
   input[type="tel"],
   input[type="text"],
   textarea {
      width: 100%;
      height: 30px;
      font-size: 1.4rem;
   }

   #form .txt,
   #form_footer .txt {
      font-size: 1.8rem;
      line-height: 1.6;
   }

   #form th,
   #form_footer th {
      width: 100%;
      font-size: 1.6rem;
   }

   #form td,
   #form_footer td {
      width: 100%;
      display: block;
   }

   #form td.full,
   #form_footer td.full {
      width: 100%;
   }

   #form .item,
   #form_footer .item {
      width: 80%;
      float: left;
      display: block;
      margin-bottom: 15px;
   }

   #form .required,
   #form_footer .required {
      width: 50px;
      float: right;
      padding-right: 0;
   }

   #form .note,
   #form_footer .note {
      font-size: 1.2rem;
      padding-left: 12px;
   }

   #form th .num,
   #form_footer th .num {
      padding-right: 5px;
   }

   .form_wrap label {
      font-size: 4vw;
   }
   
   .form_wrap label .req {
      font-size: 3vw;
   }

   .attention {
      margin-bottom: 0;
   }

   .attention li {
      font-size: 1.2rem;
      line-height: 1.6;
   }

   #form .button,
   #form_footer .button {
      margin-bottom: 0;
      background: url(../img/btn_form_off.png) left top no-repeat;
      background-size: contain;
      width: 100%;
      height: 74px;
   }

   #form .button:hover,
   #form_footer .button:hover {
      background-size: contain;
      width: 100%;
      height: 74px;
   }

   /* ------------------------------
    保育園関係者の皆さまへ
------------------------------ */
   #concerned .inner {
      padding: 30% 0 35px 0;
   }

   #concerned .ttl_wrap {
      padding: 0 4%;
      background-size: cover;
      height: 0;
      padding-top: 25%;
   }

   #concerned .ttl_wrap h2 {
      position: absolute;
      width: 100%;
      top: 10%;
      left: 50%;
      transform: translateX(-50%);
      -webkit- transform: translateX(-50%);
      padding: 2% 4% 0 4%;
      ;
   }

   /*#concerned .ttl_wrap:before {
   position: absolute;
 content: "";
   bottom: -20px;
   left: 50%;
   transform: translateX(-50%) rotate(135deg) skew(20deg, 20deg);
   width: 45px;
   height: 45px;
}

#concerned .ttl_wrap:after {
content: '';
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
   background: #FF6976;
 
}*/
   #concerned .logo {
      margin-bottom: 25px;
   }

   #concerned .logo img {
      width: 106px;
   }

   #concerned .txt {
      padding: 0 4%;
   }

   #merit .inner {
      width: 100%;
      padding: 40px 4%;
   }

   #merit h3 {
      padding: 20px;
   }

   #merit .box {
      width: 94%;
      margin: 0 auto;
      padding: 20px 4%;
   }

   #merit h4 {
      left: 50px;
      top: 30px;
   }

   #merit .box {
      padding-top: 80px;
   }

   #merit .box:first-of-type {
      padding-top: 80px;
   }

   #merit .box:first-of-type h4 img {
      width: 251px;
   }

   #merit .box:nth-of-type(2) h4 img {
      width: 256px;
   }

   #merit .box:nth-of-type(3) h4 img {
      width: 220px;
   }

   #merit .box:first-of-type .num img {
      width: 19px;
   }

   #merit .box:nth-of-type(2) .num img {
      width: 31px;
   }

   #merit .box:nth-of-type(3) .num img {
      width: 32px;
   }

   #merit p {
      font-size: 1.4rem;
   }

   #merit .cont {
      width: 100%;
      margin: 0 0 20px 0;
      padding-left: 0;
   }

   #merit .cont+div {
      justify-content: center;
      width: 100%;
   }

   #merit .cont+div img {
      width: 84px;
   }

   #merit .note {
      font-size: 1.2rem;
   }

   #merit .num {
      width: auto;
      left: 10px;
      top: 40px;
   }

   /* ------------------------------
    導入事例
------------------------------ */
   #case {
      padding: 40px 0;
   }

   #case .inner {
      width: 100%;
      margin: 0 auto;
      padding: 0 4%;
   }

   #case h2 {
      margin-bottom: 35px;
   }

   #case h2 img {
      width: 190px;
   }

   #case .flex+.flex {
      margin-top: 50px;
   }

   #case .l_box,
   #case .r_box {
      text-align: center;
      width: 100%;
      margin-bottom: 30px;
   }

   #case .l_box img,
   #case .r_box img {
      width: 248px;
   }

   #case .balloon {
      width: 100%;
      padding: 25px;
      order: 2;
      margin-top: 20px;
   }

   #case .balloon p {
      font-size: 1.4rem;
   }

   #case .balloon--left_middle:before,
   #case .balloon--right_middle:before {
      top: -10px;
      left: 50%;
      /* 位置 */
      transform: translateX(-50%) rotate(45deg) skew(20deg, 20deg);
      /* 傾斜角(skew) */
   }

   #case .balloon::before {
      width: 45px;
      height: 45px;
   }

   /* ------------------------------
    運営スタッフ紹介
------------------------------ */
   #staff {
      padding: 40px 0;
   }

   #staff .inner {
      width: 100%;
      padding: 0 4%;
   }

   #staff h2 {
      margin-bottom: 40px;
   }

   #staff h2 img {
      width: 308px;
   }

   #staff .box {
      width: 100%;
   }

   #staff .box+.box {
      margin-top: 40px;
   }

   #staff .box .img {
      text-align: center;
      width: 100%;
      margin-bottom: 20px;
   }

   #staff img {
      width: 158px;
   }

   #staff .box p {
      width: 100%;
      font-size: 1.4rem;
   }

   /* ------------------------------
    footer
------------------------------ */
   footer {
      padding: 40px 4%;
   }

   footer .txt {
      font-size: 1.6rem;
      margin-bottom: 20px;
      line-height: 1.6;
   }

   footer .logo img {
      width: 203px;
   }

   footer dl {
      width: 100%;
      margin: 0 auto 25px auto;
   }

   footer dt {
      font-size: 1.4rem;
   }

   footer dd {
      font-size: 1.6rem;
   }

   footer address {
      font-size: 1.6rem;
      line-height: 1.6;
      text-align: center;
   }

   footer dd.phone {
      font-size: 2.8rem;
   }

   footer small {
      margin-top: 30px;
      display: block;
   }

   #pagetop {
      right: 2%;
      bottom: 17vw;
   }

   #pagetop img {
      width: 40px;
      bottom: 12vw;
   }

   #btn_fixed a {
      top: auto;
      bottom: 0;
      right: auto;
      left: 0;
      transform: none;
      width: 100%;
      background: #6bb72d;
      display: flex;
      justify-content: center;
      align-items: center;
      height: 15vw;
   }

   #btn_fixed a img {
      width: 77vw;
   }
}

@media screen and (min-width: 769px) {
   .sp {
      display: none;
   }
}

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

@media screen and (max-width: 360px) {
   header #logo img {
      width: 140px;
   }
}