@charset "UTF-8";
/*==================================================
                 tenplate
==================================================*/
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  margin-top: 0px !important;
  font-feature-settings: "palt";
  color: #1a1311;
}
html { scroll-behavior: smooth;}
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  margin-bottom: 50px;
  font-weight: 500;
  line-height: 1.5;
}

h1,
.h1 {
  font-size: 2.5rem
}

h2,
.h2 {
  font-size: 2rem
}

h3,
.h3 {
  font-size: 1.75rem
}

h4,
.h4 {
  font-size: 1.5rem
}

h5,
.h5 {
  font-size: 1.25rem
}

h6,
.h6 {
  font-size: 1rem
}

.container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto
}

@media(min-width:768px) {
  .container {
    max-width: 720px
  }
}

@media(min-width:992px) {
  .container {
    max-width: 960px
  }
}

@media(min-width:1200px) {
  .container {
    max-width: 1140px
  }
}

.row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px
}

.col-1,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9,
.col-10,
.col-11,
.col-12,
.col,
.col-auto,
.col-sm-1,
.col-sm-2,
.col-sm-3,
.col-sm-4,
.col-sm-5,
.col-sm-6,
.col-sm-7,
.col-sm-8,
.col-sm-9,
.col-sm-10,
.col-sm-11,
.col-sm-12,
.col-sm,
.col-sm-auto,
.col-md-1,
.col-md-2,
.col-md-3,
.col-md-4,
.col-md-5,
.col-md-6,
.col-md-7,
.col-md-8,
.col-md-9,
.col-md-10,
.col-md-11,
.col-md-12,
.col-md,
.col-md-auto,
.col-lg-1,
.col-lg-2,
.col-lg-3,
.col-lg-4,
.col-lg-5,
.col-lg-6,
.col-lg-7,
.col-lg-8,
.col-lg-9,
.col-lg-10,
.col-lg-11,
.col-lg-12,
.col-lg,
.col-lg-auto,
.col-xl-1,
.col-xl-2,
.col-xl-3,
.col-xl-4,
.col-xl-5,
.col-xl-6,
.col-xl-7,
.col-xl-8,
.col-xl-9,
.col-xl-10,
.col-xl-11,
.col-xl-12,
.col-xl,
.col-xl-auto {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px
}

.col-1 {
  -ms-flex: 0 0 8.333333%;
  flex: 0 0 8.333333%;
  max-width: 8.333333%
}

.col-2 {
  -ms-flex: 0 0 16.666667%;
  flex: 0 0 16.666667%;
  max-width: 16.666667%
}

.col-3 {
  -ms-flex: 0 0 25%;
  flex: 0 0 25%;
  max-width: 25%
}

.col-4 {
  -ms-flex: 0 0 33.333333%;
  flex: 0 0 33.333333%;
  max-width: 33.333333%
}

.col-5 {
  -ms-flex: 0 0 41.666667%;
  flex: 0 0 41.666667%;
  max-width: 41.666667%
}

.col-6 {
  -ms-flex: 0 0 50%;
  flex: 0 0 50%;
  max-width: 50%
}

.col-7 {
  -ms-flex: 0 0 58.333333%;
  flex: 0 0 58.333333%;
  max-width: 58.333333%
}

.col-8 {
  -ms-flex: 0 0 66.666667%;
  flex: 0 0 66.666667%;
  max-width: 66.666667%
}

.col-9 {
  -ms-flex: 0 0 75%;
  flex: 0 0 75%;
  max-width: 75%
}

.col-10 {
  -ms-flex: 0 0 83.333333%;
  flex: 0 0 83.333333%;
  max-width: 83.333333%
}

.col-11 {
  -ms-flex: 0 0 91.666667%;
  flex: 0 0 91.666667%;
  max-width: 91.666667%
}

.col-12 {
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%
}

@media(min-width:769px) {
  .col-md {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%
  }

  .col-md-auto {
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: 100%
  }

  .col-md-1 {
    -ms-flex: 0 0 8.333333%;
    flex: 0 0 8.333333%;
    max-width: 8.333333%
  }

  .col-md-2 {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%
  }

  .col-md-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%
  }

  .col-md-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%
  }

  .col-md-5 {
    -ms-flex: 0 0 41.666667%;
    flex: 0 0 41.666667%;
    max-width: 41.666667%
  }

  .col-md-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%
  }

  .col-md-7 {
    -ms-flex: 0 0 58.333333%;
    flex: 0 0 58.333333%;
    max-width: 58.333333%
  }

  .col-md-8 {
    -ms-flex: 0 0 66.666667%;
    flex: 0 0 66.666667%;
    max-width: 66.666667%
  }

  .col-md-9 {
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%
  }

  .col-md-10 {
    -ms-flex: 0 0 83.333333%;
    flex: 0 0 83.333333%;
    max-width: 83.333333%
  }

  .col-md-11 {
    -ms-flex: 0 0 91.666667%;
    flex: 0 0 91.666667%;
    max-width: 91.666667%
  }

  .col-md-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%
  }

}

@media(min-width:992px) {
  .col-lg {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%
  }

  .col-lg-auto {
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: 100%
  }

  .col-lg-1 {
    -ms-flex: 0 0 8.333333%;
    flex: 0 0 8.333333%;
    max-width: 8.333333%
  }

  .col-lg-2 {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%
  }

  .col-lg-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%
  }

  .col-lg-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%
  }

  .col-lg-5 {
    -ms-flex: 0 0 41.666667%;
    flex: 0 0 41.666667%;
    max-width: 41.666667%
  }

  .col-lg-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%
  }

  .col-lg-7 {
    -ms-flex: 0 0 58.333333%;
    flex: 0 0 58.333333%;
    max-width: 58.333333%
  }

  .col-lg-8 {
    -ms-flex: 0 0 66.666667%;
    flex: 0 0 66.666667%;
    max-width: 66.666667%
  }

  .col-lg-9 {
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%
  }

  .col-lg-10 {
    -ms-flex: 0 0 83.333333%;
    flex: 0 0 83.333333%;
    max-width: 83.333333%
  }

  .col-lg-11 {
    -ms-flex: 0 0 91.666667%;
    flex: 0 0 91.666667%;
    max-width: 91.666667%
  }

  .col-lg-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%
  }

}

