/*--------------------------------------------

Theme Name: casacurare
Theme URI: https://www.casacurare.com/
Description: カーサクラーレ
Version: 1.0
Author: Sato Printing
Author URI: http://www.satoprinting.co.jp/

---------------------------------------------*/


@charset "utf-8";
/* CSS Document */

/* Noto Sans: 変数スタイルの CSS クラス

.noto-sans-<uniquifier> {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}
.noto-sans-jp-<uniquifier> {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}
*/


/*
	=============================== 共通スタイル ===============================
*/

/*
html {
	min-width: 800px;
}
*/
body {
	font-family: "Noto Sans JP", sans-serif;
}

* {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

a,
a:visited,
a:hover,
a:active {
	text-decoration: none;
	color: inherit;
}

.cs_bnr_box a {
	display: block;
}

.cs_bnr_box {
    margin: 0 auto;
}
.cs_bnr_box img {
    width: 100%;
	height: auto;
}

@media screen and (max-width: 480px) {
	
	html {
	min-width: inherit;
}


.cs_bnr_box img{
	width: 100%;
}

}

hr {
    border: none;
    border-top: 2px dotted #515457;
	margin: 90px 0 70px;
}

.pc_none {
	display: none;
}

.pc_none_900 {
	display: none;
}

.sp_none {
	display: block;
}

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


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

.pc_none {
	display: block;
}

.sp_none {
	display: none;
}

}

.text_blue {
	color: #82C1EA;
}

.text_size_46_step {
	font-size: 46px;
	margin: 0 5px;
}

/* contact_btn */

.contact_btn {
	margin: 40px 0 50px 0;
	display: flex;
    justify-content: center;
    align-items: center;
	text-align: center;
}

.contact_btn a {
	font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-size: 28px;
    background: #F19CA6;
    border-radius: 10px;
    position: relative;
    margin: 0 auto;
    width: 100%;
    padding: 15px;
    color: #FFFFFF;
    transition: 0.3s ease-in-out;
}

.contact_btn a:hover {
	background: #E8383D;
	/*opacity: 0.8;*/
}
.contact_btn a:after {
    content: '';
    width: 10px;
    height: 10px;
    border-top: 2px solid #FFFFFF;
    border-right: 2px solid #FFFFFF;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 24px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}
.contact_btn a:hover:after {
    border-color: #FFFFFF;
}

@media screen and (max-width: 480px) {
/* contact_btn */

.contact_btn {
	margin: 40px 0 50px 0;
	display: flex;
    justify-content: center;
    align-items: center;
	text-align: center;
}

.contact_btn a {
	font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-size: 22px;
    background: #F19CA6;
    border-radius: 10px;
    position: relative;
    margin: 0 auto;
    width: 700px;
    padding: 10px;
    color: #FFFFFF;
    transition: 0.3s ease-in-out;
	  line-height: 1.3;
}

.contact_btn a:hover {
	background: #E8383D;
	/*opacity: 0.8;*/
}
.contact_btn a:after {
    content: '';
    width: 10px;
    height: 10px;
    border-top: 2px solid #FFFFFF;
    border-right: 2px solid #FFFFFF;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 24px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}
.contact_btn a:hover:after {
    border-color: #FFFFFF;
}
}



/* text */

.hanging_indent {
	padding-left:1em;
	text-indent:-1em;	
}

.text_18 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 18px;
  color: #515457;
  line-height: 1.6;
}

.text_18_center {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 18px;
  color: #515457;
  line-height: 1.6;
  text-align: center;
}

.text_20 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 20px;
  color: #515457;
  line-height: 1.6;
}

.text_20_center {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 20px;
  color: #515457;
  line-height: 1.6;
  text-align: center;
}

.text_22 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 22px;
  color: #515457;
  line-height: 1.6;
}

.text_bold {
  font-weight: 600;
}

.text_important {
  font-weight: 400;
  text-decoration: underline;
  color: #82C1EA;
}

.text_important_02 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 24px;
  color: #82C1EA;
  line-height: 1.6;
  text-align: center;
  margin: 10px 0 10px 0;
}

.text_price {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: 28px;
  color: #E8383D;
  line-height: 1.6;
	
}


.heading01 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 34px;
  color: #515457;
	line-height: 1.6;
	letter-spacing: 0.1em;
  margin: 50px 0 0 0;
}

.heading_underline {
  padding-bottom: 0px;	
  	
  background:linear-gradient(transparent 70%, rgba(248, 228, 105) 0%);
  display: inline;

  /* 背景の繰り返しを停止 */
  background-repeat: no-repeat;

  /* マーカーの横方向を0にして縮める */
  background-size: 0% 100%;

  /* マーカーが引かれる速度を指定 */
  transition:background-size 1.5s;
	
  z-index: -1;
}

.heading_underline.on {
  background-size: 100% 100%;
}

.yellow_underline {
  padding-bottom: 0.5px;	
  	
  background:linear-gradient(transparent 92%, rgba(248, 228, 105) 0%);
  display: inline;

  /* 背景の繰り返しを停止 */
  background-repeat: no-repeat;

  /* マーカーの横方向を0にして縮める */
  background-size: 0% 100%;

  /* マーカーが引かれる速度を指定 */
  transition:background-size 1.5s;
	
  z-index: -1;
}

.yellow_underline.on {
  background-size: 100% 100%;
}

/*
.heading_underline {
	position: relative;
}

.heading_underline:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 0%;
  height: 14px;
  background: #F8E469;
  transition: all 2s;
  z-index: -1;
}

.heading_underline.isActive:after {
  width: 100%;
}
*/

.text_title_01 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 30px;
  color: #82C1EA;
  line-height: 1.3;
  margin: 50px 0 40px 0;
}

.text_title_burette01 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 24px;
  color: #82C1EA;
  line-height: 1.4;
  margin: 0 0 20px 0;
	
  padding: 0 0 0 40px;
  background-image: url("https://www.casacurare.com/core_strap/images/cs_burette_01.svg");
  background-size: 30px;
  background-repeat: no-repeat;
  background-position: 0 0px;	
}



.text_title_02 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 30px;
  color: #FFFFFF;
	letter-spacing: 0.1em;
	text-align: center;
	width: 100%;
	padding: 15px 0;
    background-color:#82C1EA;
	border-radius: 10px;
	margin: 0 0 40px 0;
}

.text_title_03_1 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 26px;
  color: #EA925F;
  margin: 0 0 20px 0;
  line-height: 1.3;
}

.text_title_03_2 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 26px;
  color: #89C997;
  margin: 0 0 20px 0;
  line-height: 1.3;
}

.cs_h2 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 32px;
  color: #515457;
  text-align: center;
  margin: 0 0 50px 0;
  line-height: 1.3;
}

.cs_h3 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 24px;
  color: #515457;
  text-align: center;
  margin: 0 auto 30px;
  width: 540px;
	letter-spacing: 0.2em;
	line-height: 1.3;
    position: relative;
    padding: .4em 1em;
}

.cs_h3::before,
.cs_h3::after {
    display: inline-block;
    position: absolute;
    width: 10px;
    height: 100%;
    border: 2px solid #2589d0;
    box-sizing: border-box;
    content: '';
}

.cs_h3::before {
    top: 0;
    left: 0;
    border-right: none;
}

