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

body{
	background-color: #F1FAFB!important;
	background-image: url("../img26/top/ab-bgbg.png");
	background-repeat: repeat;
	font-family: 'Zen Kaku Gothic New', sans-serif!important;
}

p{position: relative; font-size: 16px;z-index: 1;}

a{
    text-decoration: none!important;
    color: #1A7984;
}

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

header{
	position: relative;
	max-width: 540px;
	margin: auto;
	background-color: #fff;
	z-index: 9;
}

header h1{
	font-size: 10px;
	font-weight: 400;
	margin: 0;
	color: #363433;
}

#wrap{
	background-color: #FFFFFF;
	box-shadow: 0 0 20px rgba(0,0,0,0.5);
	max-width: 540px;
	min-height: 100vh;
	margin: auto;
	overflow: hidden!important;
	position: relative;
	padding: 0 0 70px;
}

.slider{
	z-index: 9;
}

#main{
	background-image: url("../img26/top/mian.jpg");
	background-position:top right;
	background-size: 100% auto;
	background-repeat: no-repeat;
}

#category{
	padding: 40px 0 0;
	background-color: #FFE2E2;
}
.catet{
	position: relative;
}

.catet h3{
	position: absolute;
	top: 20px;
	left:calc(4.15% + 12px);
	padding: 20px;
	line-height: 1.5;
	color: #fff;
	text-align: center;
	font-family: 'Shippori Mincho', serif!important;
	background-color: rgba(227,149,161,0.80);
	border-radius: 10px;
	z-index: 1;
	font-weight: 400;
	letter-spacing: 0.1em;
}
.catet h3::after{
	content: "";
	position: absolute;
	bottom: -35px;
	right: -30px;
	background:url("../img26/top/catepbg.png");
	background-repeat: no-repeat;
	background-size:100%;
	border-radius: 10px;
	width: 60px;
	height: 60px;
	z-index: -1;
}
.catet h3::before{
	content: "";
	position: absolute;
	top: -35px;
	left: -30px;
	background:url("../img26/top/catepbg2.png");
	background-repeat: no-repeat;
	background-size:100%;
	border-radius: 10px;
	width: 60px;
	height: 60px;
	z-index: -1;
}

.catep{
	position: relative;
	top: -30px;
	background:url("../img26/top/catepbg3.png"),#fff;
	background-repeat: no-repeat;
	background-position: bottom right;
	background-size: 60%;
	padding:10px 20px 20px!important;
	z-index: 1;
}
.catep p{
	font-size:14px;
}





footer{
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	max-width: 540px;
	z-index: 999;
}

#foot1{width: 16%;float:left;}
#foot2{width: 16%;float:left;}
#foot3{width: 16%;float:left;}
#foot4{width: 52%;float:left;}


.fontg{font-family: 'Shippori Mincho', serif!important;}
.fontg2{font-family: 'Kiwi Maru', serif!important;}
.fontg3{font-family: 'Zen Kaku Gothic New', sans-serif!important;}

.btn1,
a.btn1,
button.btn1 {
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 0.8;
  position: relative;
  display: inline-block;
  padding: 1rem 3rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #251E1E;
  border-radius: 0.5rem;
}

.btn1 strong{
	color: #1A1A1A;
}

a.btn-border-shadow {
  padding: calc(1.5rem - 12px) 3rem 1.5rem;

  background: #fff;
}

a.btn-border-shadow:before {
  position: absolute;
  top: -6px;
  left: -6px;

  width: 100%;
  height: 100%;

  content: "";
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;

  border: 1px solid #666;
  border-radius: 0.5rem;
}

a.btn-border-shadow:hover {
  padding: calc(1.5rem - 6px) 3rem;
}

a.btn-border-shadow:hover:before {
  top: 0;
  left: 0;
}

a.btn-border-shadow--color {
  border-radius: 0;
  background: #59B3BB;
}


a.btn-border-shadow--color2 {
  border-radius: 0;
  background: #7BBB59;
}

