@charset "UTF-8";
p,li,a,h1,h2,h3,h4,small,th,td,div{
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	color: #313233;
	font-weight: 600;
	font-feature-settings: "palt" on;
	line-height: 1.7;
}
.sp{
	display: none;
}
body {
    background: rgb(245,244,243);
}
img {
    display: block;
    width: 100%;
    height: auto;
}
/*モーダル*/
/*========= 上部固定させるためのCSS ===============*/
#header{
	position: fixed;
	height: 100px;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: center;
    padding: 1vh 2vw;
	z-index: 1000;
	background: rgb(245,244,243,.6);
	top: 0;
}
a.logo {
    flex-basis: 20%;
}
#header a {
    display: block;
    height: 100%;
}
#header img {
    width: 100%;
    height: 100%;
	object-fit: contain;
	max-width: 200px;
}
/*JSを使いfixedクラスが付与された際の設定*/
#header div{
	display: flex;
    justify-content: flex-end;
    align-items: center;
}
#header #nav a.btn{
	width: auto;
    height: auto;
	background:#c9483e;
	padding:10px 32px;
	font-size: 16px;
	color: #fff;
}
#header #nav a.btn:hover{
	border: solid 1px #c9483e;
	background:#fff;
	color: #c9483e;
}
#header #nav{
}
#header #nav ul{
	display: flex;
}
#header #nav ul li{
	margin-right:32px;
}
#header #nav ul li:hover a{
    color:#45b1c7;
	text-decoration: underline;
}
#header #nav ul li.check a{
    color:#45b1c7;
	text-decoration: underline;
}
.top{
	width: 100%;
    height:100vh;
    max-height: 900px;
    margin: auto;
    position: relative;
}
.top .topInner{
    width: 100%;
    height: 100%;
    margin: 100px auto 0;
    position: relative;
}
.top #topleft{
	width: 80%;
    height: 100%;
    max-width: 1200px;
    margin: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.top #topleft h1{
	font-size: 54px;
    color: #000;
    font-weight: 600;
    letter-spacing: 10px;
	margin-top: 24px;
}
.top #topleft p{
	font-size:20px;
    letter-spacing: 5px;
    line-height: 2.5rem;
    margin: 32px 0;
}
.top #topleft p span{
	font-size: 21px;
}
.top #topleft a{
    align-items: center;
    align-self: start;
    border-radius: 999px;
    box-shadow: 0 8px 16px rgba(201,72,62,.4);
    color: #fff;
    display: inline-flex;
    justify-content: center;
    line-height: 1;
    min-height: 54px;
    min-width: 256px;
    text-align: center;
    transition: all .3s;
}
.top #topleft a:hover{
	border: solid 1px #c9483e;
	background:#fff;
	color: #c9483e;
}

.top #topleft h1 span,#pdca h4 span{
	font-size: 3.5rem;
}
.top #topright {
    position: absolute;
    right: 0;
    height: auto;
    width: 60%;
    top: 0;
    z-index: -1;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.top #topright img {
    width: 100%;
    height: 90vh;
    max-height: 900px;
    object-fit: contain;
    display: flex;
}

.news-yt a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 80%;
    max-width: 350px;
    margin: 0 auto 80px;
}
.news-yt a img {
    width: 100%;
    height: auto;
    margin: 10px auto;
    filter: drop-shadow(0 0 6px rgba(0, 67, 118, 0.2));
}
.pr{
	width: 80%;
    max-width: 1000px;
    margin: 0 auto 100px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 50px 20px;
}
.pr h2{
	flex-basis: 100%;
	font-size:25px;
	text-align: center;
	margin-bottom: 30px;
}
.pr div{
	flex-basis:18%;
    height: auto;
	margin:0 20px;
}
.pr div a{
	width: 100%;
	display: block;
}
.pr div img{
	object-fit: contain;
	width: 100%;
	height: auto;
	filter: drop-shadow(0 0 6px rgba(0, 67, 118, 0.2));
	margin: 0;
}
.social {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-evenly;
    width: 80%;
    max-width:1000px;
    margin: 0 auto 100px;
}
.social h2 {
    flex-basis: 100%;
}
.social div {
    flex-basis: 40%;
    height: 130px;
    display: flex;
}
.social div a {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
}
.social div.two{
    position: relative;
}
.social div.two a{
	color: #fff;
}
.social div a img {
    width: auto;
    height: 42%;
    object-fit: contain;
    display: block;
}
a.btn{
	z-index: 100;
	max-width: 480px;
    background: #c9483e;
    border: 1px solid #c9483e;
    padding: 15px 80px;
    border-radius: 100px;
    color: #fff;
    font-size: 1.3rem;
    text-align: center;
	box-shadow: 0 8px 16px rgba(201,72,62,.4);
	transition: all .3s;
}
a.btn:hover{
	border: solid 1px #c9483e;
	background:#fff;
	color: #c9483e;
}
div h2 {
    font-size: 2rem;
    text-align: center;
	width: 90%;
	margin: auto;
}
div h2 span{
	font-size: 2.5rem;
	text-align: center;
}
#detale{
	margin-top: 160px;
}
#detale ul{
	width: 80%;
	margin: auto;
	max-width: 1000px;
}
#detale ul h3 {
	font-size: 1.3rem;
    margin-bottom: 16px;
    margin-top:56px;
}
#steps {
    margin-top: 160px;
}
#steps div {
    width: 90%;
    margin: 56px auto 0;
    max-width: 1000px;
}
#plan {
    margin-top: 160px;
}
#plan ul{
   width: 80%;
    display: flex;
    flex-direction: row;
    margin: 56px auto 0;
    justify-content: space-between;
	max-width: 1000px;
}
#plan ul li {
    flex-basis: 45%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
