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

/* リセット */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: Arial, sans-serif;
    line-height: 1.6;
    color: #333;
}

header {
    background: url(img/bg.jpg)center;
    color: #fff;
    padding: 80px 20px;
    text-align: center;
    background-size: cover;
    height:600px;
    text-align: left;
}

.header-content h1 {
    font-size: 2.8em;
    margin-bottom: 0.5em;
}

.header-content p {
    font-size: 1.2em;
    margin-bottom: 1em;
}
.bt_area{
	padding:1em 0 0
}
.cta-button {
    background: #4CAF50;
    color: #fff;
    padding: 0.8em;
    max-width:600px;
    width:95%;
    text-decoration: none;
    border-radius: 30px;
    font-size:1.8em;
    font-weight:bold;
	display:block;
	margin:0 auto;
	box-shadow: 0px 11px 0px 0px #1B5E20;
	transition:0.5s;
}

.cta-button:hover {
    box-shadow: none;
	transition:0.5s;
	background: #43A047;
}

/* サービス概要 */
.service-list {
	margin:0 auto;
	max-width: 700px;
	border: 3px solid #237bc9;
	padding:2em;
	width: 95%;
}
.service-list p {
    font-size: 1.5em;
    color: #333;
    line-height: 2;
    display: flex;
    align-items: center;
    line-height: 1.5em;
    padding-bottom: 0.5em;
}

.service-list i {
    color: #007acc;
    margin-right: 8px;
}

/* サービス詳細 */
.section {
    padding: 50px 20px;
    text-align: center;
}

.price {
    font-size: 2.5em;
    background: #ff0;
    padding: 1em 1em 0;
    text-align: center;
    margin-bottom: 1em;
}

.price .large {
    font-size: 2.8em;
    font-weight: bold;
}

.section h2 {
    font-size: 2.5em;
    margin-bottom: 0.5em;
	font-weight:bold;
	text-align:center;
}

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

.detail {
    flex: 1 1 300px;
    max-width: 300px;
    background: #e6f2ff;
    padding: 20px;
    border-radius: 5px;
    text-align: center;
    border: 1px solid #007acc;
}

.detail h3 {
    color: #005f99;
    margin-bottom: 0.5em;
    min-height: 3.2em;
    display: flex;
    justify-content: center;
    align-items: center;
}

.detail img {
    width: 100%;
    height: auto;
    border-radius: 5px;
    margin-bottom: 0.5em;
}

.detail p {
    font-size: 1em;
    color: #333;
    teext-a;
    text-align: left;
}
.inner{
	margin:0 auto;
	max-width:1000px;
}
#profile p{
	text-align:left;
	/* width:95%; */
	max-width: 600px;
	display:block;
	margin:0 auto;
}
#tokusho img{
	width:95%;
	max-width: 900px;
	text-align:center;
}
footer{
	background: #1b5088;
	color:#fff;
	text-align:center;
	padding:1em;
}
.sp{
	display:none;
}
/* レスポンシブ設定 */
@media (max-width: 768px) {
    header .header-content h1 {
        font-size: 1.8em;
    }
	header{
		display:flex;
		align-items:center;
		height:400px;
	}
    .section{
		padding: 20px 20px;
	}

section#details {
    padding: 20px 0;
}
	.section h2{
		font-size: 1.2em;
	}
section#tokusho {
    padding: 20px 0;
}
    .detail {
        flex: 1 1 100%;
    }
	.price{
		font-size: 1.3em;
	}

.info p {
    text-align: left;
}
	.price .large{
		font-size: 1.8em;
	}
	.section h2{
		font-size: 1.4em;
	}
	.service-list p{
		font-size:1em
	}

.service-list {
    padding: 1em;
    text-align: left;
}
.cta-button{
	padding:0.6em 0;
}
}
/* 詳細ボックスのデフォルト（スマホ向け） */
.details-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}
.sp{
	display:block;
}
table{
	margin:0 auto;
	max-width:800px;
	border-collapse: collapse;
}
td{
	border: 1px solid #ccc;
	padding:0.5em;
}

td:last-child {
    text-align: left;
}

td {}
/* PC画面で3列にする */
@media (min-width: 980px) {
    .detail {
        flex: 1 1 30%; /* 各ボックスを3列で並べる */
        max-width: 30%;
    }
	
}

/* ボックスの基本デザイン */
.detail {
    background: #e6f2ff;
    padding: 20px;
    border-radius: 5px;
    text-align: center;
    border: 1px solid #007acc;
}
@media (max-width: 480px) {
	td{
		font-size:70%;
	}
	table{
		width:95%;
	}
	
}