.text-center {
  text-align: center;
}

.benefits_contents p span {
  font-size: 10px;
}

/* CSS Document */
* {
  margin: 0px;
  padding: 0px;
  font-family: 'Noto Sans JP', sans-serif;
  letter-spacing: 1px;
}

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

a:hover {
  text-decoration: none !important;
}

p {
  line-height: 1.8;
  font-size: 16px;
}

li {
  line-height: 1.8;
}

main {
  width: 100%;
  margin: 0 auto;
}

/*==================================================
                   共通
==================================================*/
.n_768 {
  display: block;
}

.b_768 {
  display: none;
}

.n_480 {
  display: block;
}

.b_480 {
  display: none;
}

.n_992 {
  display: block;
}

.b_992 {
  display: none;
}

.text_center {
  text-align: center;
}

section {
  margin-top: -1px;
  position: relative;
}
.section {
  padding: 100px 0;
}

.bg_checkers {
  background-color: #fff;
  background-image: linear-gradient(-90deg, #DCDCDC 5%, transparent 5%), linear-gradient(#DCDCDC 5%, transparent 5%);
  background-size: 12px 12px;
}

.annotation {
  font-size: 10px;
  margin-bottom: 20px;
}


/*==================================================
                   header
==================================================*/
header {
  width: 100%;
  padding: 20px 30px;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 9;
display: flex;
	flex-flow: row;
	align-items: center;
	justify-content: space-between;
}
header img {
  width: 200px;
}
header .oya_company{
	display: flex;
	align-items: center;
}
header .oya_company img{
	width: 100px;
    border-right: 1px solid #7E7E7E;
    padding: 0px 15px;
}
header .oya_company p{
	padding: 0px 15px;
    margin-bottom: 0px;
    font-size: 12px;
    line-height: 1.5;
}
/*==================================================
                  fv_about
==================================================*/
.fv_about{
	background: linear-gradient(to right, #E5F8FF, #CCF1FF);
}
.fv_about .container{
	text-align: center;
}
.fv_about .row{
	flex-flow: row;
	align-items: center;
}
.speechBubble {
  position: relative;
    display: inline-block;
    margin-bottom: 40px;
    padding: 12px 40px;
    border: 2px solid #000000;
    border-radius: 50px;
    background-color: #fff;
    text-align: center;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 2px;
    color: #000000;
}
.speechBubble::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 51%;
  border-style: solid;
  border-width: 20px 20px 0 0;
  border-color: #000000 transparent transparent;
  translate: -50% 100%;
  transform: skew(45deg);
  transform-origin: top;
}
.speechBubble::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 51%;
  border-style: solid;
  border-width: 15.2px 15.2px 0 0;
  border-color: #fff transparent transparent;
  translate: calc(-50% - 0.4px) 100%;
  transform: skew(45deg);
  transform-origin: top;
}
.fv{
	background:  url("../img/fv_bg.webp")no-repeat center bottom;
	background-size: cover;
	padding-top: 120px;
	padding-bottom: 200px;
}
.fv .container .row{
	display: flex;
	flex-flow: row;
}
.fv_contents{
	display: flex;
	flex-flow: row;
	width: 470px;
}
.fv_item{
	padding: 7px;
	width: 33%;
	position: relative;
}
.fv_item .inner{
    background: #fff;
    border-radius: 50%;
    box-shadow: 0px 0px 15px 0px rgb(0 204 255 / 25%);
    text-align: center;
    width: 100%;
	padding-top:96%;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
	padding-bottom: 10px;
	position: relative;
}
.fv_circle_item{
	position: absolute;
	top: 20%;
        right: 0;
        bottom: 0;
        left: 0;
        margin: auto;
}
.fv_item .inner img{
	width: 25px;
	margin-bottom: 5px;
}
.fv_item .inner p{
	line-height: 1.5;
    font-weight: 700;
    font-size: 14px;
    background: linear-gradient(transparent 70%, yellow 20%);
    width: fit-content;
    margin: 0 auto;
}
.fv_item .inner p span{
	font-size: 18px
}
.fv_h1{
    text-align: right;
    line-height: 20px;
    margin-bottom: 20px;
    font-weight: 700;
	color: #fff;
	position: relative;
}
.fv_h1 div{
    background: linear-gradient(to right, #5FCFF8, #4BB0F9);
    display: flex;
    align-items: center;
    width: fit-content;
    margin-bottom: 8px;
    padding: 10px 10px;
    height: 70px;
	letter-spacing: 2px;
	font-size: 2.3rem;
}
.fv_h1 span{
	font-size: 2rem;
}
.fv_r p img{
	width: 60px;
	margin-right: 20px;
}
.fv_r p{
	display: flex;
	flex-flow: row;
	justify-content: center;
	align-items: center;
	font-size: 2rem;
	margin-bottom: 20px;
	font-weight:700;
}
.fv_l{
	max-width:600px;
	width: 100%;
	padding: 15px;
	text-align: left;
}
.fv_r{
	width: calc(100% - 300px);
    padding: 0px;
    z-index: 99;
    margin-left: -100px;
}
.fv_r{
	text-align: center;
}
.fv_r img{
    max-width: 650px;
    width: 100%;
    padding-top: 50px;
}
.semicircle {
  position: relative;
  background: linear-gradient(to right, #E5F8FF, #CCF1FF);
}
.semicircle::before {
  position: absolute;
  content: '';
  left: 50%;
  z-index: -10;
  width: 100%;
  height:500px;
  border-radius: 50%;
  background: inherit;
  transform: translateX(-50%) translateY(50%);
  bottom: 0px;
}
.cv_btn {
   display: inline-block;
	max-width: 400px;
    width: 100%;
    text-align: center;
    text-decoration: none;
    border-radius: 50px;
    padding: 20px 20px;
    transition: .3s;
	margin: 50px 10px -250px 10px;
}
.cv_btn:hover{
transform: translateY(4px);
}
.cv_btn a {
  display: inline-block;
  width: 100%;
  text-align: center;
  text-decoration: none;
  position: relative;
}
.cv_btn a::before {
  bottom: 0;
  content: "";
  height: 15px;
  width: 15px;
  margin: auto;
  position: absolute;
  right: 15px;
  top: 0;
  transform: rotate(45deg);
  transition: right .3s;
}
.cv_btn a:hover::before {
  right: 10px;
}
.cv_btn .btn_p{
	font-size: 1.2rem;
	font-weight: 700;
	letter-spacing: 2px;
	padding-right: 15px;
}
.btn_b a::before {
  border-right: 4px solid #fff;
  border-top: 4px solid #fff;
}
.btn_w a::before {
  border-right: 4px solid #4bb0f9;
  border-top: 4px solid #4bb0f9;
}
.btn_b {
    color: #fff;
    background: linear-gradient(to right, #5FCFF8, #4BB0F9);
}
.btn_b a{
    color: #fff;	
}
.btn_w{
    color: #4bb0f9;
    background: #fff;
	box-shadow: 0px 0px 30px #cae9ff;
}
.btn_w a{
    color: #4bb0f9;
}
.btn_w:hover{
background: #edf8ff;
}
.btn_b:hover{
    background: linear-gradient(to right, #4bb0F9, #0088ea);
}
.title_h2{
 position: relative;
	margin-bottom: 30px;
	text-align: center;
}
.title_h2:after {
  content: '';
  position: absolute;
  left: 50%;
  display: inline-block;
  width: 60px;
  height: 4px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #4BB0F9;
  border-radius: 2px;
}
.title_h2 p{
	color: #4BB0F9;
	margin-bottom: 10px;
	font-weight: 700;
}
.title_h2 h2{
	margin-bottom: 20px;
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: 2.5px;
}
.about .title_h2{
	margin-bottom: 80px;
}
.about_contents{
	width: 30%;
	padding: 10px;
}
.about_contents img{
	border-radius: 20px;
	margin-bottom: 20px;
	box-shadow: 0px 0px 20px 0px rgb(31 59 125 / 15%);
}
.about_contents h3{
	font-size: 1.2rem;
	font-weight: 700;
	text-align: center;
	margin-bottom: 10px;
}
.about_contents p{
	text-align: left;
}
.about .point{
	color: #44BEEB;
    font-size: 1.5rem;
    font-weight: 900;
    height: 20px;
    line-height: 0;
    border-radius: 10%;
    font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO";
	margin-bottom: 50px;
}
.about .row{
	justify-content: center;
	margin-top: 50px;
}
.about{
	padding-bottom: 100px;
}
.fv_kazari01{
    position: absolute;
    width: 55px;
    z-index: 99;
    bottom: 0px;
    right: 25px;
}
.fv_kazari02{
    position: absolute;
    width: 40px;
    z-index: 99;
    top: -3px;
    left: -3px;
}
.fv_kazari03{
    position: absolute;
    width: 40px;
    z-index: 99;
    top: -3px;
    right: -3px;
}
/*==================================================
                  logo
==================================================*/
.logo{
	padding: 100px 0;
}
.logo .title_h2{
	margin-bottom: 80px;
	padding: 0 20px;
}
.logo .annotation{
	max-width: 1200px;
	width: 100%;
	margin: 50px auto 0 auto;
	text-align: right;
	padding-right: 20px;
}
.slider-container {
  overflow: hidden;
}
.slider {
  width: 100%;
  position: relative;
}
.slides {
  display: flex;
  width: 200%;
  -webkit-animation: slide var(--duration, 10s) linear infinite;
          animation: slide var(--duration, 10s) linear infinite;
}
.slides.alternate {
  -webkit-animation: slide_alternate var(--duration, 10s) linear infinite;
          animation: slide_alternate var(--duration, 10s) linear infinite;
}
.slides.allow-pause:hover {
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.slide {
  flex-basis: 50%;
  display: flex;
  align-items: center;
}
.slide i {
  display: block;
  flex-basis: var(--logo-width, 20%);
  font-size: clamp( 60px, 6.8vw, 120px);
  padding: clamp( 30px, 4vw, 60px ) 0;
  transition: transform 0.3s;
  cursor: pointer;
}
.slide i:hover {
  transform: scale(1.14);
}
@-webkit-keyframes slide {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
@keyframes slide {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
@-webkit-keyframes slide_alternate {
  0% {
    transform: translateX(-50%);
  }
  100% {
    transform: translateX(0%);
  }
}
@keyframes slide_alternate {
  0% {
    transform: translateX(-50%);
  }
  100% {
    transform: translateX(0%);
  }
}
/*==================================================
               feature
==================================================*/
.feature{
	overflow: hidden;
}
.feature_title{
	text-align: center;
	margin-bottom: -70px;
}
.feature_title figure{
	width: 150px;
	margin: 0 auto;
}
.feature_01 p a{
	color: #000;
}
.speechBubble_feature {
  position: relative;
    display: inline-block;
    margin-bottom: 40px;
    padding: 12px 50px;
    border: 2px solid #4BB0F9;
    border-radius: 50px;
    background-color: #fff;
    text-align: center;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 2px;
    color: #000000;
}
.speechBubble_feature::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 51%;
  border-style: solid;
  border-width: 20px 20px 0 0;
  border-color: #4BB0F9 transparent transparent;
  translate: -50% 100%;
  transform: skew(0deg);
  transform-origin: top;
}
.speechBubble_feature::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 51%;
  border-style: solid;
  border-width: 15.2px 15.2px 0 0;
  border-color: #fff transparent transparent;
  translate: calc(-50% - 0.4px) 100%;
  transform: skew(0deg);
  transform-origin: top;
}
.feature_all{
	background: linear-gradient(to right, #E5F8FF, #CCF1FF);
	padding: 80px 0 60px 0;
}
.feature_flow{
	flex-flow: row;
	justify-content: center;
	align-items: center;
}
.feature_flow_item{
	padding: 20px;
	text-align: center;
}
.feature_circle{
	background: #fff;
    border-radius: 50%;
    padding: 40px;
	margin-bottom: 15px;
	box-shadow: 0px 0px 15px 0px rgb(0 204 255 / 25%);
}
.feature_flow_item p{
	font-weight: 700;
    line-height: 1.5;
    margin-bottom: 0px;
    height: 50px;
}
.feature_h3{
	margin-bottom: -30px;
}
.feature_h3 p{
	color: #4BB0F9;
    margin-bottom: 0px;
    line-height: 1;
    height: auto;
}
.feature_h3 h3{
	color: white;
    font-weight: 900;
    font-size: 2.5rem;
    -webkit-text-stroke: 4px #4BB0F9;
    text-stroke: 2px black;
    paint-order: stroke;
	margin-bottom: 0px;
	letter-spacing: 5px;
}
.feature_01{
	background: linear-gradient(to right, #FDF8DC, #FFF7CA);
	padding: 80px 0 60px 0;	
	position: relative;
}
.feature_02{
	background: linear-gradient(150deg, #F6FDFF, #b8ebff);
	padding: 80px 0 60px 0;	
	position: relative;
}
.feature_img{
	width: 40%;
	text-align: center;
}
.feature_img img{
    max-width: 400px;
	width: 100%;
}
.feature_01 .row{
	flex-flow: row;
	align-items: center;
    justify-content: space-between;
}
.feature_02 .row{
	flex-flow: row-reverse;
	align-items: center;
}
.feature_contents{
	padding: 0 40px;
	width: 60%;
}
.feature_contents_title{
	display: flex;
	flex-flow: row;
	color: #4BB0F9;
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: 3px;
	align-items: center;
	margin-bottom: 30px;
}
.feature_contents_title img{
	    width: auto;
    height: 50px;
	margin-right: 20px;
}
.feature_vertical_y{
	writing-mode: vertical-rl;
    color: #FFE662;
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 3px;
}
.feature_vertical_b{
	writing-mode: vertical-rl;
    color: #B9EFFF;
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 3px;
}
.point_circle{
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
}
.point_y{
	background: rgb(255 238 149 / 60%);
    width: 300px;
    height: 300px;
    text-align: center;
    border-radius: 50%;
    padding: 30px;
    position: absolute;
    top: -80px;
    left: -60px;
}
.point_y .inner{
	background:#FDF8DA; 
    border-radius: 50%;
}
.point_b{
	background: rgb(185 239 255 / 60%);
    width: 300px;
    height: 300px;
    text-align: center;
    border-radius: 50%;
    padding: 30px;
    position: absolute;
    top: -80px;
    right: -60px;
}
.point_b .inner{
	background:#E8F9FF; 
    border-radius: 50%;
}
.point_circle .inner{
	width: 140px;
	height: 140px;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;	
}
.point_circle p{
	color: #4BB0F9;
    margin-bottom: 0px;
    line-height: 1;
    height: auto;
	font-weight: 700;
}
.point_y h3{
	color: #FDF8DA;
    font-weight: 900;
    font-size: 2.2rem;
    -webkit-text-stroke: 4px #4BB0F9;
    text-stroke: 2px black;
    paint-order: stroke;
	margin-bottom: 0px;
	letter-spacing: 5px;
}
.point_b h3{
	color: #E8F9FF;
    font-weight: 900;
    font-size: 2.2rem;
    -webkit-text-stroke: 4px #4BB0F9;
    text-stroke: 2px black;
    paint-order: stroke;
	margin-bottom: 0px;
	letter-spacing: 5px;
}
.feature_05 .container{
	text-align: center;
}
.feature_05 .feature_contents_title {
    width: fit-content;
    margin: 0 auto 50px auto;
}
.feature_05_contents{
	max-width: 1050px;
	width: 100%;
}
.feature_05_contents h4{
	background: #4BB0F9;
    color: #fff;
    padding: 10px;
    border-radius: 50px;
    width: 100%;
}
.feature_row{
	display: flex;
	flex-flow: row;
	align-items: center;
	justify-content: center;
}
.feature_05_item{
	background: #fff;
    border-radius: 20px;
    border: 2px solid #4BB0F9;
    padding: 30px 20px;
	text-align: center;
	margin-bottom: 30px;
	width: 520px;
}
.feature_05_item figure{
	width: 100px;
	margin: 0 auto 30px auto;
}
.feature_05_contents .annotation{
	text-align: left;
}
.feature_05_item h5{
	 color: #4BB0F9;
    font-size: 1.3rem;
    font-weight: 700;
    margin-bottom: 20px;
}
.feature_05_item h5 span{
	font-size: 10px;
    color: #000;
	font-weight: 400;
}
.feature_05_item p{
	font-size: 16px;
	text-align: center;
	height: 60px;
}
.feature_05_item p span{
	font-size: 10px;
    color: #000;
	font-weight: 400;
}
.plus_mark{
	width: 80px;
    height: 80px;
    background: #4BB0F9;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2.5rem;
    font-weight: 100;
    border-radius: 50%;
    flex-shrink: 0;
    padding-bottom: 6px;
    padding-left: 1px;
    margin-left: -20px;
    margin-right: -20px;
    z-index: 99;
}
/*==================================================
               lineup
==================================================*/
.lineup{
	padding: 100px 0;
	background: linear-gradient(150deg, #E5F8FF, #CCF1FF);
}
.lineup .container{
	text-align: center;
}
.lineup .title_h2{
	margin-bottom: 80px;
}
.lineup .row{
	justify-content: center;
}
.lineup_contents{
	width: 25%;
	padding: 15px;
}
.lineup_contents .inner{
	background: #fff;
	border-radius: 20px;
	padding:40px 15px 30px 15px;
	text-align: center;
    box-shadow: 0px 0px 15px 0px rgb(0 204 255 / 25%);
}
.lineup_contents figure{
    max-width: auto;
    width: auto;
    height: 166px;
	margin-bottom: 20px;
}
.lineup_contents figure img{
	width: auto;
    height: 166px;
}
.phone_type{
	font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 20px;
}
.phone_price{
	text-align: left;
}
.rental{
	color: #288CD3;
    font-weight: 600;
    font-size: 18px;
	margin-bottom: 10px;
display: flex;
}
.rental span{
	background: #CCF1FF;
    padding: 0px 5px;
    border-radius: 5px;
    margin-right: 10px;
    width: 70px;
    font-size: 13px;
    display: flex;
    flex-flow: row;
    justify-content: center;
    align-items: center;
}
.buy{
	color: #288CD3;
    font-weight: 600;
    font-size: 18px;
	margin-bottom: 10px;
}
.buy span{
	background: #4BB0F9;
    padding: 0px 5px;
	color: #fff;
    border-radius: 5px;
    margin-right: 10px;
    width: 70px;
    display: inline-flex;
    justify-content: center;
	font-size: 13px;
}
.flow_scoll{
        max-width: 1140px;
	width: 100%;
	margin: 0 auto;
	padding:  0 20px;
}
.lineup_h3{
	margin-top: 100px;
    margin-bottom: 30px;
}
.lineup_h3 h3{
	margin-bottom: 10px;
}
.lineup_plan2 .rental p{
	    width: fit-content;
    margin: 0 auto;	
}
/*==================================================
                    flow
==================================================*/
.flow{
	padding: 100px 0;
	text-align: center;
}
.flow .annotation{
	text-align: left;
}
.flow .title_h2{
	margin-bottom: 60px;
}
.flow .row{
	flex-flow: row;
    justify-items: center;
    align-items: center;
	margin-bottom: 30px;
}
.flow_item{
	padding: 10px;
	text-align: center;
}
.flow_item p{
	font-weight: 700;
}
.flow_item .inner{
	background: #CCF1FF;
    padding: 20px;
    border-radius: 20px;
    box-shadow: 0px 0px 15px 0px rgb(0 204 255 / 25%);
	margin-bottom: 15px;
}
.flow .point {
    color: #44BEEB;
    font-size: 2rem;
    font-weight: 900;
    height: 20px;
    line-height: 0;
    border-radius: 10%;
    font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO";
    margin-bottom: 50px;
}
/*==================================================
                     cv
==================================================*/
.cv{
	padding: 60px 0;
    background: linear-gradient(150deg, #E5F8FF, #CCF1FF);
}
.cv .row{
	align-items: center;
	flex-flow: row;
}
.cv figure{
	padding: 30px;
}
.cv ul{
	margin-bottom: 30px;
	padding-left: 20px;
}
.cv ul li{
	background: linear-gradient(transparent 70%, yellow 20%);
    width: fit-content;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 2px;
    margin-bottom: 5px;
}
.cv p{
	font-size: 1rem;
}
.cv p a{
	color: #0078CE;
}
.cv_contents{
	padding: 0 30px;
}
/*==================================================
                   qa
==================================================*/
.qa{
	padding: 100px 0;
}
.qa .title_h2{
	margin-bottom: 80px;
}
.accordion_test{
  margin: 0 auto 50px;
}
.accordion-check{
    display: none;
}
.accordion-label{
    background: #F2F6F7;
    color: #4BB0F9;
    margin-bottom: 1px;
    padding: 50px 40px;
    border-radius: 30px;
    position: relative;
    font-size: 1.3rem;
    font-weight: 700;
    letter-spacing: 2px;
	display: flex;
    align-items: center;
	line-height: 1.5;
}
.accordion-label p{
	font-size: 2rem;
	margin-right: 20px;
}
.accordion-label:after{
    box-sizing: border-box;
    content: '＋';
    display: flex;
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    height: 100%;
    padding: 10px 30px;
    position: absolute;
    right: 0;
    top: 0px;
    align-items: center;
    justify-content: center;
}
.accordion-content{
    display: flex;
    opacity: 0;
	height: 20px;
    padding: 0 10px;
    transition: .5s;
    visibility: hidden;
}
.accordion-content .qa_a{
	font-size: 2rem;
	margin-right: 20px;
	font-weight: 700;
}
.accordion-content .qa_p {
    padding-top: 10px;
}
.accordion-check:checked + .accordion-label:after{
    content: 'ー';
}
.accordion-check:checked + .accordion-label + .accordion-content{
   opacity: 1;
    padding: 0 40px 50px 40px;
    visibility: visible;
    background: #F2F6F7;
    height: auto;
    border-radius: 0 0 30px 30px;
    margin-bottom: 20px;
	margin-top: -1px;
}
.accordion-check:checked + .accordion-label{
    border-radius: 30px 30px 0 0;
}

/*==================================================
                   footer
==================================================*/
footer {
  padding: 70px 0 50px 0;
  background: url("../img/footer_bg.webp")no-repeat 100% top;
  background-size: cover;
}
footer .row{
	flex-flow: row;
    justify-content: space-between;
    align-items: end;
}
footer .footer_l img{
	width: 250px;
}
footer ul {
  list-style: none;
  display: flex;
flex-flow: wrap;
  width: fit-content;
  margin: 20px auto 0 0;
}
footer ul li:before {
    content:  "";          
    width: 15px;                
    height: 15px;                         
    display:  inline-block;           
    position:  relative;              
    margin-right: 5px; 
    background-image:  url( "../img/footer_icon.webp"); 
    background-size:  contain;            
    background-repeat:  no-repeat;   
    vertical-align: top;   
}
footer .inc{
	flex-shrink: 0;
    font-size: 10px;
}
footer ul {
    font-size:  20px;    
}
footer ul li a {
  text-decoration: none;
  color: #000;
  font-size: 16px;
  letter-spacing: 1px;
}
footer ul li:hover a {
  color: rgba(0,0,0,.7)
}

footer ul li {
  padding: 20px 25px 0 0;
    display: flex;
    align-items: center;
}
footer p {
  font-size: 14px;
}
/*==================================================
                  subpage
==================================================*/
.subpage{
	background: #e2f9ff;
    padding: 200px 0 100px 0;
    text-align: center;
}
.subpage_title{
	margin-bottom: 50px;
}
.subpage_title h1{
	color: #4bb0f9;
	margin-bottom: 15px;
	font-weight: 700;
}
.subpage_form{
	max-width: 850px;
	width: 100%;
	margin: 0 auto;;
	background: #fff;
	padding: 30px 20px;
}
.subpage footer{
	background: none;
}
.subpage footer .container{
    border-top: 1px solid;
    margin: 0 auto;
	padding-top: 80px;
}
footer .footer_link img {
    width: 200px;
}
footer .footer_link{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.footer_link {
	margin-bottom: 50px;
}
.footer_link ul li {
    padding: 0px 25px 0 0;
}
.subpage footer ul {
    margin: 0px;
}
@media screen and (max-width:1200px) {
	.fv_h1 div{
		font-size: 2rem;
		padding: 5px 20px;
		height: 55px;
	}
	.fv_h1 div span{
		font-size: 1.5rem;
	}
.fv_contents {
    width: 400px;
}
.fv_item {
    padding: 5px;
    width: 33%;
}
.fv_item .inner p {
    font-size: 12px;
}
.fv_item .inner p span{
    font-size: 16px;
}
	.fv_r {
    width: calc(100% - 60px);
    margin-left: -150px;
}
.fv_r img {
    padding-top: 80px;
}
.feature_05_contents{
	max-width: 100%;
	width: 100%;
	padding-right: 20px;
}
.feature_05_item{
	width: calc(50% - 10px);
}
.rental{
    font-size: 16px;
}
.rental span {
    padding: 0px 2px;
    margin-right: 5px;
    width: 60px;
    font-size: 12px;
}
.buy{
    font-size: 16px;
}
.buy span {
    padding: 0px 2px;
    margin-right: 5px;
    width: 60px;
    font-size: 12px;
}
.lineup_contents .inner {
    padding: 30px 10px;
}
.cv figure {
    padding: 20px;
	width: 50%;
}
.cv_contents {
    padding: 0 20px;
}
.cv ul {
    margin-bottom: 20px;
}
.speechBubble_feature {
    margin-bottom: 30px;
}
.fv_kazari01 {
    width: 45px;
    right: 65px;
}
.footer_link  ul li a {
    font-size: 14px;
}
.footer_link ul li {
    padding: 0px 15px 0 0;
}
footer .footer_link img {
    width: 150px;
}
}
@media screen and (max-width:992px) {
footer .footer_link {
    display: flex;
    flex-flow: column;
    align-items: start;
}
    footer .footer_link img {
        width: 250px;
		margin-bottom: 20px;
    }
.subpage footer .container {
    padding-top: 50px;
}
  .b_992 {
    display: block;
  }
  .n_992 {
    display: none !important;
  }
    .fv_kazari01 {
        width: 8%;
        right: 8%;
    }
.fv_kazari02 {
    width: 25%;
}
.fv_kazari03 {
    width: 25%;
}
.fv_contents {
    width: 100%;
}
    .fv_item {
        padding: 15px;
	}
.accordion-label {
    padding: 40px 70px 40px 30px;
    border-radius: 20px;;
    align-items: center;
}
footer .row {
    flex-flow: column;
    align-items: baseline;
	padding: 0 15px;
}
	.footer_l{
		margin-bottom: 20px;
	}
.cv .row {
    flex-flow: column;
}
.cv figure {
	width: 100%;
}
.cv_contents {
width: 100%;
	}
	.cv .speechBubble_feature{
		font-size: 2rem;
	}
.cv ul li {
    font-size: 3vw;
}
.cv p {
    font-size: 1.5rem;
}
.lineup_contents {
    width: 50%;
}
    .lineup_contents .inner {
        padding: 30px 20px;
    }
.rental{
    font-size: 22px;
}
.rental span {
    padding: 0px 5px;
    margin-right: 10px;
    width: 100px;
    font-size: 16px;
}
.buy{
    font-size: 22px;
}
.buy span {
    padding: 0px 5px;
    margin-right: 10px;
    width: 100px;
    font-size: 16px;
}
	.flow .container{
		max-width: 100%;
	}
	.flow .flow_scoll{
		max-width: 100%;
	  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
		padding-left: 20px;
		margin-bottom: 20px;
	}
.flow .row {
    width: 1400px;
	padding-left: 20px;
}
.feature_05_contents {
        padding-right: 0px;
    }
.feature_05_item {
    padding: 30px 20px;
}
.feature_05 .feature_contents_title {
    margin: 30px auto 30px auto;
}
    .fv_r {
        width: 100%;
        margin-left: 0px;
    }
.fv_l {
    max-width: 100%;
    width: 100%;
    padding: 0px;
	text-align: left;
}
	.fv .container{
		max-width: 100%;
	}
.fv .container .row {
    padding: 0 15px;
}
    .fv_h1 div {
        font-size: 6vw;
        padding: 10px 10px;
        height: auto;
        line-height: 1.2;
    }
    .fv_h1 div span {
        font-size: 5vw;
    }
.speechBubble {
    margin-bottom: 50px;
    font-size: 4vw;
}
    .fv_r img {
        padding-top: 10px;
        max-width: 800px;
    }
.fv_contents {
    justify-content: center;
}
.fv_item .inner img {
    width: 35px;
	margin-bottom: 20px;
}
.fv_item .inner p {
    font-size: 2.8vw;
}
.fv_item .inner p span {
    font-size: 3.8vw;
}
.cv_btn {
	max-width: 700px;
    width: 100%;
}
header img {
    width: 250px;
}
.fv {
    background: url(../img/fv_bg_sp.webp) no-repeat center bottom;
    background-size: cover;
	padding-bottom: 120px;
}
.about .row {
    flex-flow: column;
}
    .about .point {
        writing-mode: vertical-rl;
        height: auto;
        width: 20px;
        margin-bottom: 10px;
        font-size: 5vw;
    }
.about_contents {
    max-width: 500px;
    width: 100%;
    padding: 10px;
}
.about_contents h3 {
    font-size: 1.5rem;
}
.about {
    padding-top: 50px;
}
.feature_flow {
   flex-flow: wrap;
        max-width: 600px;
        width: 100%;
        margin: 0 auto;
}
.feature_flow_item {
    width: 50%;
}
	.feature_flow_item p{
	font-size: 1.6rem;
	}
	.feature_h3 p{
		font-size: 16px;	
	}
.feature_01 .row {
    display:contents;
}
.feature_02 .row {
    display:contents;
}
.feature_vertical_y {
    writing-mode: inherit;
	text-align: right;
	padding-right: 20px;
}
.feature_vertical_b {
    writing-mode: inherit;
	text-align: left;
	padding-left: 20px;
}
.feature_img {
    width: 100%;
	margin-bottom: 20px;
	}
.feature_img img {
    max-width: 600px;
}
.feature_contents {
    padding: 20px 20px;
    width: 100%;
}
.feature_contents_title {
    width: fit-content;
    margin: 0 auto 30px auto;
}
.point_y {
    left: -100px;
}
.point_b {
    right: -100px;
}
}

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

  .n_768 {
    display: none;
  }
p {
    font-size: 14px;
}
header .oya_company p {
    font-size: 10px;
}
    header img {
        width: 200px;
    }
header .oya_company img {
    width: 100px;
    padding: 5px 10px;
}
    .fv {
       padding-top: 120px;
    }
.cv_btn {
    margin: 20px auto 0px auto;
}
.fv_item .inner img {
	margin-bottom: 10px;
}
.point_y {
    width: 200px;
    height: 200px;
    top: -50px;
	left: -50px;
}
.point_b {
    width: 200px;
    height: 200px;
    top: -50px;
    right: -50px;
}
.point_circle .inner {
    width: 100px;
    height: 100px;
}
.feature_05_item h5 {
    height: 60px;
}
.feature_05_item p {
    height: 85px;
}
.feature_05 .feature_contents_title {
	text-align: left;
    }
.flow .row {
    width: 1200px;
}
    .cv_btn {
        max-width: 600px;
    }
    .feature_contents {
        padding: 0px 0px;
    }
    .buy {
        font-size: 3.5vw;
    }
	.rental p{
	font-size: 2.6vw;	
	}
    .lineup_contents .inner {
        padding: 30px 15px;
    }
}

@media screen and (max-width:600px) {
    .fv_kazari01 {
        width: 12%;
        right: 5%;
		        bottom: -20px;
    }
.cv ul {
    padding-left: 15px;
}
.flow .row {
    width: 1000px;
}
.feature_contents_title {
    font-size: 7vw;
	line-height: 1.5
}
.speechBubble {
     margin-bottom: 30px;
     font-size: 4.5vw;
     font-weight: 700;
	padding: 8px 30px;
    }
    .fv_h1 div span{
        font-size: 4.5vw;
    }
    .fv_item {
        padding: 8px;
    }
.title_h2 h2 {
    font-size: 4.5vw;
}
.lineup_contents {
    padding: 8px;
}
.lineup .row {
    padding: 0 10px;
}
	.rental{
        font-size: 14px;
	}
    .rental span {
        padding: 0px 3px;
        margin-right: 5px;
        width: 60px;
        font-size: 12px;
    }
	.buy{
        font-size: 14px;
	}
    .buy span {
        padding: 0px 3px;
        margin-right: 5px;
        width: 60px;
        font-size: 12px;
    }
header .oya_company {
flex-flow: column;
border-left: 1px solid #7E7E7E;
}
header .oya_company img {
    border-right: 0px;
	margin-bottom: 2px;
}
header .oya_company p {
    padding: 0px 0 0 12px;
}
    .fv {
        padding-top: 150px;
    }
.fv_h1 div {
    margin-bottom: 10px;
}
.fv_h1 {
    margin-bottom: 0px;
}
	.about p{
		text-align: left;
	}
	.about .title_h2 p{
		text-align: center;
	}
    .about .point {
        font-size: 8vw;
    }
.title_h2 h2 {
        font-size: 6vw;
    }
.logo .title_h2 h2 {
        font-size: 4vw;
    }
.logo {
    padding: 60px 0;
}
.about {
    padding-bottom: 50px;
}
.feature_flow_item {
    padding: 12px;
}
    .feature_vertical_b {
        font-size: 1.2rem;
		margin-bottom: 20px;
	}
    .feature_vertical_y {
        font-size: 1.2rem;
		margin-bottom: 20px;
    }
.feature_05_contents h4 {
    font-size: 4vw;
	margin-bottom: 30px;
}
    .cv .speechBubble_feature {
        font-size: 4.5vw;
	padding: 10px 30px;
    }
.about_contents {
        padding: 10px 25px 0 25px;
    }
    .about .point {
        margin-bottom: 5px;
    }
.about_contents img {
    margin-bottom: 10px;
}
.subpage {
    padding: 50px 0 0px 0;
}
.footer_link {
    margin-bottom: 30px;
}
}

@media screen and (max-width:480px) {
.subpage_form {
    padding: 20px 10px;
}
.subpage_title h1 {
    font-size: 2rem;
}
.subpage_title {
    margin-bottom: 30px;
}
    .footer_link ul li a {
        font-size: 3vw;
    }
  .b_480 {
    display: block;
  }
  .n_480 {
    display: none;
  }
	
    .fv_item .inner img {
        width: 22px;
        margin-bottom: 10px;
    }
.fv_circle_item {
    top: 13%;
}
.accordion-label:after {
    padding: 10px 15px;
}
    .cv ul li {
        font-size: 4vw;
        letter-spacing: 0px;
    }
.flow {
    padding: 60px 0;
}
.qa {
    padding: 60px 0;
}
.lineup {
    padding: 60px 0;
}
.lineup .title_h2 {
    margin-bottom: 60px;
}
.lineup_contents .inner {
        padding: 20px 10px;
    }
.phone_type {
    margin-bottom: 10px;
}
    .rental{
        font-size: 15px;
		left: 0px;
		margin-bottom: 5px;
    }
    .buy{
        font-size: 15px;
		letter-spacing: 0px;
    }
    .rental span {
        width: 50px;
        font-size: 10px;
		letter-spacing: 0px;
    }
    .buy span {
        width: 50px;
        font-size: 10px;
			letter-spacing: 0px;
    }
.feature_05_item h5 {
    font-size: 4vw;
}
.feature_05_item p {
    font-size: 14px;
	letter-spacing: 0px;
}
    .feature_05_item {
        padding: 30px 15px;
    }
    .feature_flow_item p {
        font-size: 5vw;
    }
    .feature_h3 p {
        font-size: 14px!important;
    }
header {
    padding: 15px 15px;
}
    .fv_h1 div {
        padding: 10px 10px;
    }
    .fv .container .row {
        padding: 0 15px;
    }
    header img {
        width: 210px;
    }
.cv_btn .btn_p {
    font-size: 1.3rem;
}
.about .title_h2 {
    margin-bottom: 60px;
}
    .feature_flow_item {
        padding: 8px;
    }
    .point_y {
        width: 150px;
        height: 150px;
        top: -50px;
        left: -30px;
    }
    .point_b {
        width: 150px;
        height: 150px;
        top: -50px;
        right: -30px;
    }
    .cv p {
        font-size: 14px;
    }
.cv {
    padding: 40px 0;
}
.accordion-label p {
    font-size: 25px;
    margin-right: 15px;
}
.accordion-content .qa_a {
    font-size: 25px;
}
.accordion-check:checked + .accordion-label + .accordion-content {
    padding: 0 15px 30px 15px;
}
.accordion-label {
    font-size: 18px;
    padding: 30px 40px 30px 15px;
	border-radius: 15px;
    }
.accordion-check:checked + .accordion-label {
    border-radius: 15px 15px 0 0;
}
.accordion-check:checked + .accordion-label + .accordion-content {
    border-radius: 0 0 15px 15px;
}
footer ul li a {
    font-size: 3vw;
}
footer ul {
    margin: 20px auto 0 0;
}
footer {
    padding: 50px 0 50px 0;
}
    .footer_l {
        margin-bottom: 50px;
    }
footer p {
    font-size: 10px;
}
footer ul li {
    padding: 10px 15px 0 0;
}
.plus_mark {
    width: 50px;
    height: 50px;
}
.feature_contents_title {
    letter-spacing: 2px;
}
.feature_h3 h3 {
    font-size: 2rem;
}
.point_y h3 {
    font-size: 1.8rem;
    padding-left: 5px;
}
.point_b h3 {
    font-size: 1.8rem;
    padding-left: 5px;
}
.feature_01 {
    padding: 50px 0 60px 0;
}
.feature_02 {
    padding: 50px 0 60px 0;
}
.qa .title_h2 {
    margin-bottom: 60px;
}
    header .oya_company p {
        font-size: 2.2vw;
    }
    header .oya_company img {
        width: 90px;
    }
    .fv_h1 div {
        font-size: 5.8vw;
    }
.lineup_h3 h3 {
    font-size: 1.5rem;
}
.phone_type {
    font-size: 1rem;
}
}
@media screen and (max-width:400px) {
    .fv_h1 div {
        font-size: 5.6vw;
    }
}