a.btn-border-shadow--color3 {
  border-radius: 0;
  background: #fff;
}
.btn2 a {
  display: block;
	text-align: center;
  position: relative;
  margin: 0 auto;
  padding: 0.7em 1.6em 0.8em;
  color: #fff!important;
  font-weight: 500;
	letter-spacing: 0.1em;
  background: #555555;
  transition: 0.3s;
}
.btn2 a::before {
  content: '';
  position: absolute;
  top: -3px;
  left: -3px;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  border: 1px solid #ACACAC;
  transition: 0.2s;
}
.btn2 a:hover::before {
  top: 0;
  left: 0;
}
.btn2 a:hover {
  text-decoration: none;
  background-color: #a0c4d3;
}






.sst{
  border-bottom: solid 4px #ccc;
  position: relative;
	color: #462708;
	font-size: 16px;
	font-weight: bold;
	padding: 20px 0 5px 20px; 
	text-align: left;
	margin-bottom: 20px;
}

.sst:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 4px #389BA7;
  bottom: -4px;
  width: 50%;
}


.sst2{
  border-bottom: solid 4px #389BA7;
  position: relative;
	font-size: 16px;
	font-weight: bold;
	padding: 20px 0 5px 20px; 
	text-align: left;
	margin-bottom: 20px;
	margin:0px 30px;
}


.sst3 {
	position: relative;
	padding-bottom: 15px;
	font-size: 26px;
	text-align: center;
	border-bottom: 5px solid #D3E3DE;
}

.sst3::after {
	content: '';
	position: absolute;
	bottom: -5px;
	left: 50%;
	transform: translateX(-50%);
	width: 70px;
	height: 5px;
	background-color: #168D8F;
}


.insgra a{
background: linear-gradient(29deg, rgba(255,210,111,0.8) 0%, rgba(255,23,96,0.6) 52%, rgba(64,54,239,0.4) 100%)!important;
}
.insgra a::before{
  border: 1px solid #D2D2D2;
}


.linelink a{
background: #36B02D !important;
}
.linelink a::before{
  border: 1px solid #D2D2D2;
}

/*内部ページ*/

#title{
	position: relative;
}
#title::before{
	content: "";
	position: absolute;
	background-color: rgba(133,184,192,0.67);
	width: 100%;
	height: 100%;
}

#titlein{
	display: flex;
	position: absolute;
	width: calc(100% - 80px);
	height: calc(100% - 40px);
	top: 0;
	left: 0;
	margin: 20px 40px;
	z-index: 2;
}
#titlein p{
	margin: auto;
	text-align: center;
	display: inline-block;
	font-weight: 400;
	color: rgba(255,255,255,1.00);
	line-height: 1.5;
	text-shadow: 0px 0px 4px rgba(0,0,0,0.3);
	letter-spacing: 0.1em;
	font-family: 'Zen Kaku Gothic New', sans-serif!important;
}


.st{
	position: relative;
	display: inline-block;
	margin: 0;
	padding: 1em 0;
	font-family: 'Shippori Mincho', serif;
	color: #32847D;
	letter-spacing: .1em;
	z-index: 1;
}