.cs_h3::after {
    bottom: 0;
    right: 0;
    border-left: none;
}

.cs_bullet_text ul li {
	list-style: none;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 22px;
  color: #515457;
	line-height: 1.5;
	padding-left: 18px;
	text-indent: -18px;
	margin-bottom: 20px;
}

.cs_bullet_text ul li:before {
    content:  "";
    width: 10px; 
    height: 10px;
    display: inline-block;
    background-color: #82C1EA;
    border-radius: 50%;
    position: relative;
    top: -2.5px;
    margin-right: 8px;
}

.text_mg_r20 {
	margin-right: 20px;
}


@media screen and (max-width: 480px) {
/* text */

.hanging_indent {
	padding-left:1em;
	text-indent:-1em;	
}

.text_18 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 17px;
  color: #515457;
  line-height: 1.6;
}

.text_18_center {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 17px;
  color: #515457;
  line-height: 1.6;
  text-align: center;
}

.text_20 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 18px;
  color: #515457;
  line-height: 1.6;
}

.text_22 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 20px;
  color: #515457;
  line-height: 1.6;
}

.text_bold {
  font-weight: 600;
}

.text_important {
  font-weight: 400;
  text-decoration: underline;
  color: #82C1EA;
}

.text_important_02 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 22px;
  color: #82C1EA;
  line-height: 1.6;
  text-align: center;
  margin: 10px 0 10px 0;
}

.text_price {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: 28px;
  color: #E8383D;
  line-height: 1.6;
	
}

.heading01 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 32px;
  color: #515457;
	line-height: 1.6;
	letter-spacing: 0.1em;
  margin: 50px 0 0 0;
}

.heading_underline {
  padding-bottom: 0px;	
  	
  background:linear-gradient(transparent 70%, rgba(248, 228, 105) 50%);
  display: inline;

  /* 背景の繰り返しを停止 */
  background-repeat: no-repeat;

  /* マーカーの横方向を0にして縮める */
  background-size: 0% 100%;

  /* マーカーが引かれる速度を指定 */
  transition:background-size 1.5s;
	
  z-index: -1;
}

.heading_underline.on {
  background-size: 100% 100%;
}	
	
.text_title_01 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 28px;
  color: #82C1EA;
  line-height: 1.3;
  margin: 40px 0 30px 0;
}
	
.text_title_burette01 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 22px;
  color: #82C1EA;
  line-height: 1.4;
  margin: 0 0 20px 0;
	
  padding: 0 0 0 40px;
  background-image: url("https://www.casacurare.com/core_strap/images/cs_burette_01.svg");
  background-size: 30px;
  background-repeat: no-repeat;
  background-position: 0 0px;	
}
	
.text_title_02 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 26px;
  color: #FFFFFF;
	letter-spacing: 0.1em;
	text-align: center;
	width: 100%;
	padding: 15px 0;
    background-color:#82C1EA;
	border-radius: 10px;
	margin: 0 0 40px 0;
	  line-height: 1.3;
}

.text_title_03_1 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 24px;
  color: #EA925F;
  margin: 0 0 20px 0;
	  line-height: 1.3;
}

.text_title_03_2 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 24px;
  color: #89C997;
  margin: 0 0 20px 0;
	  line-height: 1.3;
}

.cs_h2 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 30px;
  color: #515457;
  text-align: center;
  margin: 0 0 50px 0;
  line-height: 1.3;
}

.cs_h3 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 24px;
  color: #515457;
  text-align: center;
  margin: 0 auto 30px;
  width: 320px;
	line-height: 1.3;
    position: relative;
    padding: .4em 1em;
}

.cs_h3::before,
.cs_h3::after {
    display: inline-block;
    position: absolute;
    width: 10px;
    height: 100%;
    border: 2px solid #2589d0;
    box-sizing: border-box;
    content: '';
}

.cs_h3::before {
    top: 0;
    left: 0;
    border-right: none;
}

.cs_h3::after {
    bottom: 0;
    right: 0;
    border-left: none;
}

.cs_bullet_text ul li {
	list-style: none;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 20px;
  color: #515457;
	line-height: 1.5;
	padding-left: 18px;
	text-indent: -18px;
	margin-bottom: 20px;
}

.cs_bullet_text ul li:before {
    content:  "";
    width: 10px; 
    height: 10px;
    display: inline-block;
    background-color: #82C1EA;
    border-radius: 50%;
    position: relative;
    top: -2px;
    margin-right: 8px;
}

.text_mg_r20 {
	margin-right: 20px;
}
	
}


/*
.hero{
	background:url(core_strap/images/cs_bg_01.png) no-repeat;
    background-position: 50% 50%;
    background-size: cover;
    height: 800px;
}
*/

/* ヘッダー */
#cs_header {
  max-height: 800px;
  min-height: 560px;
  background-image: url(core_strap/images/cs_bg_01.png);
  background-repeat: no-repeat; /* 画像をリピートさせない */
  width: 100vw; /* 幅を画面幅に合わせる */
  background-size: cover;
  background-position: 50% 50%;
  border-bottom-right-radius: 50% 7%;
  border-bottom-left-radius: 50% 7%;
}


.h_logo {
	height: 90px;
	padding-left: 30px;
	padding-top: 30px
}

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

.cs_price_01 {
	position: absolute;
	position: fixed;
	bottom: 20px;
	right: 110px;
	z-index: 5;
}

.cs_price_01 img {
   width: 70vw;
   max-width: 340px;
}

/*
@media screen and (max-width: 1000px) {
	
#cs_header {
  height: 650px;
  background-image: url("core_strap/images/cs_bg_01_sp.png");
  background-repeat: no-repeat;
  width: 100vw; 
  background-size: cover;
  background-position: 50% 50%;
  border-bottom-right-radius: 50% 7%;
  border-bottom-left-radius: 50% 7%;
}


.h_logo {
	height: 70px;
	padding-left: 10px;
	padding-top: 10px
}

.cs_header_wrapper{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
}
*/

@media screen and (max-width: 480px) {
	
#cs_header {
  max-height: 900px;
  min-height: 800px;
  background-image: url("core_strap/images/cs_bg_01_sp.png");
  background-repeat: no-repeat; /* 画像をリピートさせない */
  width: 100vw; /* 幅を画面幅に合わせる */
  background-size: cover;
  background-position: 50% 50%;
  border-bottom-right-radius: 50% 7%;
  border-bottom-left-radius: 50% 7%;
}


.h_logo {
	height: 70px;
	padding-left: 10px;
	padding-top: 10px
}

.cs_header_wrapper{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
	
.cs_price_01 {
	position: absolute;
	position: fixed;
	top: 10px;
	right: 14%;
	z-index: 5;
}

.cs_price_01 img {
   width: 80vw;
   max-width: 380px;
}	
}


/* ナビゲーション */

/* ----------------------- */
/* デフォルトのbuttonスタイルをリセット */
button {
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		background: transparent;
		border: 0;
		border-radius: 0;
		color: inherit;
		cursor: pointer;
		font: inherit;
		margin: 0;
		outline: none;
		padding: 0;
		vertical-align: middle;
	}

.info-btn {
  width: 360px;
  height: 50px;
  text-align:center;
  vertical-align: middle;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 13.5px;
  font-weight: 400;
  color: #fff;
  line-height: 1.4;
  padding: 2px;
  background: #83c0ce;
  border: solid 2.5px #fff;
  position: fixed;
  top: 10px;
  right: 80px;
  z-index: 5;
}

