@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap');


/* 
 reset Style [
----------------------------------------------------------- */
body {
    margin: 0px;
}

#visitorsBlock main {
  display: block;
  }
  
#visitorsBlock a {
    overflow: hidden;
    cursor: pointer;
    text-decoration: none;
}
  
#visitorsBlock div,
#visitorsBlock dl,
#visitorsBlock dt,
#visitorsBlock dd,
#visitorsBlock ul,
#visitorsBlock li,
#visitorsBlock h1,
#visitorsBlock h2,
#visitorsBlock h3,
#visitorsBlock p,
#visitorsBlock figure {
margin: 0;
padding: 0;
border: none;
list-style: none;
}

#visitorsBlock h1,
#visitorsBlock h2,
#visitorsBlock h3 {
    transform: rotate(.03deg);
}

#visitorsBlock p {
	margin: 0;
	color: #000;
	line-height: 1.7;
}

#visitorsBlock ul {
	list-style:none;
}

#visitorsBlock ul li {
	list-style: none;
	text-align: left;
}

#visitorsBlock img { 
	border:0;
	vertical-align: top;
}

#visitorsBlock a img,
#visitorsBlock a {
	-webkit-transition: 0.3s ease-in-out;
	   -moz-transition: 0.3s ease-in-out;
		 -o-transition: 0.3s ease-in-out;
		 	transition: 0.3s ease-in-out;
}

#visitorsBlock a img {
-webkit-backface-visibility: hidden; /* 追加 */
backface-visibility: hidden; /* 追加 */
}


#visitorsBlock a:hover img {
	opacity: 0.6;
	filter: alpha(opacity=60);
}


/*==========================================
 visitorsBlock
===========================================*/
#visitorsBlock img {
	width: 100%;
	max-width: 100%;
	height: auto;
	width /***/: auto;
 	text-align: center;
	border-radius: 50%;
}

#visitorsBlock #worries img {
	border: 5px #d33f59 solid;
    box-sizing: border-box;
}

.spbr {
	display: none;
}

#visitorsBlock {
    min-width: 100%;
    text-align: center;
    background-color: #FFFFFF;
    width: 100%;
    font-family:'Noto Sans JP', "游ゴシック体", "Yu Gothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
}

#visitorsBlock #worries {
	background-color: #F9E6EC;
	padding-top: 73px;
	padding-bottom: 89px;
}

#visitorsBlock #worries .inner {
max-width: 918px;
width: calc(100% - 2em);
margin-left: auto;
margin-right: auto;
}

.visitorsTit {
	font-size: 2.250em;
	font-weight: bold;
}

.visitorsTit span {
  position: relative;
  background: linear-gradient(transparent 60%, yellow 60%);
}

#visitorsBlock #worries .inner ul {
	display: flex;
	justify-content: space-between;
	margin-top: 70px;
}

#visitorsBlock #worries .inner ul li {
	width: 25%;
	text-align: center;
}

#visitorsBlock #worries .inner ul li p {
	margin-top: 20px;
	text-align: left;
	line-height: 1.7;
}

#visitorsBlock #contract {
	padding-top: 98px;
	padding-bottom: 88px;
	max-width: 1160px;
width: calc(100% - 2em);
margin-left: auto;
margin-right: auto;
}

#visitorsBlock #contractBlock {
	display: flex;
	justify-content: space-between;
	margin-top: 50px;
}

#visitorsBlock #contractBlock figure {
max-width: 556px;
min-width: 556px;
width: 100%;
	margin-right: 36px;
}

#visitorsBlock #contractBlock figure img {
	border-radius: 25px;
}

#visitorsBlock #contractBlock_comm {
	text-align: left;
}

#visitorsBlock #contractBlock_comm p {
	line-height: 1.8;
	padding-bottom: 40px;
}

#visitorsBlock #contract ul {
	display: flex;
	flex-wrap: wrap;
	margin-top: 50px;