.st2 {
    color: #09607B;
    text-align: center;
    padding: 0.5em 20px;
    border-top: solid 3px #288AC0;
    border-bottom: solid 3px #288AC0;
    background: -webkit-repeating-linear-gradient(-45deg, #F5F8FF, #F5F8FF 3px,#EAFCFF 3px, #EAFCFF 7px);
    background: repeating-linear-gradient(-45deg, #F5F8FF, #F5F8FF 3px,#EAFCFF 3px, #EAFCFF 7px);
    border-radius: 3px;
    letter-spacing: .1em;
}

.st3 {
  position: relative;
  padding-left: 1.5em;
  line-height: 1.4;
}

.st3:before {
  font-family: "Font Awesome 5 Free";
  content: "\f157";
  font-weight: 900;
  position: absolute;
  font-size: 1em;
  left: 0;
  top: 0.2em;
  color: #3E7782;
}

.st4 {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}
.st4::before,.st4::after {
	content: '';
	width: 4px;
	height: 40px;
	background-color: #FFC5E9;
	border-radius: 2px;
}
.st4::before {margin-right: 30px;transform: rotate(-35deg)}
.st4::after {margin-left: 30px;transform: rotate(35deg)}


.st5{
     position: relative;
     color: white;
     padding:0.4em 0.5em 0.4em 1.4em;
     background-color: #238A81;
	font-family: 'Shippori Mincho', serif!important;
	font-weight: 500;
}
.st5::after {
     position: absolute;
     top: 50%;
     left:0;
     transform:translateY(-50%);
     content: '';
     width: 1.1em;
     height:20px;
     background-color:#F0F4A8;
}
.st6 {
  position: relative;
  display: inline-block;
  margin-bottom: 1em;
}
.st6:before {
  content: '';
  position: absolute;
  bottom: -5px;
  display: inline-block;
  width: 100px;
  height: 3px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #705803;
  border-radius: 2px;
}

.txtbox {
    position: relative;
    margin: 2em 0;
    padding: 1em;
    border: solid 3px #F2E2B0;
    border-radius: 8px;
}
.txtbox .boxst {
    position: absolute;
    display: inline-block;
    top: -0.5em;
    left: 0.8em;
    padding: 0 0.6em;
    line-height: 1;
    background: #FFF;
    color: #eed077;
    font-weight: bold!important;
	font-family: 'Parisienne', cursive;
}

.g-bg-color--gold-light .boxst {background: #FFFAF0;}


table.item{
	margin-left: auto ;
	margin-right: auto ;
	padding:0;
	width:94%;
    border-collapse:collapse;
    empty-cells:show;
	font-size: 14px;
}

.item th{
	line-height:24px;
	color:#fff;
    padding:5px 10px;
    text-align:center;
	vertical-align: middle;
	letter-spacing:1px;
	font-weight: normal;
}

.item td{
	line-height:24px;
	color:#333;
	font-weight: normal;
    padding:5px 10px;
	letter-spacing:1px;
	vertical-align: middle;
}

#jusin{
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	max-width: 540px;

}

#jusin1{width: 50%;float:left;}
#jusin2{width: 50%;float:left;}


/*yoko tab*/

summary {
    list-style: none;
    position: relative;
    margin-bottom: 10px;
    padding: 10px;
    cursor: pointer;
    border-bottom: 1px solid #B5B5B5;
	background-color:#AAEEEF;
    font-weight: bold;
}

summary::-webkit-details-marker {
	display: none;
}



summary::after {
	content: '+';
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	transition: transform 0.5s;
	font-size: 30px;
	color: rgba(28,131,168,1.00)
}

details[open] summary::after {
	transform: translateY(-50%) rotate(45deg);
}

.answer {
	padding: 0px 0px;
}

details[open] .answer {
	animation: fadein 0.5s ease;
}

@keyframes fadein {
	0% { opacity: 0; }
	100% { opacity: 1; }
}


.heading14 {
	position: relative;
	padding-left:0px;
	font-size: 16px;
}

.heading14::before {
	content: attr(data-number);
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	color: rgba(63,193,201,0.3);
	font-size: 30px;
}

.heading14::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;

}

ul.lidisc{padding: 0 0 0 20px;margin: 0;}
ul.lidisc li{list-style: disc;margin: 0 0 10px;font-size: 16px!important;}

.listimg {
    width: 50%!important;    /* 横幅を割合で指定 */
}
.infoimg{position: relative;margin: 0 0 30px;}
.infost {
	position: absolute;
    margin:auto;
	right: 0;
	left: 0;
	bottom: -20px;
	text-align: center;
}
.infost span{
	background-color: #F9F9EE;
    display:  inline-block;
	box-shadow: 0 -3px 3px rgba(100,100,100,0.30);
    padding:  10px 40px 15px;
    border-top-left-radius:  10px;
    border-top-right-radius:  10px;
	line-height: 1.2;
	letter-spacing: 0.1em;
	font-family: "M PLUS Rounded 1c"!important;
	font-weight: 700;
}

.infost2 {
	position: absolute;
    margin:auto;
	right: 0;
	left: 0;
	bottom: -10px;
	text-align: center;
}
.infost2 span{
	background-color: #FFFFFF;
    display:  inline-block;
	box-shadow: 0 -3px 3px rgba(100,100,100,0.30);
    padding:  10px 40px 15px;
    border-top-left-radius:  10px;
    border-top-right-radius:  10px;
	line-height: 1.2;
	letter-spacing: 0.1em;
	font-family: "M PLUS Rounded 1c"!important;
	font-weight: 700;
}

@media only screen and (max-width:480px){
	table{
		border-collapse:collapse;
	}
	.staff td,.staff th{
		width:100%;
		display:block;
		padding:10px
	}
}

table.price{
	margin:0 auto 20px;
	width:100%;
	border-collapse:collapse;
	border-spacing:0;
	background-color:#fff;
	empty-cells:show;
	border-top:solid 1px #ccc;
	border-left:solid 1px #ccc
}
.price th{
	font-size:16px;
	letter-spacing:1px;
	padding:0.6em 1.2em;
	border-bottom:solid 1px #ccc;
	border-right:solid 1px #ccc;
	color:#2F1B07;
	background-color: #E4F5F9;
	vertical-align: middle;
}
.price td{
	font-size:16px;
	color:#2F1B07;
	padding:0.6em 1.2em;
	border-bottom:solid 1px #ccc;
	border-right:solid 1px #ccc;
	vertical-align: middle;
}

table.net{
	margin:0 auto 20px;
	width:100%;
	border-collapse:collapse;
	border-spacing:0;
	background-color:#FDFBEB;
	empty-cells:show;
	border-top:solid 1px #fff;
	border-left:solid 1px #fff
}
.net th{
	font-size:16px;
	letter-spacing:1px;
	padding:0.6em 1.2em;
	border-bottom:solid 1px #fff;
	border-right:solid 1px #fff;
	color:#2F1B07;
	background-color: #E4F5F9;
	vertical-align: middle;
}
.net td{
	font-size:16px;
	color:#2F1B07;
	padding:0.6em 1.2em;
	border-bottom:solid 1px #fff;
	border-right:solid 1px #fff;
	vertical-align: middle;
}
@media only screen and (max-width:480px){
	table{
		border-collapse:collapse;
	}
	.price td,.price th,.net td,.net th{
		width:100%;
		display:block;
		padding:10px
	}
}

.s-team-v2 {
  position: relative;
   box-shadow: 0 0 1.25rem 0.3125rem rgba(34, 35, 36, 0.07);
}

.s-team-v2:before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  content: " ";
  transition-duration: 300ms;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

.flowchart{
  margin-left: .5em;
  border-left: 2px dashed;
}
.flowchart h2{
  position: relative;
  margin-left: 2em;
  margin-bottom: 0;
  font-size:22px;
  text-align: left;
  font-weight: bold; 
  color: rgba(36,121,127,1.00)
}
.flowchart p{
  margin-top: .3em;
  margin-left: 3em;
  text-align: left;
  font-size:14px;
}
.flowchart h2:before{
  font-family: Font Awesome\ 5 Free;
  font-weight: 900;
  content: "\f358";
  position: absolute;
  left: -2.5em;
  top: .2em;
  width: 1em;
  height: 1em;
  border-radius: .5em;
  background: #fff;
}
.flowchart h2:after{
  content: "";
  border-bottom: 1px solid;
  width: 1em;
  background: #000;
  position: absolute;
  top: .8em;
  left: -1.5em;
}