/* 以下、ハンバーガーボタン */
.burger-btn{
  display: block;
  width: 60px;
  height: 60px;
  position: relative;
background-color: #EBEDDE;
  z-index: 11;
  border:none;
  position: fixed;
  top: 10px;
  right: 10px;
}
.bar{
  width: 20px;
  height: 1px;
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background-color: #515457;
}
.bar_top{
  top: 20px;
}
.bar_mid{
  top: 50%;
  transform: translate(-50%,-50%);
}
.bar_bottom{
  bottom: 20px;
}

.bar_text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 15px;
  color: #515457;
  margin: 64px 0 0px 0;

}

/*close*/
.burger-btn.close .bar_top{
  transform: translate(-50%,10px) rotate(45deg);
  transition: transform .3s;
}
.burger-btn.close .bar_mid{
  opacity: 0;
  transition: opacity .3s;
}
.burger-btn.close .bar_bottom{
transform: translate(-50%,-10px) rotate(-45deg);
transition: transform .3s;
}

/* 以下、ハンバーガーメニュー */

.nav-wrapper {
visibility: hidden;
opacity: 0;
  background-color:#EBEDDE;
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  transition: all .3s;
  z-index: 10;
	overflow: auto; /* または overflow: scroll; */
	/* 必要に応じて縦幅と横幅を調整 */
}

/*
.header-nav{
  width: 100%;
  height: 100%;
  z-index: 2;
}
*/

.nav-list{
  font-family: "Noto Sans JP", sans-serif; 
  font-weight: 400;
  margin-top: 60px;
  font-size: 22px;
  text-align: left;
}

.nav-list a {
position: relative;
text-decoration: none;	
transition: 0.3s;	
  color: #515457;
}

.nav-list a:hover {
  color: #515457;
}

.nav-list a::before{
	content: "";
	position: absolute;
	left: 0;
	bottom: -4px;
	width: 0;
	height: 2px;
	background: #515457;
	transition: 0.3s;
}

.nav-list a:hover::before{
	width: 100%;
}

.nav-item{
  margin-bottom: 20px;
}

.nav-flex-box {
	padding: 0 5%;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin: 0 auto;
	gap: 0;
}

.nav-flex-box-item-1 {
	width: 300px;
}

.nav-flex-box-item-2 {
	width: 300px;
}


.nav-info {
	font-family: "Noto Sans JP", sans-serif; 
    font-weight: 400;
    font-size: 14px;
    margin-top: 60px;
}

.nav-info p {
  text-align: center;
  color: #515457;
  margin-bottom: 40px;
}

/* メニューオープン時 */
.nav-wrapper.fade {
	visibility: visible;
	opacity: 1;
}

/* メニューオープン時 スクロールしない設定 */
.noscroll {
  overflow: hidden;
}

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

/* 以下、ハンバーガーボタン */
.burger-btn{
  display: block;
  width: 40px;
  height: 40px;
  position: relative;
  z-index: 11;
  border:none;
  position: fixed;
  top: 10px;
  right: 0px;
}
.bar{
  width: 15px;
  height: 1px;
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background-color: #515457;
}
.bar_top{
  top: 13px;
}
.bar_mid{
  top: 50%;
  transform: translate(-50%,-50%);
}
.bar_bottom{
  bottom: 13px;
}
	
.bar_text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 12px;
  color: #515457;
  margin: 44px 0 0px 0;
}

/*close*/
.burger-btn.close .bar_top{
  transform: translate(-50%,6.5px) rotate(45deg);
  transition: transform .3s;
}
.burger-btn.close .bar_mid{
  opacity: 0;
  transition: opacity .3s;
}
.burger-btn.close .bar_bottom{
transform: translate(-50%,-6.5px) rotate(-45deg);
transition: transform .3s;
}	

.nav-list{
  font-family: "Noto Sans JP", sans-serif; 
  font-weight: 400;
  margin-top: 40px;
  font-size: 16px;
  text-align: center;
}

.nav-item{
  margin-bottom: 15px;
}

.nav-flex-box {
	padding: 0 5%;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin: 0 auto;
	gap: 0;
}

.nav-flex-box-item-1 {
	width: 100%;
}

.nav-flex-box-item-2 {
	width: 100%;
}

	
	
}

/* top */

.top_wrapper {
	padding: 90px 3%;
	margin: 0 auto;
}

.top_flex_wrapper {
	max-width: 1100px;
	min-width: 700px;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0;
	margin: 0 auto;
}

.top_flex_item1 {
	width: calc(48% - 0px);
	margin: 0 auto;
	text-align: center;
}


.top_text_sub {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: calc(1.0vw + 0.8rem);
  color: #515457;
  line-height: 1.6;
  margin: 60px 0 0 0;
}

.top_text_main {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: calc(1.8vw + 2.0rem);
  color: #515457;
  line-height: 1.6;
  margin: 0px 0 70px 0;	
}

.top_flex_item1 .img1 img {
	width: 55%;
}

.top_flex_item1 .img2 img {
	width: 95%;
}

.top_text_patent {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: calc(0.6vw + 0.45rem);
  color: #FFFFFF;
  line-height: 1.6;
  background: #515457;
  padding: 4px 28px;
  margin: 0 auto;
}

.top_text_p1 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: calc(0.6vw + 0.45rem);
  color: #515457;
  margin: 14px 0 0px 0;
}


.top_flex_item2 {
	position: relative;
	width: calc(45% - 0px);
	margin: 0 auto;
	text-align: center;
	padding-top: 1%;
}

.top_flex_item2 img {
	width: 100%;
}

.top_contact_btn {
	position: absolute;
	width: 160px;
	height: 160px;
	right: 5%;
	bottom: -25%;
	background:url('core_strap/images/cs_contact_btn_01.svg');
	background-repeat: no-repeat; /* 画像をリピートさせない */
	transition: 0.3s ease-in-out;
}

.top_contact_btn:hover {
	background:url('core_strap/images/cs_contact_btn_01_on.svg');
	background-repeat: no-repeat; /* 画像をリピートさせない */
	/*opacity: 0.8;*/
}


@media screen and (max-width: 480px){
/* top */

.top_wrapper {
	padding: 40px 3%;
	margin: 0 auto;
}

.top_flex_wrapper {
	max-width: 100%;
	min-width: 100%;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 5%;
	margin: 0 auto;
}

.top_flex_item1 {
	width: 100%;
	margin: 0 auto 20px;
	text-align: center;
}

.top_text_sub {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: calc(1.0vw + 1.1rem);
  color: #515457;
  line-height: 1.6;
  margin: 30px 0 0 0;
}

.top_text_main {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: calc(2.2vw + 2.2rem);
  color: #515457;
  line-height: 1.6;
  margin: 5px 0 30px 0;	
}

.top_flex_item1 .img1 img {
	width: 50%;
}

.top_flex_item1 .img2 img {
	width: 90%;
}
	
.top_text_patent {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: calc(0.5vw + 0.65rem);
  color: #FFFFFF;
  line-height: 1.6;
  background: #515457;
  padding: 4px 28px;
  margin: 0 auto;
}

.top_text_p1 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: calc(0.6vw + 0.65rem);
  color: #515457;
  margin: 14px 0 0px 0;
}