gap: 20px 40px; /* 縦20px・横40pxの余白 */
}

#visitorsBlock #contract ul li {
  flex: 0 1 calc((100% - 80px) / 3);
  font-size: 1.25em;
  font-weight: bold;
  text-align: center;

}

#visitorsBlock #contract ul li a {
	background-color: #E7124D;
	color: #FFFFFF;
	border: 5px solid #F8BECE;
	border-radius: 50px;
	padding-top: 20px;
	padding-bottom: 20px;
	display: block;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	background-image: url(../images/yajirushi.png);
	background-repeat: no-repeat;
	background-position: right 34px center;
	text-align: center;
	transition: background-position 0.3s ease;
}


#visitorsBlock #contract ul li a:hover {
	background-color: #871D83;
	border-color: #D3BEF8;
}

#visitorsBlock #visitorsService {
	background-color: #F9E6EC;
	padding-top: 90px;
	padding-bottom: 90px;
}

#visitorsBlock #visitorsService ul {
	margin-top: 75px;
	max-width: 1160px;
width: calc(100% - 2em);
margin-left: auto;
margin-right: auto;
display: flex;
flex-wrap:wrap;
justify-content: space-between;
}

#visitorsBlock #visitorsService ul li {
	width: 30%;
	margin-bottom: 75px;
}

#visitorsBlock #visitorsService ul li figure {
	position: relative;
}

#visitorsBlock #visitorsService ul li figure img {
	border-radius: 25px;
}

#visitorsBlock #visitorsService ul li a:hover figure figcaption {
	background-color: #6814A7;
}

#visitorsBlock #visitorsService ul li figure figcaption {
	font-size: 1.250em;
	font-weight: bold;
	background-color: #E7124D;
	color: #FFFFFF;
	border-radius: 50px;
	padding-top: 8px;
	padding-right: 5px;
	padding-bottom: 8px;
	padding-left: 5px;
	text-align: center;
	position: absolute;
	bottom: -20px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	width: 80%;
}

#visitorsBlock #visitorsFeatures {
	padding-top: 80px;
	padding-bottom: 80px;
}

#visitorsBlock #visitorsFeatures .features_block {
	max-width: 1160px;
	width: calc(100% - 2em);
	margin-left: auto;
	margin-right: auto;
	margin-top: 75px;
	display: flex;
	justify-content: space-between;
	text-align: left;
}

#visitorsBlock #visitorsFeatures .features_block:nth-child(odd) {
flex-direction: row-reverse;
}

#visitorsBlock #visitorsFeatures .features_block figure {
max-width: 538px;
width: 100%;
}

#visitorsBlock #visitorsFeatures .features_block figure img {
	border-radius: 25px;
}

#visitorsBlock #visitorsFeatures .features_block section {
	margin-left: 30px;
	margin-right: 30px;
}

#visitorsBlock #visitorsFeatures .features_block section figure img {
	border-radius: 0px;!important;
}

#visitorsBlock #visitorsFeatures .features_block section aside {
	font-size: 1.250em;
	font-weight: bold;
	color: #FFFFFF;
	background-color: #E7124D;
	border-radius: 5px;
	display: inline-block;
	padding-top: 10px;
	padding-bottom: 10px;
	padding-left: 30px;
	padding-right: 30px;
	margin-bottom: 30px;
	margin-top: 20px;
}

#visitorsBlock #visitorsFeatures .features_block section h3 {
	font-size: 1.500em;
	font-weight: bold;
	padding-bottom: 20px;
}

#visitorsBlock #visitorsFeatures .features_block section p {
	line-height: 1.7;
}

#visitorsBlock #visitorsPrice {
	background-color: #F9E6EC;
	padding-top: 85px;
	padding-bottom: 50px;
    padding-left: 6px;
    padding-right: 6px;
}

