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

.contents{
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
	font-size: 16px;
}
section{
  width: 100%;
margin-bottom: 6em auto !important;
display: flex;
flex-direction: column;
gap: 1em;
}

.gotouchikyara{
position: absolute;
top: 1em;
}



.sectiontitle {
  position: relative; /* 子要素の位置決めの基準にする！ */
  display: inline-block;
  padding-right: 80px; /* 画像分のスペースを確保 */
}

.sectiontitle .gotouchikyara {
  position: absolute;
  right: 25%; /* タイトルの右端に配置 */
  top: 55%;
  transform: translateY(-50%); /* 縦位置を中央揃えにする */
}

.sectiontitle .gotouchikyara img {
  width: 8em; /* サイズはお好みで */
  height: auto;
}


div.sectiontitle{
display: flex;
justify-content: center;
width: 100%;
position: relative;
}


div.sectiontitle p{
	width: fit-content;
	padding: 0;
	font-size: 2.5em;
	font-weight: bold;
	color: #54c3f1;
	text-align: center;
	line-height: 1.25em;
}
div.sectiontitle p span{
	background: linear-gradient(transparent 70%, #ffe33f 50%);
width: 0;
padding: 0 0.25em;}


.meishititle{
	width: 100%;
	font-size: 1.25em;
	text-align: center;
  margin-bottom: 3em;
}


@media screen and (max-width:640px){
  /* ここに700px以下で適用したいCSSを書く */
div.sectiontitle p{
	font-size: 1.75em;
}
.sectiontitle .gotouchikyara img {
  width: 4.5em; /* サイズはお好みで */
}

.meishititle{
	font-size: 1em;
}
.meishititle{
	width: 95%;
	font-size: 1.15em;
  text-align: center;
  margin: 1em auto 3em auto;
}

}


h4{
	width: fit-content;
	color: white;
	background-color: #54c3f1;
	font-size: 1.15em;
	text-align: center;
margin-bottom: 0.5em;
	position: relative;
  padding: 0.5rem 1rem;
  color: #fff;
  border-radius: 10px;
}

h4:after {
  position: absolute;
  bottom: -9px;
  left: 1em;
  width: 0;
  height: 0;
  content: '';
  border-width: 10px 10px 0 10px;
  border-style: solid;
  border-color: #54c3f1 transparent transparent transparent;
}




.meishiPR p span{
	background: linear-gradient(transparent 70%, #ffe33f 50%);
}




.meishiPR{
	display: flex;
	justify-content: space-around;
	align-items: center;
}
.meishiPR:nth-of-type(even){
  flex-direction: row-reverse;
}
.meishiPR p{
width: 100%;
display: inline-block;

}

.meishiPR div{
  width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  
}

.meishiPR img{
width: 40%;
}

@media screen and (max-width:640px){
.meishiPR{
	display: block;
margin: 0 auto;}
.meishiPR:nth-of-type(even){
  flex-direction: row;
}
.meishiPR div{
  width: 90%;
  margin: 0 auto;
}

.meishiPR img{
width: 70%;
display: block;
margin: 0 auto
}


}

/* Prefecture List Styles */
.prefecture-list {
  background-color: #eaf8ff;
  padding: 3em 3em 5em 3em;
  margin: 2em auto;
  border-radius: 15px;
  width: 100%;
  box-sizing: border-box;
}



.prefecture-grid {
  display: flex;
  flex-direction: column;
  gap: 1em;
}

.prefecture-group {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5em;
}

.prefecture-item {
  display: inline-block;
  padding: 0.5em 1.5em;
  margin: 0.25em;
  border-radius: 999px;
  border: 2px solid;
  text-decoration: none;
  font-weight: bold;
  background-color: #fff;
}

.prefecture-item.color-1 { border-color: #65c4ff; color: #65c4ff; }
.prefecture-item.color-2 { border-color: #00a0e9; color: #00a0e9; }
.prefecture-item.color-3 { border-color: #ea609e; color: #ea609e; }
.prefecture-item.color-4 { border-color: #00ab84; color: #00ab84; }
.prefecture-item.color-5 { border-color: #fdd000; color: #fdd000; }
.prefecture-item.color-6 { border-color: #9070af; color: #9070af; }
.prefecture-item.color-7 { border-color: #5dc2d0; color: #5dc2d0; }
.prefecture-item.color-8 { border-color: #f19ec2; color: #f19ec2; }


@media screen and (max-width:640px){
.prefecture-list {
  padding: 3em 1em 5em 1em;
}

.prefecture-group li{
font-size: 0.8em;}

.prefecture-group {
justify-content: center;}

}

.sectionbtn {
width: 100%;
margin: 2em auto;
}

.button01 {
  /* スタイル用 */
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.5em;
  width: fit-content;
  height: fit-content;
  margin: 1em auto;
  padding: 0.5em 3em;
background-color: #54c3f1;
  color: #ffffff;
  border-radius: 5em;
  list-style: none;
  text-decoration: none;
  font-weight: bold;

  /* スタイル用 */

  position: relative;
}

.button01:before,
.button01:after {
  position: absolute;
  top: 50%;
  right: 22px;
  height: 1px;
  background: #ffffff;
  content: '';
}

.button01:before {
  width: 30px;
  transform: translateY(-50%);
}

.button01:after {
  width: 8px;
  transform: translateY(-50%) rotate(45deg);
  transform-origin: right center;
}


.button02 {
  /* スタイル用 */
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1em;
  width: fit-content;
  height: fit-content;
  margin: 1em auto;
  padding: 0.5em 3em;
background-color: #54c3f1;
  color: #ffffff;
  border-radius: 5em;
  list-style: none;
  text-decoration: none;
  font-weight: bold;

  /* スタイル用 */

  position: relative;
}

.button02:before,
.button02:after {
  position: absolute;
  top: 50%;
  right: 13px;
  height: 1px;
  background: #ffffff;
  content: '';
}

.button02:before {
  width: 30px;
  transform: translateY(-50%);
}

.button02:after {
  width: 8px;
  transform: translateY(-50%) rotate(45deg);
  transform-origin: right center;
}



.msbtn{
	display: flex;
margin: 0 auto;
}
.msbtn img{
width: fit-content;
height: 8em;
}
.sectionbtn p{
	text-align: center;
	font-size: 1.15em;
	font-weight: bold;
	color: #f08437;
margin-bottom: 0;
}

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

.button01 {
  /* スタイル用 */
  font-size: 1.2em;
margin-top: 0;
}

.button02 {
  /* スタイル用 */
  font-size: 1em;
  padding: 0.5em 3em;
}



.msbtn{
	display: flex;
margin: 0 auto;
}

.msbtn img{
display: none;}


.sectionbtn p{
	font-size: 0.8em;
}


}




ul.purchaseflow{
width: 100%;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}

ul.purchaseflow li{
  width: 70%;
  height: 12em;

  border: #54c3f1 3px solid;
  border-radius: 2em;
display: flex;
justify-content: center;
align-items: center;
margin-bottom: 2em;
}
ul.purchaseflow li i{
width: 25%;
text-align: center;
font-size: 3.5em;
}

ul.purchaseflow li div{
width: 65%;
text-align: center;
}
ul.purchaseflow li div h5{
font-size: 1.75em;
font-weight: bold;
	color: #f08437;
  margin: 0 auto;
}

ul.purchaseflow li div p{
font-size: 0.8em;
margin-top: 0.5em;
line-height: 1.5em;
}

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

ul.purchaseflow li{
  width: 90%;
  height: 15em;

  border-radius: 2em;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
margin-bottom: 2em;
}
ul.purchaseflow li div{
width: 100%;
text-align: center;
}

ul.purchaseflow li div h5{
font-size: 1.25em;
  margin: 1em auto 0 auto;

}







}