.top_flex_item2 {
	position: relative;
	width: 100%;
	margin: 0 auto;
	text-align: center;
	padding-top: 1%;
}

.top_flex_item2 img {
	width: 90%;
}

.top_contact_btn {
	position: absolute;
	width: 140px;
	height: 140px;
	right: 5%;
	bottom: -25%;
	background:url('core_strap/images/cs_contact_btn_01.svg');
	background-repeat: no-repeat; /* 画像をリピートさせない */
	transition: 0.3s ease-in-out;
}

.top_contact_btn:hover {
	background:url('core_strap/images/cs_contact_btn_01_on.svg');
	background-repeat: no-repeat; /* 画像をリピートさせない */
	/*opacity: 0.8;*/
}	
	
	
	
}

/*
@media screen and (max-width: 1000px) {

.top_wrapper {
	position: relative;
	width: 800px;
	padding: 70px 20px;
	margin: 0 auto;
}

.top_flex_wrapper {
	width: 100%;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 40px;
}

.top_flex_item1 {
	width: 340px;
	margin: 0 auto;
	text-align: center;
}

.top_text_sub {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 350;
  font-size: 22px;
  color: #515457;
  line-height: 1.6;
  margin: 50px 0 0 0;
}

.top_text_main {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 48px;
  color: #515457;
  line-height: 1.6;
  margin: 10px 0 40px 0;	
}

.top_flex_item1 .img1 img {
	width: 70%;
}

.top_flex_item1 .img2 img {
	width: 100%;
}

.top_flex_item2 {
	width: 350px;
	margin: 0 auto;
	text-align: center;
	padding-top: 1%;
}

.top_flex_item2 img {
	width: 100%;
}

.top_contact_btn {
	position: absolute;
	width: 140px;
	height: 140px;
	right: 3%;
	bottom: -2%;
	background:url('core_strap/images/cs_contact_btn_01.svg');
	background-repeat: no-repeat; 
	transition: 0.3s ease-in-out;
}

.top_contact_btn:hover {
	background:url('core_strap/images/cs_contact_btn_01_on.svg');
}

}	
*/
/*
@media screen and (max-width: 480px) {

.top_wrapper {
	position: relative;
	width: 100%;
	padding: 40px 0;
	margin: 0 auto;
}

.top_flex_wrapper {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 30px;
}

.top_flex_item1 {
	width: 100%;
	margin: 0 auto;
	text-align: center;
}

.top_text_sub {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 24px;
  color: #515457;
  line-height: 1.6;
  margin: 30px 0 0 0;
}

.top_text_main {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 50px;
  color: #515457;
  line-height: 1.6;
  margin: 10px 0 40px 0;	
}

.top_flex_item1 .img1 img {
	width: 50%;
}

.top_flex_item1 .img2 img {
	width: 85%;
}

.top_flex_item2 {
	width: 500px;
	margin: 0 auto;
	text-align: center;
	padding-top: 1%;
}

.top_flex_item2 img {
	width: 85%;
}

.top_contact_btn {
	position: absolute;
	width: 140px;
	height: 140px;
	right: 10%;
	bottom: -6%;
	background:url('core_strap/images/cs_contact_btn_01.svg');
	background-repeat: no-repeat;
	transition: 0.3s ease-in-out;
}

.top_contact_btn:hover {
	background:url('core_strap/images/cs_contact_btn_01_on.svg');
	background-repeat: no-repeat;
}	
	
}
*/

/* footer */

#cs_footer {
	width: 100%;
	background-color: #EBEDDE;
	float: left;
}

.cs_footer_body {
	width: 980px;
	margin: 0 auto;
	padding: 36px 3% 36px 3%;
	display: table;
	color: #515457;
	line-height: 1.5;
}

.cs_f_inner_l {
	float: left;
	display: table-cell;
	width: 50%;
}

.cs_f_inner_l img {
	margin: 0 0 10px 0;
}

.cs_f_inner_rt {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 50%;
	margin: 0 0 38px 0;
}

.cs_f_inner_rt ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 30px;
}
/*
.cs_f_inner_rt li {
	display: inline;
	float: right;
	margin-left: 30px;
}

.cs_f_inner_rt li:last-child {
	margin-right: 0px;
}
*/
.cs_f_inner_r {
	float: left;
	display: table-cell;
	width: 50%;
	text-align: center;
	font-size: 14px;
}

.cs_f_inner_r ul {
	margin: 0 0 10px 0;
}

.cs_f_inner_r li {
	border-right: solid 1px #515457;
	display: inline;
	padding: 0 15px 0 10px;
}

.cs_f_inner_r li:last-child {
	border-right: none;
	padding: 0 0 0 10px;
}

#cs_footer a {
	color: #515457;
	text-decoration: none;
}

#cs_footer a:hover,
#cs_footer a:active,
#cs_footer a:visited {
	color: #515457;
	text-decoration: underline;
}


/* ============================== レスポンシブ（900pxより狭い場合） ============================== */

@media screen and (max-width: 900px) {
/* footer */
#cs_footer {
	box-sizing: border-box;
	width: 100%;
	background-color: #EBEDDE;
	float: none;
	text-align: center;
	padding: 0 2%;
}

.cs_footer_body {
	width: 700px;
	margin: 0 auto;
	padding: 36px 0 36px 0;
	display: inherit;
	color: #515457;
	line-height: 1.5;
}

.cs_f_inner_l {
	float: none;
	display: inherit;
	width: 100%;
}

.cs_f_inner_l img {
	margin: 0 0 10px 0;
}

.cs_f_inner_rt {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 100%;
	margin: 30px 0 20px 0;
}

.cs_f_inner_rt ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 30px;
}
/*
.cs_f_inner_rt li {
	display: inline;
	float: right;
	margin-left: 30px;
}

.cs_f_inner_rt li:last-child {
	margin-right: 0px;
}
*/
.cs_f_inner_r {
	float: none;
	display: inherit;
	width: 100%;
	text-align: center;
	font-size: 12px;
}

.cs_f_inner_r ul {
	margin: 0 0 10px 0;
}

.cs_f_inner_r li {
	border-right: solid 1px #515457;
	display: inline;
	padding: 0 15px 0 10px;
}

.cs_f_inner_r li:last-child {
	border-right: none;
	padding: 0 0 0 10px;
}
	
}




/* ============================== レスポンシブ（480pxより狭い場合） ============================== */

@media screen and (max-width: 480px) {
/* footer */
#cs_footer {
	box-sizing: border-box;
	width: 100%;
    height: 560px;
	background-color: #EBEDDE;
	float: none;
	text-align: center;
	padding: 0 2%;
}

.cs_footer_body {
	width: 100%;
	margin: 0 auto;
	padding: 36px 0 36px 0;
	display: inherit;
	color: #515457;
	line-height: 1.5;
}

.cs_f_inner_l {
	float: none;
	display: inherit;
	width: 100%;
}

.cs_f_inner_l img {
	margin: 0 0 10px 0;
}

.cs_f_inner_rt {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 100%;
	margin: 20px 0 20px 0;
}