#plan ul li div {
    font-size: 1.3rem;
    text-align: center;
    line-height: 2rem;
}
#plan ul li p {
    font-size: 18px;
    background: rgb(255,255,255,.9);
    padding: 16px 40px;
    margin-top: 32px;
    line-height: 1.6rem;
	border-radius: 20px;
}
.graph {
    margin-top: 160px;
}
.graph ul {
    display: flex;
    justify-content: space-between;
    width: 80%;
    margin: 56px auto 0;
    max-width: 1000px;
}
.graph.two ul {
	flex-direction: row-reverse;
    justify-content: space-between;
}
.graph ul li:nth-child(1) {
    flex-basis: 60%;
}
.graph ul li:nth-child(1) img{
    border: 1px solid #d0d0d0;
}
.graph ul li:nth-child(2) {
    flex-basis: 38%;
    display: flex;
    align-items: flex-end;
}
.graph ul li:nth-child(2) p{
    font-size: 16px;
}
#cost{
	margin-top: 160px;
    background: #fff;
    padding:56px 0;
}
#cost table {
    width: 80%;
	margin: 56px auto 0;
	border:2px solid #45b1c7;
	max-width: 1000px;
}
#cost table th{
	font-size: 18px;
}
#cost table tr.head th {
    background: #45b1c7;
    color: #ffffff;
}
#cost table tr.body th{
    background: #daeff4;
    color:#45b1c7;
}
#cost table .pink {
    font-size: 22px;
	color:#c96666;
}
#cost table .pink span{
    font-size: 25px;
}
#cost table .pink p{
    font-size:16px;
	color: #000;
	margin-top:16px;
}
#cost table .red {
    font-size: 22px;
}
#cost table .red span {
    font-size: 30px;
}
#cost table .red p {
    font-size: 18px;
    color: #000;
	margin-top: 16px;
	line-height: 1.8rem;
}
#cost table th, #cost table td {
    text-align: center;
	padding: 16px 0;
}
#cost div {
    display: flex;
    flex-direction: column;
    width: 80%;
    margin: 80px auto 0;
    max-width: 1000px;
}
#cost div h3 {
    font-size: 3rem;
}
#cost div p {
    font-size: 18px;
    margin: 16px 0 48px;
	line-height: 1.8rem;
}
#cost div p span {
    color: skyblue;
}
#cost div a {
    margin: auto auto 80px;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
}
#service{
	padding: 136px 0;
}
#service h2 .sml{
	font-size: 1.5rem;
}
#service table{
	margin:56px auto 0;
	width: 80%;
}
#service table th{
	text-align: center;
	padding:0 16px;
	height: 80px;
	font-size: 25px;
}
#service table td,#service table th{
	text-align: center;
	padding:8px 32px;
	height: 96px;
}
#service table tr:last-child td{
	padding:0;
}
#service table td{
	border-top: solid 1px #2ea7e0;
	font-size: 18px;
	line-height: 1.8rem;
}
#service table td.ind{
	border-right: solid 1px #2ea7e0;
}
#service table td.prime{
	background: #E7EEF5;
}
#service table th.free{
	background: #2ea7e0;
    color: #fff;
}
#service table td.ind{
	width: 15%;
}
#service table td{
	width: 42.5%;
}
#service table tr:last-child td{
	height: 104px;
}
#service table td.free a {
	display: block;
    background: #2ea7e0;
    color: #fff;
	padding-top: 16px;
	padding-bottom: 16px;
	font-size: 16px;
	width: 80%;
	margin: auto;
}
#service table td.free a:hover{
	background: rgb(46,167,224,.8);
    color: #fff;
}
#service table td.prime a {
	display: block;
    background: #313233;
    color: #fff;
	font-size: 16px;
	padding-top: 16px;
	padding-bottom: 16px;
	width: 80%;
	margin: auto;
}
#service table td.prime a:hover{
    background: rgb(49,50,51,.8);
    color: #fff;
    
}
#service table th.prime{
	background: #313233;
    color: #fff;
}
#service table td .spot{
	margin: 0;
	font-size: 18px;
	font-weight: bold;
}
#service ul {
    display: flex;
    justify-content: space-between;
    width: 90%;
    margin:239px auto 80px;
	max-width: 1400px;
}
#service ul li {
    flex-basis: 47.5%;
    background: #fff;
}
#service ul li.free a{
    background-image: url(../image/free-bcg.png);
    background-repeat: no-repeat;
}
#service ul li p span{
    font-size: 18px;
	margin-bottom: 16px;
}
#service ul li p span.small{
    font-size: 15px;
	margin-top: 8px;
}
#service ul li a {
	width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
	position: relative;
}
#service ul li a::before{
    display: block;
	content: "詳しく";
	position: absolute;
	bottom: 20px;
	right: 9px;
	font-size: 10px;
	color: #fff;
	z-index: 10;
}
#service ul li:last-child a::before{
	content: "相談へ";
}
#service ul li a::after{
    display: block;
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	border-right: 80px solid #313233;
    border-top: 80px solid transparent;
}
#service ul li:nth-child(1) a::after{
	border-right: 80px solid #2ea7e0;
}
#service ul li a p {
    font-size: 1.4rem;
    display: flex;
    flex-direction: column;
    width: 80%;
	padding: 40px 0;
	justify-content: center;
	margin:0 auto;
	background: none !important;
}
#service ul li img{
    width: 90%;
	height:auto;
	object-fit: contain;
	margin: 0 auto 32px;
	padding: 
}
.white{
	color: #fff;
	background: #45b1c7;
	margin-right: 8px;
	padding: 2px;
}
.blue{
	color: #45b1c7;
}
.red{
	color:#c9483e;
}
footer{
	text-align: center;
    background: #fff;
    width: 90%;
    margin:240px auto 0;
    padding-bottom: 20px;
	padding-top: 160px;
    border-radius: 20px 20px 0 0;
	position: relative;
}
footer .logo {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    position: absolute;
    top: -97px;
}
footer .logo img:first-child {
    height: 160px;
    width: 100%;
    object-fit: contain;
}
footer .logo img:last-child {
    height: 80px;
    width: 100%;
    object-fit: contain;
}
footer ul{
	width: 80%;
	max-width: 1000px;
	margin:48px auto 48px;
		display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-evenly;
}
footer ul li a,footer ul li p{
	font-size: 16px !important;
	width: 100% !important;
	display: flex;
}
footer ul li a svg{
	height: 16px;
	fill:#313233;
}
footer small{
}
footer ul li.twitter {
    height: 18.4px;
}
footer ul li.twitter a {
    height: 100%;
}
footer ul li.twitter a img {
    width: auto;
    height: 100%;
    display: block;
}
.logo-m {
    display: flex;
    width: 20%;
    margin:0 auto 48px;
    justify-content: space-between;
}
.logo-m a {
    flex-basis: 45%;
    height: auto;
}
.logo-m a img {
    height: 100%;
    width: 100%;
    object-fit: contain;
}
.formrun-embed{
	margin-top: 100px;
}
/**/
/**/
@media screen and (max-width:791px) {
	.pc,.sp.bf{
		display:none;
	}
	#about .pc{
		display:none;
	}
	.sp,.pc.bf{
		display:block; 
	}
	.top #topleft {
		width: 90%;
		height: 70%;
	}
	.top #topleft h1 {
		font-size: 36px;
    letter-spacing: .04em;
    line-height: 1.4;
		filter: drop-shadow(2px 4px 6px rgb(255,255,255,.4));
		margin-top: 100px;
	}
	.top #topleft p {
		line-height: 1.7;
    margin: 24px 0;
    font-size: 17px;
    letter-spacing: .0em;
    margin-top: 24px;
	}
	.top #topleft p span {
    font-size:19px;
}
	.top #topright {
    align-items: flex-end;
}
.top #topright img {
    height: 80vh;
}

	a.btn {
}
#detale ul h3 {
    font-size: 20px;
}
main p{
	font-size:16px;
}
	#plan ul {
    width: 90%;
}
	#plan ul li {
    flex-basis: 47.5%;
}
	#plan ul li div {
    font-size: 18px;
}
	#plan ul li p {
    font-size: 15px;
    line-height: 1.4rem;
}
	#cost div h3 {
    font-size: 2rem;
		text-align: center;
}
	#cost div p {
    font-size: 1rem;
		text-align: center;
}
	#service table {
    width: 100%;
}
		#service table td.ind {
    width: 10%;
			padding: 0;
}
		#service table td.ind span{
    writing-mode: vertical-lr;
}
	#service table td, #service table th {
    text-align: center;
    padding: 0 8px;
    height: 104px;
}
	#service table th {
    font-size: 16px;
}
	#service table td {
    font-size: 16px;
    line-height: 1.2rem;
}
	#service table td .spot {
    font-size: 16px;
}
	#service table td.free a, #service table td.prime a {
    font-size: 13px;
}
	#service ul {
    flex-direction: column;
}
	#service ul li {
    flex-basis: auto;
		margin: 0 0 10%;
}
	#service ul li a::before {
    bottom: 15px;
    right: 2px;
}
	#service ul li:nth-child(1) a::after {
    border-right: 60px solid #2EA7E0;
}
	#service ul li a::after {
    display: block;
    border-right: 60px solid #313233;
    border-top: 60px solid transparent;
}
@media screen and (max-width:599px) {
	.pc.bf{
		display: none;
	}
	.sp.bf{
		display: block;
	}
		#header #nav a.btn {
    padding: 10px 16px;
			font-size: 10px;
}
	#header{
		height: 60px;
	}
	#header a {
		font-size: 13px;
		font-weight: 600;
    display: flex;
    justify-content: center;
    align-items: center;
}
	#header img {
    height:80%;
}
	#header #nav ul li {
    margin-right: 16px;
}
	div h2{
    font-size: 20px;
}
	div h2 span {
    font-size: 25px;
}
	.top{
		height: auto;
	}
	.top #topleft a{
		margin:0 auto;
	}
	a.btn{
		font-size: 16px;
	}
	.top .topInner {
    height: auto;
    margin: auto;
    position: relative;
}
	.top #topleft {
    width: 90%;
    padding: 115px 0 32px;
    height: auto;
}
	.top #topright {
    justify-content: flex-start;
    margin: 0;
    left: 0;
    top: 111px;
    width: 100%;
    height: 100%;
    overflow: hidden;
}
	.top #topright img {
    width: 103vw;
    height: 100%;
    object-fit: contain;
    object-position: top 0 right -10vw;
}
	#steps div {
    width: 80%;
}
	#plan ul {
    flex-direction: column;
}
	#plan ul li p,#plan ul li div{
    margin-top: 16px;
}
	.graph ul,.graph.two ul{
    flex-direction: column;
    width: 95%;
}
	.graph ul li:nth-child(2) p,.graph.two ul li:nth-child(2) p{
    font-size: 14px;
    margin-top: 8px;
}
	#service {
padding: 136px 0 80px;
}
	#service table {
    margin: 56px auto 0;
}
	#service table th {
    font-size: 16px;
}
	#service table td {
    font-size: 13px;
    line-height: 1.2rem;
}
	#service table td .spot {
    font-size: 13px;
}
	#service table td.free a,#service table td.prime a {
    font-size: 13px;
}
#service ul {
margin: 160px auto 80px;
}

	#cost table th {
    font-size: 15px;
}
	#cost table .red span {
    font-size: 25px;
}
	#cost table .red {
    font-size: 18px;
}
	#cost table .red p {
    font-size: 15px;
}
	#cost table .pink p {
    font-size: 14px;
}
	footer {
padding-top: 100px;
		margin-top: 0;
}
#reserve footer {
    margin-top: 100px;
}
	footer .logo {
top: -66px;
}
	footer .logo img:first-child {
height: 100px;
}
	footer .logo img:last-child {
height: 60px;
}
	footer ul {
width: 90%;
}
footer ul li{
margin:5px 10px;
}
footer ul li a, footer ul li p {
font-size: 12px !important;
}
	footer ul li a svg {
height: 10px;
}
	.logo-m {
width: 60%;
}	
	footer small {
font-size: 10px;
}
}