#visitorsBlock #visitorsPrice section p {
	max-width: 930px;
	width: calc(100% - 2em);
	margin-left: auto;
	margin-right: auto;
	margin-top: 30px;
	margin-bottom: 55px;
    text-align: center;
}

#visitorsBlock #visitorsPrice ul {
display: flex;
}

#visitorsBlock #visitorsPrice ul li {
	max-width: 700px;
	width: calc(100% - 2em);
	margin-left: auto;
	margin-right: auto;
	background-color: #FFFFFF;
	border-radius: 25px;
	-webkit-box-shadow: 0px 3px 6px hsla(0,0%,0%,0.16);
	box-shadow: 0px 3px 6px hsla(0,0%,0%,0.16);
	padding-bottom: 35px;
}

#visitorsBlock #visitorsPrice ul li h3 {
	background-color: #E7124D;
	color: #FFFFFF;
	border-top-left-radius: 25px;
	border-top-right-radius: 25px;
	text-align: center;
	font-size: 1.375em;
	font-weight: bold;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	padding-left: 10px;
}

#visitorsBlock #visitorsPrice ul li .visitorsPrice_block {
	padding-top: 24px;
	padding-bottom: 24px;
	padding-left: 35px;
	padding-right: 35px;
	display: flex;
}

#visitorsBlock #visitorsPrice ul li .visitorsPrice_block figure img {
	max-width: 100%;
	width: 217px;
	min-width: 217px;
	height: 208px;
	object-fit: cover;
	border-radius: 20px;
}

#visitorsBlock #visitorsPrice ul li .visitorsPrice_block .inner {
	margin-left: 25px;
}

#visitorsBlock #visitorsPrice ul li .visitorsPrice_block .inner aside {
	font-size: 1.125em;
	font-weight: bold;
	padding-bottom: 15px;
}

.visitorsBtn {
	text-align: center;
	margin-top: 45px;
}

.visitorsBtn a {
	background-color: #F6D3DD;
	border-radius: 7px;
	color: #000000;
	padding-top: 15px;
	padding-bottom: 15px;
	padding-left: 48px;
	padding-right: 48px;
	display: inline-block;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.visitorsBtn a:hover {
	background-color: #E7124D;
	color: #FFF;
}

#visitorsBlock #visitorsFlow {
	padding-top: 80px;
	padding-bottom: 80px;
}

#visitorsBlock #visitorsFlow h2 {
	margin-bottom: 10px;
}

#visitorsBlock #visitorsFlow .visitorsFlow_block {
	margin-top: 40px;
	max-width: 1160px;
	width: calc(100% - 2em);
	margin-left: auto;
	margin-right: auto;
	background-color: #FDF4F7;
	border-radius: 25px;
	border: 5px solid #E7124D;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding-top: 45px;
	padding-right: 45px;
	padding-bottom: 45px;
	padding-left: 45px;
	display: flex;
	text-align: left;
	margin-bottom: 40px;
}

#visitorsBlock #visitorsFlow .visitorsFlow_block figure {
	max-width: 469px;
	width: 100%;
	margin-right: 35px;
}

#visitorsBlock #visitorsFlow .visitorsFlow_block figure img {
	width: 100%;
	height: 343px;
	object-fit: cover;
	border-radius: 25px;
}

#visitorsBlock #visitorsFlow .visitorsFlow_block section aside {
	font-size: 1.250em;
	font-weight: bold;
	color: #FFFFFF;
	background-color: #E7124D;
	border-radius: 5px;
	display: inline-block;
	padding-top: 5px;
	padding-bottom: 5px;
	padding-left: 20px;
	padding-right: 20px;
	margin-bottom: 25px;
}

#visitorsBlock #visitorsFlow .visitorsFlow_block section h3 {
	font-size: 1.500em;
	font-weight: bold;
	padding-bottom: 20px;
}