.cs_f_inner_rt ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 30px;
}
/*
.cs_f_inner_rt li {
	display: inline;
	float: right;
	margin-left: 30px;
}

.cs_f_inner_rt li:last-child {
	margin-right: 0px;
}
*/
.cs_f_inner_r {
	float: none;
	display: inherit;
	width: 100%;
	text-align: center;
	font-size: 12px;
}

.cs_f_inner_r ul {
	margin: 0 0 10px 0;
}

.cs_f_inner_r li {
	border-right: solid 1px #515457;
	display: inline;
	padding: 0 15px 0 10px;
}

.cs_f_inner_r li:last-child {
	border-right: none;
	padding: 0 0 0 10px;
}
	
}



/* main */

#cs_main {
}

.cs_main_wrapper {
	padding: 0 5%;
}

.cs_wrapper_01 {
	width: 100%;
	/*min-width: 1100px;*/
	margin: 0 auto;
	padding: 100px 40px;
	border-radius: 20px;
}

.cs_contents_wrapper_01 {
	max-width: 980px;
	min-width: 700px;
	margin: 0 auto;
}

/* 再作成ここから */
.cs_contents_wrapper_03 {
	max-width: 700px;
	min-width: 560px;
	margin: 0 auto;
}

.cs_contents_flex_03 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 50px 0;
	gap: 50px;
}

.cs_contents_flex_03_item_illustration1 {
	width: 100%;
	max-width: 420px;
	min-width: 300px;
	background-color: #FFFFFF;
}

.cs_contents_flex_03_item_photo1 {
	border-radius: 15px;
}

.cs_contents_flex_03_item_photo2 {
	border-radius: 15px;	
}

.price_btn p{
	font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-size: 17px;
    color: #515457;
	line-height: 1.4;
	text-align: center;
	margin-bottom: 10px;
}

.price_btn_img {
	width: 520px;
	height: 92px;
	margin: 0 auto;
	background:url('core_strap/images/cs_price_btn_01.svg');
	background-repeat: no-repeat; /* 画像をリピートさせない */
	transition: 0.3s ease-in-out;
}

.price_btn_img:hover {
	background:url('core_strap/images/cs_price_btn_01_on.svg');
	background-repeat: no-repeat; /* 画像をリピートさせない */
	/*opacity: 0.8;*/
}

.cs_contents_purpose_flex {
	display: flex;
	flex-wrap: wrap;
    flex-direction: column;
	gap: 40px 0px;
}

.cs_contents_purpose_item_flex1 {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 20px 30px;
	background-color: #FFFFFF;
	border: 2px solid #EA925F;
	border-radius: 15px;
	padding: 30px 30px;
}

.cs_contents_purpose_item_flex2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 20px 30px;
	background-color: #FFFFFF;
	border: 2px solid #89C997;
	border-radius: 15px;
	padding: 30px 30px;
}

.cs_contents_purpose_item_01 {
	width: 120px;
}

.cs_contents_purpose_item_02 {
	flex: 1; /* 可変幅 */
}

.cs_contents_purpose_item_03 {
	flex: 1; /* 可変幅 */
}

/*
.cs_contents_purpose_item_01 {
	width: calc(16% - 0px);
	height: auto;
}

.cs_contents_purpose_item_02 {
	width: calc(77% - 0px);
	height: auto;
}

.cs_contents_purpose_item_03 {
	width: calc(77% - 0px);
	height: auto;
}
*/

.cs_comparison_pc {
	width: 100%;
	margin-bottom: 50px;
}

.cs_comparison_tb-sp {
	display: none;
}

/*-------------- 768px以下 -------------------*/
@media screen and (max-width: 768px) {

.cs_comparison_pc {
	display: none;
}

.cs_comparison_tb-sp {
	display: block;
	width: 100%;
	margin-bottom: 40px;
}

}
/*-------------- 768px以下ここまで -------------------*/


.cs_contents_3step_flex_pc {
	display: flex;
	flex-wrap: wrap;
    justify-content: center;
	gap: 20px 20px;
}

.cs_contents_3step_flex_pc img {
	width: 30%;
}

.cs_contents_3step_flex_tb-sp {
	display: none;
}

/*-------------- 768px以下 -------------------*/
@media screen and (max-width: 768px) {
	
.cs_contents_3step_flex_pc {
	display: none;
}
	
.cs_contents_3step_flex_tb-sp {
	width: 50%;
	display: flex;
	flex-wrap: wrap;
    flex-direction: column;
	gap: 20px 20px;
	margin: 0 auto;
}

}
/*-------------- 768px以下ここまで -------------------*/

.cs_price_frame {
    text-align: center;
	background-color: #FFFFFF;
	border: 2px solid #515457;
	padding: 30px 30px;
}

.cs_price_frame_price {
	font-family: "Noto Sans JP", sans-serif;
    font-weight: 600;
    font-size: 20px;
    color: #00ada9;
	text-align: center;
    line-height: 1.6;
	margin-bottom: 15px;
}

.cs_price_frame_text {
	font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-size: 20px;
    color: #515457;
	text-align: center;
	line-height: 1.5;
}

.cs_contact_flex {
	display: flex;
	flex-wrap: wrap;
    justify-content: center;
	gap: 40px 40px;
	margin: 30px 0 70px;
}

.cs_contact_flex_item01 {
	width: 320px;
	text-align: center;
	background-color: #FFFFFF;
	border: 2px solid #515457;
	padding: 30px;
}

.cs_contact_flex_item01_title_flex {
	height: 56px;
	display: flex;
	flex-wrap: wrap;
    justify-content: center;
	align-items: center;
	gap: 15px;
	margin-bottom: 35px;
}

.title_flex_itme01 img{
	height: 30px;
}

.title_flex_itme02 {
	font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 24px;
    color: #515457;
	text-align: left;
	line-height: 1.2;
}

.cs_contact_flex_item01_contact_bnt01_comment {
	font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-size: 18px;
    color: #515457;
	margin-bottom: 10px;
}

.cs_contact_flex_item01_contact_bnt01 {
	width: 100%;
	display: flex;
    justify-content: center;
    align-items: center;
	text-align: center;
}

.cs_contact_flex_item01_contact_bnt01 a{
	font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-size: 24px;
    background: #F19CA6;
    border-radius: 10px;
    position: relative;
    margin: 0 auto;
    width: 100%;
	letter-spacing: 0.1em;
    padding: 15px;
    color: #FFFFFF;
    transition: 0.3s ease-in-out;
}

.cs_contact_flex_item01_contact_bnt01 a:hover {
	background: #E8383D;
	/*opacity: 0.8;*/
}

.cs_attachment_flex {
	display: flex;
    justify-content: center;
	gap: 5%;
	margin: 0 0 50px 0;
}

.cs_attachment_flex_item {
	width: 30%;
}

.cs_attachment_flex_item img {
	width: 100%;
	border-radius: 15px;
}


/* 再作成ここまで */


.cs_contents_wrapper_01 .text_18_center a:link,
.cs_contents_wrapper_01 .text_18_center a:visited,
.cs_contents_wrapper_01 .text_18_center a:active {
    text-decoration: none;
    color: #515457;
}

.cs_contents_flex_01 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	flex-basis:auto;
	gap: 60px 60px;
}

.cs_contents_flex_item_01 {
	width: calc(17% - 0px);
}

.cs_contents_flex_item_02 {
	width: 43%;
	background-color: #FFFFFF;
	padding: 0px 0px;
}