#visitorsBlock #visitorsVoice {
	background-color: #F9E6EC;
	padding-top: 80px;
	padding-bottom: 80px;
    padding-left: 6px;
    padding-right: 6px;
}

#visitorsBlock #visitorsVoice ul {
	max-width: 1160px;
	width: calc(100% - 2em);
	list-style: none;
	padding: 0;
	margin-top: 70px;
	margin-bottom: 50px;
}

#visitorsBlock #visitorsVoice ul li figure img {
	border-radius: 25px;
	max-width: 700px;
	width: 100%;
	height: 248px;
	object-fit: cover;
}

#visitorsBlock #visitorsVoice ul li aside {
	margin-top: 17px;
	margin-bottom: 17px;
	font-size: 0.875em;
	color: #FFFFFF;
	background-color: #E7124D;
	border-radius: 5px;
	display: inline-block;
	padding-top: 5px;
	padding-bottom: 5px;
	padding-left: 20px;
	padding-right: 20px;
}

.visitorsBtn2 {
	font-weight: bold;
}

.visitorsBtn2 a {
	display: inline-block;
	background-color: #FFFFFF;
	padding-top: 15px;
	padding-bottom: 15px;
	padding-left: 55px;
	padding-right: 55px;
	color: #000000;
	border-radius: 7px;
	background-image: url(../images/yajirushi3.png);
	background-repeat: no-repeat;
	background-position: right 15px center;
	margin-left: auto;
	margin-right: auto;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.visitorsBtn2 a:hover {
	background-color: #E7124D;
	color: #FFFFFF;
}


/*==========================================
/* PC向けおよび大型タブレット向けのレイアウトの指定：769px～960px */
===========================================*/
@media only screen and (min-width:1px) and (max-width:960px){
#visitorsBlock #visitorsFlow .visitorsFlow_block figure {
    margin-right: 25px;
}

#visitorsBlock #visitorsFlow .visitorsFlow_block figure img {
    height: 195px;
    border-radius: 25px;
}

#visitorsBlock #visitorsFlow .visitorsFlow_block {
    padding-top: 25px;
    padding-right: 25px;
    padding-bottom: 25px;
    padding-left: 25px;
}

#visitorsBlock #visitorsFeatures .features_block figure {
max-width: 538px;
min-width: 350px;
width: 100%;
}

.visitorsTit {
	font-size: 2em;
}

#visitorsBlock #contractBlock figure {
max-width: 50%;
min-width: 50%;
width: 100%;
	margin-right: 36px;
}

}

/*==========================================
 タブレット以下
===========================================*/
@media only screen and (max-width:768px){
#visitorsBlock #visitorsFlow .visitorsFlow_block figure img {
	height: 290px;
    }
	
#visitorsBlock #visitorsFlow .visitorsFlow_block {
	display: block;
}

#visitorsBlock #visitorsFlow .visitorsFlow_block figure {
	max-width: 100%;
	width: 100%;
	margin-right: 0px;
		margin-bottom: 20px;
}

#visitorsBlock #visitorsPrice ul li .visitorsPrice_block .inner {
	margin-left: 0px;
}

#visitorsBlock #visitorsPrice ul li .visitorsPrice_block figure img {
	max-width: 100%;
	width: 100%;
	min-width: 100%;
	height: 208px;
	margin-bottom: 15px;
}
	
#visitorsBlock #visitorsPrice section p {
	text-align: left;
}

#visitorsBlock #visitorsPrice ul li .visitorsPrice_block {
	display: block;
}

#visitorsBlock #visitorsFeatures .features_block section {
    margin-left: 15px;
    margin-right: 15px;
}

    #visitorsBlock #visitorsFeatures .features_block figure {
        margin-bottom: 15px;
    }
	
#visitorsBlock #visitorsFeatures .features_block section aside {
    margin-bottom: 15px;
    margin-top: 0px;
}

#visitorsBlock #visitorsFeatures .features_block {
	display: block;
}