.cs_contents_flex_01_2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 40px 20px;
}

.cs_contents_flex_01_2_item_01 {
	width: calc(17% - 0px);
}

.cs_contents_flex_01_2_item_02 {
	width: calc(80% - 0px);
	background-color: #FFFFFF;
	border: 2px solid #EA925F;
	border-radius: 15px;
	padding: 30px 30px;
}

.cs_contents_flex_01_2_item_03 {
	width: calc(80% - 0px);
	background-color: #FFFFFF;
	border: 2px solid #89C997;
	border-radius: 15px;
	padding: 30px 30px;
}

.cs_contents_flex_item_03 {
	width: 460px;
	background-color: #FFFFFF;
	border: 3px solid #82C1EA;
	border-radius: 15px;
	padding: 40px 20px;
}




.cs_wrapper_02 {
	position: relative;
	background-color: #ECF6FC;
	width: 100%;
	min-width: 640px;
	margin: 0 auto;
	padding: 80px 40px;
	border-radius: 20px;
}

.cs_contents_wrapper_02 {
	max-width: 980px;
	min-width: 560px;
	margin: 0 auto;
}

.cs_contents_flex_02 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
}

.cs_contents_flex_02_item_01 {
	width: calc(90%/3);
}

.cs_arrow_01 {
	position: absolute;
	width: 30vw;
	max-width: 300px;
	min-width: 260px;
	left: 0;
	right: 0;
	bottom: -100px;
	margin: auto;
}

.cs_contents_flex_02_2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 50px 50px;
	margin: 0 0 50px 0;
}

.cs_contents_flex_02_2_item_01 {
	width: calc(45% - 0px);
	max-height: 380px;
	min-height: 200px;
	
	background-image: url("core_strap/images/cs_photo_02.png");
	background-repeat: no-repeat; /* 画像をリピートさせない */
	background-size: 80%;
	background-position:  50% 50%;

	background-color: #FFF;
	border-radius: 15px;
}

.cs_contents_flex_02_2_item_02 {
	width: calc(45% - 0px);
	height: 100%;
	background-color: #FFFFFF;
	border: 2px solid #82C1EA;
	border-radius: 15px;
	padding: 25px 20px;
}

.cs_contents_flex_02_2_item_03 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px 20px;
	width: 100%;
	background-color: #FFFFFF;
	border: 2px solid #82C1EA;
	border-radius: 15px;
	padding: 40px 20px;
}

.cs_contents_flex_02_2_item_04 {
	width: 100%;
	background-color: #FFFFFF;
	border: 2px solid #82C1EA;
	border-radius: 15px;
	padding: 30px;
}


.figure_item {
	width: calc(23% - 0px); 
	min-width: 200px;
}

.figure_item img{
	width: 100%; 
}









/* ============================== レスポンシブ（480pxより狭い場合） ============================== */

@media screen and (max-width: 480px) {
/* main */

#cs_main {
}

.cs_main_wrapper {
	padding: 0 3%;
}

.cs_wrapper_01 {
	width: 100%;
	/*min-width: 1100px;*/
	margin: 0 auto;
	padding: 70px 20px;
	border-radius: 20px;
}

.cs_contents_wrapper_01 {
	display: block;
	max-width: 100%;
	min-width: 100%;
	margin: 0 auto;
}
	
/* 再作成ここから */
.cs_contents_wrapper_03 {
	display: block;
	max-width: 100%;
	min-width: 100%;
	margin: 0 auto;
}

.cs_contents_flex_03 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 50px 0;
	gap: 50px;
}

.cs_contents_flex_03_item_illustration1 {
	width: 90%;
	max-width: 420px;
	min-width: 300px;
	background-color: #FFFFFF;
}

.cs_contents_flex_03_item_photo1 {
	width: 75%;
	border-radius: 15px;
}

.cs_contents_flex_03_item_photo2 {
	width: 100%;
	border-radius: 15px;	
}

.price_btn p{
	font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-size: 15px;
    color: #515457;
	line-height: 1.4;
	text-align: center;
	margin-bottom: 10px;
}

.price_btn_img {
	width: 100%;
	margin: 0 auto;
	background:url('core_strap/images/cs_price_btn_01.svg');
	background-repeat: no-repeat; /* 画像をリピートさせない */
	transition: 0.3s ease-in-out;
}

.price_btn_img:hover {
	background:url('core_strap/images/cs_price_btn_01_on.svg');
	background-repeat: no-repeat; /* 画像をリピートさせない */
	/*opacity: 0.8;*/
}

.cs_contents_purpose_flex {
	display: flex;
	flex-wrap: wrap;
    flex-direction: column;
	gap: 40px 0px;
}

.cs_contents_purpose_item_flex1 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px 30px;
	background-color: #FFFFFF;
	border: 2px solid #EA925F;
	border-radius: 15px;
	padding: 30px 30px;
}

.cs_contents_purpose_item_flex2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px 30px;
	background-color: #FFFFFF;
	border: 2px solid #89C997;
	border-radius: 15px;
	padding: 30px 30px;
}

.cs_contents_purpose_item_01 {
	width: 40%;
}

.cs_contents_purpose_item_02 {
	width: 100%;
	flex: none; /* 可変幅 spは解除 */
}

.cs_contents_purpose_item_03 {
	width: 100%;
	flex: none; /* 可変幅 spは解除 */
}


.cs_comparison_pc {
	display: none;
	width: 100%;
	margin-bottom: 50px;
}

	
.cs_contents_3step_flex_pc {
	display: none;
}
	
.cs_contents_3step_flex_tb-sp {
	width: 70%;
	display: flex;
	flex-wrap: wrap;
    flex-direction: column;
	gap: 20px 20px;
	margin: 0 auto;
}


.cs_price_frame {
    text-align: center;
	background-color: #FFFFFF;
	border: 2px solid #515457;
	padding: 30px 30px;
}

.cs_price_frame_price {
	font-family: "Noto Sans JP", sans-serif;
    font-weight: 600;
    font-size: 19px;
    color: #00ada9;
	text-align: center;
    line-height: 1.4;
	margin-bottom: 15px;
}

.cs_price_frame_text {
	font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-size: 18px;
    color: #515457;
	text-align: center;
	line-height: 1.5;
}

.cs_contact_flex {
	display: flex;
	flex-wrap: wrap;
    justify-content: center;
	gap: 30px 30px;
	margin: 30px 0 60px;
}

.cs_contact_flex_item01 {
	width: 90%;
	text-align: center;
	background-color: #FFFFFF;
	border: 2px solid #515457;
	padding: 30px;
}

.cs_contact_flex_item01_title_flex {
	height: 56px;
	display: flex;
	flex-wrap: wrap;
    justify-content: center;
	align-items: center;
	gap: 15px;
	margin-bottom: 35px;
}

.title_flex_itme01 img{
	height: 30px;
}
	
.title_flex_itme02 {
	font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 22px;
    color: #515457;
	text-align: left;
	line-height: 1.2;
}

.cs_contact_flex_item01_contact_bnt01_comment {
	font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-size: 17px;
    color: #515457;
	margin-bottom: 10px;
}

.cs_contact_flex_item01_contact_bnt01 {
	width: 100%;
	display: flex;
    justify-content: center;
    align-items: center;
	text-align: center;
}

.cs_contact_flex_item01_contact_bnt01 a{
	font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-size: 22px;
    background: #F19CA6;
    border-radius: 10px;
    position: relative;
    margin: 0 auto;
    width: 100%;
	letter-spacing: 0.1em;
    padding: 15px;
    color: #FFFFFF;
    transition: 0.3s ease-in-out;
}

.cs_contact_flex_item01_contact_bnt01 a:hover {
	background: #E8383D;
	/*opacity: 0.8;*/
}	

.cs_attachment_flex {
	display: flex;
	flex-direction: column;
	gap: 40px;
	margin: 0 0 50px;
}

.cs_attachment_flex_item {
	width: 70%;
	margin: 0 auto;
}

.cs_attachment_flex_item img {
	width: 100%;
	border-radius: 15px;
}
	
	
	

/* 再作成ここまで */	

.cs_contents_wrapper_01 .text_18_center a:link,
.cs_contents_wrapper_01 .text_18_center a:visited,
.cs_contents_wrapper_01 .text_18_center a:active {
    text-decoration: none;
    color: #515457;
}

.cs_contents_flex_01 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	flex-basis:auto;
	gap: 60px 60px;
}

.cs_contents_flex_item_01  {
	width: 100%;
}

.cs_contents_flex_item_02 {
	width: 100%;
	background-color: #FFFFFF;
	padding: 0px 0px;
}

	
.cs_contents_flex_01_2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px 30px;
}

.cs_contents_flex_01_2_item_01 {
	width: 140px;
}

.cs_contents_flex_01_2_item_02 {
	width: 90%;
	background-color: #FFFFFF;
	border: 2px solid #EA925F;
	border-radius: 15px;
	padding: 30px 25px;
	box-sizing: border-box;
	margin-bottom: 20px; 
}

.cs_contents_flex_01_2_item_03 {
	width: 90%;
	background-color: #FFFFFF;
	border: 2px solid #89C997;
	border-radius: 15px;
	padding: 30px 30px;
	margin-bottom: 20px; 
}




.cs_contents_flex_item_03 {
	width: 100%;
	background-color: #FFFFFF;
	border: 3px solid #82C1EA;
	border-radius: 15px;
	padding: 40px 20px;
}




.cs_wrapper_02 {
	position: relative;
	background-color: #ECF6FC;
	width: 100%;
	min-width: 100%;
	/*min-width: 1100px;*/
	margin: 0 auto;
	padding: 60px 20px;
	border-radius: 20px;
}

.cs_contents_wrapper_02 {
	maxwidth: 100%;
	min-width: 100%;
	margin: 0 auto;
}

.cs_contents_flex_02 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 40px;
}

.cs_contents_flex_02_item_01 {
	width: 70%;
}

.cs_arrow_01 {
	position: absolute;
	width: 30vw;
	max-width: 300px;
	min-width: 240px;
	left: 0;
	right: 0;
	bottom: -90px;
	margin: auto;
}

.cs_contents_flex_02_2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 50px 60px;
	margin: 0 0 50px 0;
}

.cs_contents_flex_02_2_item_01 {
	width: 90%;
	max-height: 240px;
	min-height: 240px;
	
	background-image: url("core_strap/images/cs_photo_02.png");
	background-repeat: no-repeat; /* 画像をリピートさせない */
	background-size: 90%;
	background-position:  50% 50%;

	background-color: #FFFFFF;
	border-radius: 15px;
}

.cs_contents_flex_02_2_item_02 {
	width: 90%;
	height: auto;
	background-color: #FFFFFF;
	border: 2px solid #82C1EA;
	border-radius: 15px;
	padding: 25px 20px;
}

.cs_contents_flex_02_2_item_03 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px 20px;
	width: 90%;
	background-color: #FFFFFF;
	border: 2px solid #82C1EA;
	border-radius: 15px;
	padding: 40px 20px;
	text-align: center;
}

.cs_contents_flex_02_2_item_04 {
	width: 90%;
	background-color: #FFFFFF;
	border: 2px solid #82C1EA;
	border-radius: 15px;
	padding: 30px;
}


.figure_item {
	width: 100%; 
	min-width: 200px;
}

.figure_item img{
	width: 90%; 
}
	
}


/* ============================== レスポンシブ（1100pxより狭い場合） ============================== */
/*
@media screen and (max-width: 1100px) {

#cs_main {
}

.cs_wrapper_01 {
	background-color: #FFFFFF;
	width: 100%;
	min-width: 980px;
	margin: 0 auto;
	padding: 80px 0;
	border-radius: 20px;
}

.cs_contents_wrapper_01 {
	max-width: 980px;
	margin: 0 auto;
}

.cs_contents_wrapper_01 .text_18_center a:link,
.cs_contents_wrapper_01 .text_18_center a:visited,
.cs_contents_wrapper_01 .text_18_center a:active {
    text-decoration: none;
    color: #515457;
}

.cs_contents_flex_01 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 60px 60px;
}

.cs_contents_flex_item_01  {
	width: 460px;
}

.cs_contents_flex_item_02 {
	width: 460px;
	background-color: #FFFFFF;
	padding: 0px 20px;
}

.cs_contents_flex_01_2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 40px 30px;
}

.cs_contents_flex_01_2_item_01 {
	width: 140px;
}

.cs_contents_flex_01_2_item_02 {
	width: 810px;
	background-color: #FFFFFF;
	border: 2px solid #EA925F;
	border-radius: 15px;
	padding: 30px 30px;
}

.cs_contents_flex_01_2_item_03 {
	width: 810px;
	background-color: #FFFFFF;
	border: 2px solid #89C997;
	border-radius: 15px;
	padding: 30px 30px;
}




.cs_contents_flex_item_03 {
	width: 460px;
	background-color: #FFFFFF;
	border: 3px solid #82C1EA;
	border-radius: 15px;
	padding: 40px 20px;
}




.cs_wrapper_02 {
	position: relative;
	background-color: #ECF6FC;
	width: 100%;
	min-width: 980px;
	margin: 0 auto;
	padding: 80px 0;
	border-radius: 20px;
}

.cs_contents_wrapper_02 {
	max-width: 980px;
	margin: 0 auto;
}

.cs_contents_flex_02 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 40px;
}

.cs_contents_flex_02_item_01 {
	width: 300px;
}

.cs_arrow_01 {
	position: absolute;
	width: 300px;
	left: 0;
	right: 0;
	bottom: -100px;
	margin: auto;
}

.cs_contents_flex_02_2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 50px 60px;
	margin: 0 0 50px 0;
}

.cs_contents_flex_02_2_item_01 {
	width: 460px;
	height: 380px;
	
	background-image: url("core_strap/images/cs_photo_02.png");
	background-repeat: no-repeat;
	background-size: 80%;
	background-position:  50% 50%;
	
	background-color: #EBEDDE;
	border-radius: 15px;
}

.cs_contents_flex_02_2_item_02 {
	width: 460px;
	height: 380px;
	background-color: #FFFFFF;
	border: 2px solid #82C1EA;
	border-radius: 15px;
	padding: 25px 20px;
}

.cs_contents_flex_02_2_item_03 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0px 20px;
	width: 100%;
	background-color: #FFFFFF;
	border: 2px solid #82C1EA;
	border-radius: 15px;
	padding: 40px 20px;
}

.cs_contents_flex_02_2_item_04 {
	width: 100%;
	background-color: #FFFFFF;
	border: 2px solid #82C1EA;
	border-radius: 15px;
	padding: 30px;
}


.figure_item img {
	width: 215px; 
}

}
*/