#visitorsBlock #visitorsFeatures .features_block figure {
	max-width: 100%;
	min-width: 100%;
	width: 100%;
	margin-bottom: 25px;
}

#visitorsBlock #visitorsService ul {
	margin-top: 50px;
}

#visitorsBlock #visitorsService ul li {
	width: 47%;
	margin-bottom: 50px;
}

#visitorsBlock #visitorsService ul li figure figcaption {
	font-size: 1em;
}

#visitorsBlock #contract ul li a {
	background-position: right 20px center;
}

  #visitorsBlock #contract ul {
    gap: 20px 20px;
  }

  #visitorsBlock #contract ul li {
    flex: 0 1 calc((100% - 20px) / 2); 
	font-size: 1.1em;
  }

#visitorsBlock #contractBlock {
	display: block;
}

#visitorsBlock #contractBlock figure {
	max-width: 100%;
	min-width: auto;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 15px;
}

.visitorsTit {
	font-size: 1.7em;
}

#visitorsBlock #worries .inner ul {
flex-wrap:wrap;
}

#visitorsBlock #worries .inner ul li {
	max-width: 234px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 50px;
}

#visitorsBlock #visitorsVoice ul {
    grid-template-columns: 1fr;
  }
}

@media only screen and (max-width: 470px){
/*==========================================
 幅470px以下から ヘッダー等微調節
===========================================*/  
#visitorsBlock #visitorsVoice {
	padding-top: 50px;
	padding-bottom: 50px;
}

#visitorsBlock #visitorsFlow {
    padding-top: 50px;
    padding-bottom: 50px;
}

#visitorsBlock #visitorsFlow .visitorsFlow_block section aside {
    margin-bottom: 15px;
}

#visitorsBlock #visitorsFlow .visitorsFlow_block section h3 {
    font-size: 1.3em;
    padding-bottom: 15px;
}

#visitorsBlock #visitorsFlow .visitorsFlow_block figure img {
        height: 175px;
    }
	
#visitorsBlock #visitorsFlow .visitorsFlow_block {
        padding-top: 15px;
        padding-right: 15px;
        padding-bottom: 15px;
        padding-left: 15px;
    }
	
#visitorsBlock #visitorsPrice {
    padding-top: 50px;
}

#visitorsBlock #visitorsPrice section p {
    margin-bottom: 25px;
}

#visitorsBlock #visitorsPrice ul li {
	padding-bottom: 25px;
}

#visitorsBlock #visitorsPrice ul li .visitorsPrice_block {
	padding-top: 15px;
	padding-bottom: 15px;
	padding-left: 15px;
	padding-right: 15px;
}

#visitorsBlock #visitorsFeatures {
	padding-top: 50px;
	padding-bottom: 50px;
}

#visitorsBlock #visitorsFeatures .features_block {
	margin-top: 40px;
}

#visitorsBlock #visitorsFeatures .features_block section {
	margin-left: 0px;
	margin-right: 0px;
}

#visitorsBlock #visitorsService ul li {
	width: 100%;
	margin-bottom: 50px;
}

#visitorsBlock #visitorsService {
	padding-top: 50px;
	padding-bottom: 50px;
}

#visitorsBlock #contract ul {
	margin-top: 0px;
}

  #visitorsBlock #contract ul {
    flex-direction: column;
  }

  #visitorsBlock #contract ul li {
    flex: 1 1 100%;
  }

#visitorsBlock #contract {
	padding-top: 50px;
	padding-bottom: 50px;
}

.spbr {
	display: inherit;
}

.visitorsTit {
	font-size: 1.5em;
}

#visitorsBlock #worries {
	background-color: #F9E6EC;
	padding-top: 50px;
	padding-bottom: 50px;
}

#visitorsBlock #worries .inner ul {
	margin-top: 50px;
}
}

.swiper-pagination {
    display: block;
    position: relative;
    margin-top: 2em;
}