/* ============================== レスポンシブ（480pxより狭い場合） ============================== */
/*
@media screen and (max-width: 480px) {

#cs_main {
}
	
.cs_main_wrapper {
	padding: 0 0;
}

.cs_wrapper_01 {
	background-color: #FFFFFF;
	width: 100%;
	min-width: 375px;
	margin: 0 auto;
	padding: 80px 3%;
	border-radius: 20px;
}

.cs_contents_wrapper_01 {
	max-width: 100%;
	margin: 0 auto;
}

.cs_contents_flex_01 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 40px 40px;
}

.cs_contents_flex_item_01  {
	width: 100%;
}

.cs_contents_flex_item_02 {
	width: 100%;
	background-color: #FFFFFF;
	padding: 0px 20px;
}

	
.cs_contents_flex_01_2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px 30px;
}

.cs_contents_flex_01_2_item_01 {
	width: 140px;
}

.cs_contents_flex_01_2_item_02 {
	width: 100%;
	background-color: #FFFFFF;
	border: 2px solid #EA925F;
	border-radius: 15px;
	padding: 30px 30px;
	margin: 0 0 20px 0;
}

.cs_contents_flex_01_2_item_03 {
	width: 100%;
	background-color: #FFFFFF;
	border: 2px solid #89C997;
	border-radius: 15px;
	padding: 30px 30px;
	margin: 0 0 20px 0;
	}




.cs_contents_flex_item_03 {
	width: 460px;
	background-color: #FFFFFF;
	border: 3px solid #82C1EA;
	border-radius: 15px;
	padding: 40px 20px;
}




.cs_wrapper_02 {
	position: relative;
	background-color: #ECF6FC;
	width: 100%;
	min-width: 350px;
	margin: 0 auto;
	padding: 80px 3%;
	border-radius: 20px;
}

.cs_contents_wrapper_02 {
	max-width: 980px;
	margin: 0 auto;
}

.cs_contents_flex_02 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 50px;
}

.cs_contents_flex_02_item_01 {
	width: 300px;
}

.cs_arrow_01 {
	position: absolute;
	width: 300px;
	left: 0;
	right: 0;
	bottom: -100px;
	margin: auto;
}

.cs_contents_flex_02_2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 40px 60px;
	margin: 0 0 50px 0;
}

.cs_contents_flex_02_2_item_01 {
	width: 460px;
	height: 280px;
	
	background-image: url("core_strap/images/cs_photo_02.png");
	background-repeat: no-repeat;
	background-size: 80%;
	background-position:  50% 50%;

	background-color: #EBEDDE;
	border-radius: 15px;
}

.cs_contents_flex_02_2_item_02 {
	width: 460px;
	height: 100%;
	background-color: #FFFFFF;
	border: 2px solid #82C1EA;
	border-radius: 15px;
	padding: 25px 20px;
}

.cs_contents_flex_02_2_item_03 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 30px 20px;
	width: 100%;
	background-color: #FFFFFF;
	border: 2px solid #82C1EA;
	border-radius: 15px;
	padding: 40px 20px;
}

.cs_contents_flex_02_2_item_04 {
	width: 100%;
	background-color: #FFFFFF;
	border: 2px solid #82C1EA;
	border-radius: 15px;
	padding: 30px;
}


.figure_item img {
	width: 280px; 
}

}
*/



/*=============== 固定お問い合わせボタン ===================*/
#fix_contact_btn {
	display: block;
}


.fix_contact_btn {
	width: 50px;
	height: 220px;
	background: #F19CA6;
	position: fixed;
	border-radius: 10px 0 0 10px;
	float: right;
    top: 35%;
    right: 0;
	z-index: 9;
	transition: 0.3s ease-in-out;
}

.fix_contact_btn:hover {
	background: #E8383D;
	/*opacity: 0.8;*/
}


#fix_contact_btn a {
    font-family: "Noto Sans JP", sans-serif;
	color: #fff;
    text-decoration: none;
    font-size: 16px;
    line-height: 1;
	font-weight: 400;
	text-align: center;
	vertical-align: top;
    writing-mode: vertical-rl;
	letter-spacing:2px;
}

#fix_contact_btn a img {
	width: 18px;
    padding: 0 0 8px;
}

/*=============== 固定お問い合わせボタン  スマホ===================*/
@media screen and (max-width: 480px) {

/* ========== スマホ用フローティングメニュー ========== */
    #fix_contact_btn {
		display: none;
    }
	#fix_contact_btn {
		display: none;
    }
    
 }

/*
	=============================== スマホ用フローティングメニュー（PCでは非表示） ===============================
	*/
.cs_fix-menu {
    display: none;
	height: 0;
	overflow: hidden;
}


/* ============================== レスポンシブ（480pxより狭い場合） ============================== */
@media screen and (max-width: 480px) {
	
    /* ========== スマホ用フローティングメニュー ========== */
    .cs_fix-menu {
        position: fixed;
        bottom: 0;
        height: auto;
        z-index: 997;
        width: 100%;
        background: rgba(81,84,87,0.9);
        text-align: center;
        color: #FFFFFF;

    }
    .cs_fix-menu-inner {
        padding: 2% 2%;
        width: 98%
    }

    .cs_fix-menu p {
        padding: 0;
    }

    .cs_fix-menu p.cs_fix-menu-title {
        font-size: 16px;
        font-weight: bold;
        padding-bottom: 4px;
    }

    .cs_fix-menu p.cs_fix-menu-time {
        font-size: 12px;
    }

    .cs_fix-menu .cs_fix-menu-button {
        width: auto;
        padding-top: 8px;
    }

    .cs_fix-menu .cs_fix-menu-button .cs_fix-menu-button_t { /*電話ボタン*/
        float: left;
        width: 48.5%;
		height: 42px;
        padding: 6px 0;
        background-color: #f19ca6;
        border-radius: 5px;
    }

    .cs_fix-menu .cs_fix-menu-button .cs_fix-menu-button_h { /*ご購入・お問い合わせ*/
        float: left;
        width: 48.5%;
		height: 42px;
        padding: 6px 0;
        background-color: #f19ca6;
        margin: 0 0 0 3%;
        border-radius: 5px;
    }

    .cs_fix-menu .cs_fix-menu-button .cs_fix-menu-button_e { /*EPARKボタン*/
        float: left;
        width: 35%;
        padding: 6px 0;
        background-color: #8FC31F;
        border-radius: 5px;
    }
	
.cs_flex-btn-wrapper {
    display: flex;
	justify-content: center;
	align-items: center;
	gap: 6px;
}

.cs_fix-menu-button-txt {
        font-size: 14px;
	line-height: 1.2;
        color: #FFFFFF;
}

.cs_fix-menu-button-img {
margin: 0 5px 0 0;
}		
	


    /* 最後に隠す場合は必用（common.jsの設定とセットで） */
    /* .is-fixed {
      display: none!important;
    } */
    /* ========== スマホ用フローティングメニュー ========== */
}

	