@charset "utf-8";
/* レイアウトのためのCSS */
body{
    background:#e2a2b1;
    font-family: 'Noto Serif JP', serif;
	color: #555;
	font-size:1rem;
	line-height:1.85;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%; 
	word-wrap: break-word;
    letter-spacing: 0.2em;
}

body.appear{
    background:#f8f9fa;
}


ul{
	margin:0;
	padding: 0;
	list-style: none;
}

a{
	color: #555;
	text-decoration: none;
    outline: none;
}

img{
    width:100%;
    height: auto;
    vertical-align: bottom;
}

*{
    box-sizing: border-box
}

/* font-family */

h1,
#g-nav-list li:nth-child(1),
#menu h2,
#blog h2,
#footer dl dd,
#splash-logo{
    font-family:'Parisienne', cursive;
}

/* heading */
#menu h2,
#blog h2{
    font-size: 4rem;
    text-align: center;
    margin: 0 0 50px 0;
    font-weight: normal;
    color: #e2a2b1;
}

@media screen and (max-width:768px) {
#menu h2,
#blog h2{
    font-size: 3rem;
    }
    
}

	/* 追加 */
	#container {
    min-height: 100vh;
}
	/* 追加 */
	
	
	/* area */
	
	
#container{
    overflow-x: hidden;
}

.inner{
    width:100%;
    margin:0 auto;
    padding:70px;
}

@media screen and (max-width:940px) {
.inner{
    padding:30px;
}
}

/* splash */

#splash-logo p{
    font-size:1.8rem;
    font-weight: normal;
    white-space: nowrap;
}

	/* header */
	
.simple-header-3 {
    background: linear-gradient(to bottom, #fdeff4 0%, #ffffff 70%);
    padding: 35px 0;
    border-bottom: 1px solid #e2a2b1;
    text-align: center;
}

.simple-header-3 .logo {
    font-size: 20px;
    letter-spacing: 0.15em;
    color: #666;
		font-weight: 400;
			font-family: "Noto Serif JP", serif;
}

	
@media screen and (max-width: 480px) {
    .header-area p {
        white-space: nowrap;
        font-size: 16px;
    }
}

.header-area{
    position: fixed;
    left:50%;
    top:50%;
    transform: translate(-50%,-50%);
    z-index: 2;
    color: #fff;
    text-align: center;
}

.header-area h1{
    display: block;
    font-size: 6vw;
    font-weight: normal;
    line-height: 1;
    letter-spacing: 0;
    padding: 0 10px;
}

.header-area p{
    font-size: 1.3vw;
    letter-spacing: 0.4em;
    margin: 0 0 20px 0;
}

.header-area p br{
    display: none;
}


@media screen and (max-width:960px) {
.header-area h1{
    font-size:4rem;
}
.header-area p{
    font-size:0.8rem;
    whitewhite-space:no
}

.header-area p br{
    display: block;
}

}

/* gnavi */

#g-nav-list li:nth-of-type(1) a{
    font-size: 2rem;
    text-transform: none;
    font-weight: normal;
    line-height: 1;
    white-space: nowrap;
    margin: 0 0 20px 0;
}

#g-nav-list li:nth-of-type(2){
    animation-delay: .2s;
}
#g-nav-list li:nth-of-type(3){
    animation-delay: .4s;
}
#g-nav-list li:nth-of-type(4){
    animation-delay: .6s;
}
#g-nav-list li:nth-of-type(5){
    animation-delay: .8s;
}
#g-nav-list li:nth-of-type(6){
    animation-delay: 1.1s;
}
#g-nav-list li:nth-of-type(7){
    animation-delay: 1.3s;
		}
#g-nav-list li:nth-of-type(8){
    animation-delay: 1.5s;
		}
#g-nav-list li:nth-of-type(9){
    animation-delay: 1.7s;
		}
#g-nav-list li:nth-of-type(10){
    animation-delay: 1.9s;
		}		
		
					/* セクション全体 */
.value-section {
    padding: 80px 0;
    background: #fff;
}

/* タイトル */
.value-title {
    text-align: center;
    font-size: 1.8rem;
    color: #444;
    letter-spacing: 0.08em;
    margin-bottom: 50px;
    font-weight: 500;
}

/* アイテムを2列に（PC） */
.value-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 60px;
    width: 90%;
    max-width: 1000px;
    margin: 0 auto;
}

/* 各項目 */
.value-item {
    padding: 25px 28px;
    border-left: 3px solid #e2a2b1;
    background: #faf7f8;
    border-radius: 6px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
}

/* 見出し */
.value-item h3 {
    font-size: 1.2rem;
    color: #333;
    margin-bottom: 15px;
    font-weight: 600;
    line-height: 1.6;
}

/* テキスト */
.value-item p {
    font-size: 1rem;
    color: #666;
    line-height: 1.9;
}

/* スマホ対応（1列） */
@media screen and (max-width: 768px) {
    .value-list {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .value-item {
        padding: 22px 22px;
    }

    .value-title {
        font-size: 1.5rem;
    }
}
		/* 料金*/
		
/* セクション全体 */
.price-section {
    padding: 100px 0;
    width: 90%;
    max-width: 900px;
    margin: 0 auto;
}

/* タイトル */
.price-title {
    font-size: 1.8rem;
    font-weight: 400;
    text-align: center;
    margin-bottom: 60px;
    letter-spacing: 0.1em;
    color: #333;
    font-family: "Noto Serif JP", serif;
}

/* ボックス */
.price-box {
    background: #fff;
    border-left: 3px solid #e2a2b1;
    padding: 30px 40px;
    margin-bottom: 40px;
				
}

/* ボックスの見出し */
.price-heading {
    font-size: 1.3rem;
    font-weight: 400;
    margin-bottom: 25px;
    color: #333;
    font-family: "Noto Serif JP", serif;
}

/* リスト */
.price-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.price-list li {
    display: flex;
    justify-content: space-between;
    padding: 12px 0;
    border-bottom: 1px solid #eee;
    font-size: 1rem;
    color: #555;
}

.price-list li:last-child {
    border-bottom: none;
}

.price-list .time {
    font-weight: 400;
}

.price-list .yen {
    font-weight: 400;
    color: #222;
}

/* スマホ調整 */
@media screen and (max-width: 600px) {

    .price-box {
        padding: 25px 20px;
    }

    .price-list li {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }

    .price-list .yen {
        font-size: 1.05rem;
    }
}
/* キャンセル料ボックス（料金表と同じだが少し柔らかい色） */
.cancel-box {
    border-left: 3px solid #e2a2b1;
    margin-top: 40px;
}


			


/* 四隅だけ細い線の飾り枠 */
	
			/* PCでは中央寄せ */
.text-center-pc {
    text-align: center;
}

/* スマホでは左寄せ（600px以下） */
@media screen and (max-width: 600px) {
    .text-center-pc {
        text-align: left;
    }
}
	
			
.corner-frame {
    position: relative;
    padding: 28px 32px;
	margin-bottom: 40px; /* ← 次の要素との間に余白を作る */
	margin-top: 40px; /* ← 次の要素との間に余白を作る */
}

/* 各角の線の共通設定 */
.corner-frame::before,
.corner-frame::after,
.corner-frame span::before,
.corner-frame span::after {
    content: "";
    position: absolute;
    width: 28px;   /* 横線の長さ */
    height: 28px;  /* 縦線の長さ */
    border-color: #e2a2b1; /* 細い枠線の色 */
    border-style: solid;
    pointer-events: none;
}

			
/* 左上 */
.corner-frame::before {
    top: 0;
    left: 0;
    border-width: 1px 0 0 1px;
}

/* 右上 */
.corner-frame::after {
    top: 0;
    right: 0;
    border-width: 1px 1px 0 0;
}

/* 左下（span 使用） */
.corner-frame span::before {
    bottom: 0;
    left: 0;
    border-width: 0 0 1px 1px;
}

/* 右下（span 使用） */
.corner-frame span::after {
    bottom: 0;
    right: 0;
    border-width: 0 1px 1px 0;
}

					/* 営業 */		
		/* 全体エリア */
.business-info {
    background: #faf5f7; /* うっすらピンク系で料金表と差別化 */
    padding: 60px 20px;
    margin-top: 60px;
    border-left: 4px solid #e2a2b1;  /* 差別化ポイント① 左線のみ */
}

/* タイトル */
.biz-title {
    font-size: 1.6rem;
    text-align: center;
    color: #333;
    margin-bottom: 40px;
    letter-spacing: 0.05em;
}

/* 中のボックス */
.biz-box {
    max-width: 700px;
    margin: 0 auto;
    background: #fff;                   /* 差別化ポイント② 白カード */
    padding: 30px 35px;
    border-radius: 6px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    border: 1px solid #e9dce0;
}

/* 項目名 */
.biz-box dt {
    font-weight: bold;
    color: #e2a2b1;          /* 差別化ポイント③ 見出し色 */
    margin-bottom: 6px;
}

/* 内容 */
.biz-box dd {
    margin-bottom: 22px;
    font-size: 1rem;
    color: #555;
    line-height: 1.8;
}

/* 最後の dd の余白調整 */
.biz-box dd:last-child {
    margin-bottom: 0;
}

/* スマホ調整 */
@media screen and (max-width: 600px) {
    .biz-title {

        font-size: 1.4rem;
    }

    .biz-box {
        padding: 24px 20px;
    }
		}
		
		
		
					/* 案内文ボックス */
.notice-box {
    max-width: 760px;
    margin: 60px auto 40px auto;
    background: #fff5f7;  /* ほのかなピンクで優しい印象 */
    padding: 28px 32px;
    border-radius: 10px;
    border-left: 4px solid #e2a2b1;  /* business-info とリンクさせつつ、薄めの印象 */
    border-right: 4px solid #e2a2b1;
    text-align: center; /* PCはセンター */
    line-height: 1.9;
    color: #444;
}

/* 強調部分 */
.notice-box strong {
    color: #e2a2b1;
}

/* スマホでは左寄せ */
@media screen and (max-width: 600px) {
    .notice-box {
        text-align: left;
        padding: 20px 18px;
        border-left-width: 3px;
        border-right-width: 3px;
    }
}
		
		/* アクセスボックス全体 */
.access-box {
    max-width: 760px;
    margin: 60px auto;
    padding: 32px 28px;
    background: #ffffff;
    border: 1px solid #e2a2b1;
    border-radius: 12px;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.05);
}

/* タイトル（PCセンター / SP左寄せ） */
.access-title {
    font-size: 1.5rem;
    color: #e2a2b1;
    margin-bottom: 20px;
    text-align: center;
}

/* アクセス内容 */
.access-content {
    margin-top: 10px;
}

/* ラベル */
.access-label {
    font-weight: bold;
    color: #444;
    margin-top: 16px;
    margin-bottom: 4px;
}

/* テキスト */
.access-text {
    font-size: 1rem;
    color: #555;
    line-height: 1.8;
}

/* スマホ（左寄せ） */
@media screen and (max-width: 600px) {
    .access-title {
        text-align: left;
        font-size: 1.3rem;
    }
    .access-box {
        padding: 22px 18px;
    }
}

		/* lead */
		
		
/* lead写真エリアに角だけのフレーム */
.lead-frame {
    position: relative;
}

/* 左上と右下に角線を描く */
.lead-frame::before,
.lead-frame::after {
    content: "";
    position: absolute;
    width: 40px;
    height: 40px;
    border: 1px solid #d9d9d9;
}

/* 左上 */
.lead-frame::before {
    top: 10px;
    left: 10px;
    border-right: none;
    border-bottom: none;
}

/* 右下 */
.lead-frame::after {
    bottom: 10px;
    right: 10px;
    border-left: none;
    border-top: none;
}
@media (max-width: 600px) {
    .lead-frame::before,
    .lead-frame::after {
        width: 28px;
        height: 28px;
    }
}
		
		

#lead{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-top:140px;
}

#lead .lead-img{
     width:46%;
    min-height: 400px;
    background: url("../img/emihamu1.jpg") no-repeat center;
    background-size: cover;
}

#lead .lead-area{
    width:52%;
    display: flex;
    flex-wrap: wrap;
    justify-content:space-around;
    flex-direction: row-reverse;
}

@media screen and (max-width:1060px) {
#lead .lead-img{
     width:30%;
}
#lead .lead-area{
    width:68%;
}
}

@media screen and (max-width:768px) {
#lead{
    flex-direction: column-reverse;
}

#lead .lead-img,
#lead .lead-area{
    width:100%;
} 
    
#lead .lead-img{
    min-height: 250px;
    }
    
#lead .lead-area{
    margin: 0 0 140px 0;
    min-height: 20em;
    justify-content: center;
}
}

#lead .lead-area h2,
#lead .lead-area p,
#lead .lead-area .lead-btn a{
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;    
    text-orientation: upright;
}

#lead .lead-area h2{
    width:28%;
    line-height:2.5;
    font-size:1.4rem;
}

#lead .lead-area p{
     width:48%;   
    padding: 50px 0 0 0;
    line-height: 2.8;
}

#lead .lead-area .lead-btn{
    width:10%; 
    position: relative;
    top: 240px;
}

#lead .btn04{
    padding:20px 15px;
}


@media screen and (max-width:1300px) {
#lead .lead-area h2{
    line-height:2;
}
#lead .lead-area p{
    line-height: 2.3;
}    
}

@media screen and (max-width:768px) {
#lead .lead-area .lead-btn{
    width:100%;
    top: 50px;
    text-align: center;
}
    
    .btn04{
        width:250px;
    }
    
#lead .lead-area h2,
#lead .lead-area p{
    width:auto;
} 
    
#lead .lead-area h2{
    margin:0 0 0 20px;
    line-height: 2.2;
}
    
#lead .lead-area p{
    line-height: 2;
}  
    
#lead .lead-area .lead-btn a{
    -ms-writing-mode: lr-tb;
    -webkit-writing-mode: horizontal-tb;
    writing-mode: horizontal-tb;
}

#lead .btn04{
    padding: 10px 30px;
}
    
}

@media screen and (max-width:470px) {
#lead .lead-area h2{
    line-height: 1.8;
}
#lead .lead-area p{   
    height: 23em;
}
    
_:-ms-lang(x)::-ms-backdrop, #lead .lead-area p{
    width:8em;
}
    
#lead .lead-area p br{
    display: none;
}
}

@media screen and (max-width:350px) {
#lead .lead-area h2{
    line-height: 1.6;
}
#lead .lead-area p {
    line-height: 1.8;
}
}

/* menu */

#menu{
    padding: 70px 0;
}

#menu section{
    background: #fff;
    margin: 0 0 10px 0;
}

#menu section h3{
    font-size: 0.9rem;
    margin: 0 0 10px 0;
}

#menu section p{
    font-size: 0.8rem;
}

#menu .menu-area{
    padding: 20px;
    box-shadow: 5px 0 10px #ccc;
}

#menu .menu-btn{
    text-align: center;
    margin: 50px 0 0 0;
}

		/* contact */
		/* 全体の余白（PDF のように広め） */
.content-area100 {
    background: #f8f8f8;
    padding: 80px 0;
    font-family: "Noto Serif JP", serif;
}

/* 内側のレイアウト（中央寄せ・少し狭め） */
.content-inner100 {
    width: 90%;
    max-width: 900px;
    margin: 0 auto;
}

/* 見出し（縦に読みたくなる余白） */
.content-title100 {
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 2.4;
    color: #333;
    margin-bottom: 40px;
}

/* 本文（柔らかいグレー・余白広め） */
.content-text100 {
    font-size: 1.05rem;
    color: #666;
    line-height: 2.2;
    margin-bottom: 10px;
}

/* 著者ボックス（PDF のように縦配置） */
.content-author100 {
    display: inline-flex;
    flex-direction: column;
    gap: 6px;
    border: 1px solid #ddd;
    padding: 12px 20px;
    width: fit-content;
    background: #fff;
}

.author-label100 {
    font-size: 0.8rem;
    color: #888;
    letter-spacing: 0.1em;
}

.author-name100 {
    font-size: 1rem;
    color: #333;
}
		
		

/* スマホ最適化 */
		@media screen and (max-width: 600px) {
			    .content-inner100 {
        width: 97%; /* 全体を少し狭める */
    }
    .content-title100 {
        font-size: 1.4rem;
        line-height: 2.2;
    }

    .content-text100 {
        font-size: 0.95rem;
        line-height: 2;
    }
}
		
		
		
		

#contact{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    flex-direction: row-reverse;
}

#contact .contact-img{
    width:70%;
    min-height: 300px;
    background:url("../img/blog_04.jpg") no-repeat center;
    background-size: cover;
}

#contact .contact-area{
    width:25%;
    
		}
		

@media screen and (max-width:1190px) {
#contact .contact-img{
    width:60%;
    }
#contact .contact-area{
    width:35%;
    }
}

@media screen and (max-width:768px) {
#contact .contact-img{
    width:48%;
    }
#contact .contact-area{
    width:48%;
    }
}

@media screen and (max-width:600px) {
#contact .contact-img,
#contact .contact-area{
    width:100%;
    }
#contact .contact-img{
        margin:0 0 50px 0;
}
}

#contact .contact-area h2{
     font-size:1.3rem;   
    margin:0 0 10px 0;
}

#contact .contact-area dt{
     font-size:1.2rem;   
    margin:0 0 10px 0;
}

#contact .contact-area dd{
    font-size: 0.8rem;
    margin:0 0 30px 0;
}

/* blog */

#blog{
    margin:0 0 50px 0;
}
.blog-area{
    display: flex;
    justify-content: space-between;
    text-align: center;
    flex-wrap: wrap;
    overflow: hidden;
}

.blog-area article:nth-of-type(1){ 
    width:30%;
}

.blog-area .blog-block{
    width:68%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.blog-area .blog-block article{
     margin:0 0 3vh 0;   
}

.blog-area .blog-block article:nth-of-type(1){ 
    width:42%;
    animation-delay: 0.5s;
}
.blog-area .blog-block article:nth-of-type(2){ 
    width:20%;
    animation-delay: 1.5s;
}
.blog-area .blog-block article:nth-of-type(3){
    width:32%;
    animation-delay: 1s;
}

.blog-area .blog-block article:nth-of-type(4){ 
    width:32%;
    animation-delay: .8s;
}
.blog-area .blog-block article:nth-of-type(5){
    width:20%; 
    animation-delay: 1.8s;
}
.blog-area .blog-block article:nth-of-type(6){
    width:42%;
    animation-delay: 1.5s;
}

@media screen and (max-width:1300px) {
    .blog-area .blog-block article:nth-of-type(n+1){ 
        width:48%;
    }
}

@media screen and (max-width:820px) {
    .blog-area article:nth-of-type(1){
        width:50%;
        margin:0 auto 3vh auto;
    }

    .blog-area .blog-block article:nth-of-type(1){
         margin: 0 0 3vh 0;
    }

    .blog-area .blog-block{
            width:100%;
    }
}

@media screen and (max-width:768px){
    .blog-area .blog-block article:nth-of-type(n+1){ 
        animation-delay: .5s;
    }

    .blog-area article:nth-of-type(1){
        width:100%;
    }
}

@media screen and (max-width:450px){
.blog-area .blog-block article:nth-of-type(n+1) {
    width:100%;
    animation-delay: 0s!important;
    }
}


.blog-area h3{
    font-size:1rem;
    margin: 0 0 20px 0;
}

@media screen and (max-width:450px){

  .blog-area h3{
    font-size:0.9rem;
}
    
  .blog-area p{
  display: none;
    }
}

.blog-area time{
     font-size: 0.8rem;   
}

.blog-area img{
    width: auto;
    height:32vh;   
}

.blog-area article:nth-of-type(1) img{
    height:67vh;
}
  
.blog-area .blog-block article:nth-of-type(1) img{
    height:32vh;   
}


@media screen and (max-width:820px) {
.blog-area article:nth-of-type(1) img{
    width:100%;
    height:auto;
} 
.blog-area .blog-block article:nth-of-type(1) img{
    width:auto;
    height:32vh;
    }
}
  
@media screen and (max-width:450px){
.blog-area img,
.blog-area .blog-block article:nth-of-type(1) img{
    width:100%;
    height:auto;
}
}

.blog-area figure time{
    position: absolute;
    bottom:0;
    left:0;
    background:rgba(226,162,178,0.8);
    display: block;
    width:100%;
    padding: 10px;
    color: #fff;
}

.blog-area p{
     margin:0 0 20px 0; 
    text-align: left;
    font-size: 0.9rem;
}

.blog-area span{
     border:1px solid rgba(255,255,255,0.7);
    display: inline-block;
    padding:5px 10px;
    text-align: center;
    font-size: 0.8rem;
    white-space: nowrap;
}
		
		
		/* history */
		/* ------------------------------
   HISTORY（経歴）
------------------------------ */

#history {
    position: relative;
    padding: 0 70px;
    margin: 0 0 100px 0;
}

#history h2 {
    position: absolute;
    right: 45%;
    top: 0;
    z-index: 2;
}

.history-area {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.history-img {
    background: url("../img/pict_02.jpg") no-repeat center;
    background-size: cover;
    height: 50vh;
    width: 48%;
}

.history-content {
    width: 45%;
    padding: 150px 0 0 0;
}

/* スマホ表示 */
@media screen and (max-width:768px) {
    #history {
        padding: 0 30px;
    }

    #history h2 {
        position: relative;
        right: auto;
        top: 40px;
        margin-bottom: 30px;
    }

    .history-img,
    .history-content {
        width: 100%;
    }

    .history-content {
        padding: 40px 0 0 0;
    }
}

		/* font-family */

.heading{
     font-family: "Noto Serif JP", serif;
    font-size: 3vw;
    font-weight: normal;
        color: #e2a2b1;
    animation-delay: 0.3s;
}

@media screen and (max-width:960px) {
.heading{
    font-size:2.5rem;
}
}
		
		
					/* ===========================
    提供サービス セクション
=========================== */
		/* PC（標準）では中央揃え */
.service-title,
.service-subtitle,
.service-lead {
    text-align: center;
}

/* スマホでは左揃え */
@media screen and (max-width: 768px) {
    .service-title,
    .service-subtitle,
    .service-lead {
        text-align: left;
    }
}
		
		
.service-section {
        background: #ede8e8;
    padding: 80px 0;
    font-family: "Noto Serif JP", serif;
}

.service-inner {
    width: 90%;
    max-width: 900px;
    margin: 0 auto;
}

/* タイトル */
.service-title {
    font-size: 2rem;
    color: #e2a2b1;
    margin-bottom: 30px;
}

/* サブタイトル */
.service-subtitle {
    font-size: 1.4rem;
    margin-bottom: 5px;
    color: #333;
}

.service-lead {
    font-size: 1rem;
    margin-bottom: 40px;
    color: #666;
}

/* 各ブロック */
.service-block {
    background: #fff;
    border: 1px solid #eee;
    padding: 25px 30px;
    border-radius: 12px;
    margin-bottom: 30px;
    position: relative;
}

/* アイコン */
.service-icon {
    font-size: 1.8rem;
    position: absolute;
    top: -10px;
    left: -10px;
}

/* セクション見出し */
.service-heading {
    font-size: 1.2rem;
    font-weight: bold;
    margin-bottom: 15px;
    color: #444;
    padding-left: 35px;
}

/* リスト */
.service-list {
    list-style: none;
    padding-left: 0;
}

.service-list li {
    margin-bottom: 10px;
    line-height: 1.8;
    padding-left: 1.6em;
    position: relative;
    color: #555;
}

.service-list li::before {
    content: "●";
    color: #e2a2b1;
    font-size: 0.6rem;
    position: absolute;
    left: 0;
    top: 0.7em;
}

/* スマホ最適化 */
@media screen and (max-width: 600px) {
    .service-title {
        font-size: 1.6rem;
    }
    .service-heading {
        font-size: 1.1rem;
    }
    .service-block {
        padding: 20px;
    }
    .service-icon {
        font-size: 1.6rem;
        top: -8px;
        left: -8px;
    }
}
		
		/* 全体 */
		
		/* PC（標準）では中央揃え */
.case-title,
.case-message {
    text-align: center;
}

/* スマホでは左揃え + 少し余白 */
@media screen and (max-width: 768px) {

    .case-title,
    .case-message {
        text-align: left;
        padding: 0 10px;
    }
}

.case-section {
    padding: 80px 5%;
    background: #faf8f7;
    font-family: "Noto Serif JP", serif;
}

/* タイトル */
.case-title {
    font-size: 1.8rem;
    color: #e2a2b1; /* ←変更 */
    margin-bottom: 60px;
    line-height: 1.8;
}

/* グリッド */
.case-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}

@media screen and (max-width: 900px) {
    .case-grid {
        grid-template-columns: 1fr;
    }
}

/* カード */
.case-card {
    background: #ffffff;
    border: 1px solid #e2a2b1; /* ←変更 */
    border-radius: 8px;
    padding: 25px 30px;
    box-shadow: 0px 4px 12px rgba(0,0,0,0.05);
}

/* 見出し */
.case-head {
    font-size: 1.15rem;
    color: #e2a2b1; /* ←変更 */
    margin-bottom: 15px;
    line-height: 1.7;
}

/* 小見出し */
.case-sub {
    font-size: 1rem;
    margin: 10px 0;
    color: #555;
}

/* リスト */
.case-card ul li {
    padding-left: 1em;
    margin-bottom: 8px;
    line-height: 1.8;
}

/* メッセージ部分 */
.case-message {
    margin: 60px auto 40px;
    color: #555; /* ←変更 */
    font-size: 1.1rem;
    line-height: 2;
}

/* ボタン */
.case-btn-wrap {
    text-align: center;
}

.case-btn {
    display: inline-block;
    padding: 12px 40px;
    border: 1px solid #e2a2b1; /* ←変更 */
    color: #e2a2b1; /* ←変更 */
    border-radius: 6px;
    text-decoration: none;
    transition: 0.3s;
}

.case-btn:hover {
    background: #e2a2b1; /* ←変更 */
    color: #fff;
}


		
		/* contact */

#contact1{
    background:url("../img/blog_04.jpg") no-repeat center;
    background-size: cover;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
	padding: 100px 30px;
		text-align: center;
}

#contact1 h2{
    font-size: 2rem;  
    position: relative;
    margin: 0 0 50px 0;
}

#contact1 .contact-detail br{
    display: none;
}

@media screen and (max-width:1090px) {
#contact1 h2{
    font-size:1.5rem;  
}  
}
@media screen and (max-width:600px) {
#contact1 .contact-detail h2 br{
    display: block;
}
}

#contact1 h2::after{
    content: "";
    background:#fff;
    width:15%;
    height: 5px;
    position: absolute;
    left:40%;
    bottom: -20px;
}

#contact1 p{
    text-align: center;
    margin: 0 0 50px 0;
}

@media screen and (max-width:400px) {
#contact1 .contact-detail h2{
    font-size: 1.3rem;
}
#contact1 .contact-detail p br{
    display: block;
}
}
    
#contact1 ul{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

#contact1 ul li{
     padding: 0 20px 20px 0;   
}
	
    
    .btn-wrap {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  justify-content: center;
}

/* 共通ボタン */
.line-btn, .mail-btn {
  display: flex;
  align-items: center;       /* アイコンとテキストを横並び中央 */
  justify-content: center;   /* コンテンツ全体を横中央 */
  padding: 15px 25px;
  border-radius: 50px;
  text-decoration: none;
  font-weight: bold;
  font-size: 16px;
  min-width: 280px;
  transition: 0.3s;
  text-align: center;        /* テキストを中央寄せ */
}

/* アイコン */
.line-btn i, .mail-btn i {
  font-size: 28px;
  margin-right: 12px;
  flex-shrink: 0;
}

/* テキスト部分（縦横中央） */
.line-text {
  display: flex;
  flex-direction: column;
  justify-content: center;  /* 縦方向中央 */
  align-items: center;      /* 横方向中央 */
  line-height: 1.4;
  text-align: center;
}

.line-text strong {
  font-size: 16px;
}

.line-text span {
  font-size: 13px;
  font-weight: normal;
  opacity: 0.9;
}

/* LINEボタン */
.line-btn {
  border: 2px solid #06c755;
  background: rgba(6, 199, 85, 0.6); /* 60%透過 */
  color: #fff;
}

.line-btn:hover {
  background: #06c755;
}

/* メールボタン */
.mail-btn {
  border: 2px solid #f2a65a;
  background: rgba(242, 166, 90, 0.6); /* 60%透過 */
  color: #fff;
}

.mail-btn:hover {
  background: #f2a65a;
  border-color: #f2a65a;
}


/* 全体 */
.privacy-section {
    max-width: 900px;
    margin: 0 auto;
    padding: 60px 20px;
    font-family: "Noto Serif JP", serif;
    line-height: 1.9;
    color: #444;
}

/* タイトル */
.privacy-title {
    font-size: 1.8rem;
    text-align: center;
    margin-bottom: 40px;
    letter-spacing: 0.1em;
}

/* リード文 */
.privacy-lead {
    margin-bottom: 40px;
    text-align: left;
}

/* 各ブロック */
.privacy-block {
    border-left: 3px solid #e2a2b1;
    padding: 20px 20px 20px 25px;
    margin-bottom: 40px;
    background: #fff;
    border-radius: 4px;
}

/* 見出し */
.privacy-block h2 {
    font-size: 1.2rem;
    margin-bottom: 12px;
    color: #c06c84;
    font-weight: 600;
}

/* リスト */
.privacy-block ul {
    padding-left: 1.2em;
}

.privacy-block ul li {
    margin-bottom: 6px;
}

/* お問い合わせ（画像） */
.privacy-contact {
    margin: 20px 0;
}

.privacy-contact img {
    width: 100%;
    max-width: 420px;
}

/* 日付 */
.policy-date {
    margin-top: 20px;
    font-size: 0.9rem;
    color: #777;
}

/* スマホ対応 */
@media (max-width: 768px) {
    .privacy-title {
        font-size: 1.6rem;
    }
    .privacy-block {
        padding: 18px;
    }
}
		
		/* 特商法セクション全体 */
.law-section {
    max-width: 900px;
    margin: 0 auto;
    padding: 60px 20px;
    font-family: "Noto Serif JP", serif;
    line-height: 1.9;
    color: #444;
}

/* タイトル */
.law-title {
    font-size: 1.8rem;
    text-align: center;
    margin-bottom: 50px;
    letter-spacing: 0.1em;
    color: #222;
}

/* 定義リスト */
.law-list dt {
    font-weight: bold;
    color: #c06c84;
    margin-top: 25px;
    border-left: 3px solid #e2a2b1;
    padding-left: 10px;
    font-size: 1.1rem;
}

.law-list dd {
    margin: 8px 0 20px 0;
    padding-left: 15px;
}

/* スマホ対応 */
@media (max-width: 768px) {
    .law-title {
        font-size: 1.6rem;
    }
    .law-list dt {
        margin-top: 22px;
    }
}
		
/* 全体 */
.flow-section {
    max-width: 750px;
    margin: 0 auto;
    padding: 60px 20px;
}

.flow-title {
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-size: 1.8rem;
    margin-bottom: 20px;
    line-height: 1.6;
}

.flow-lead,
.flow-note {
    text-align: center;
    color: #555;
    margin-bottom: 25px;
    line-height: 1.8;
    font-size: 0.95rem;
}

/* ▼ 新しい「細い枠のボックス」 */
.flow-box {
    border: 1px solid #e2a2b1;
    padding: 20px 18px;
    border-radius: 8px;
    background: #fff;
    margin: 25px 0;
}

/* STEP 内部 */
.flow-step {
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.step-number {
    font-size: 1.6rem;
    font-weight: bold;
    color: #e2a2b1;
    flex-shrink: 0;
}

.step-text {
    font-size: 1rem;
    line-height: 1.8;
}

/* ▼ CSSだけで作る縦矢印 */
.arrow-line {
    width: 2px;
    height: 55px;
    background-color: #e2a2b1;
    margin: 0 auto;
    position: relative;
    animation: arrowMove 1.6s infinite ease-in-out;
}

/* 三角部分 */
.arrow-line::after {
    content: "";
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 8px solid #e2a2b1;
}

/* アニメーション */
@keyframes arrowMove {
    0% { transform: translateY(-3px); opacity: .7; }
    50% { transform: translateY(3px); opacity: 1; }
    100% { transform: translateY(-3px); opacity: .7; }
}

/* スマホ時 左寄せ */
@media screen and (max-width: 768px) {
    .flow-section {
        padding: 40px 15px;
    }

    .flow-title,
    .flow-lead,
    .flow-note {
        text-align: left;
    }
}
		

/* 営業情報の枠ボックス */
.footer-business-box {
    border: 1px solid #e2a2b1;
    padding: 20px 25px;
    margin: 40px 0 30px;
    max-width: 460px; /* PCで横に広がりすぎないように */
    text-align: left;
    color: #666;
    line-height: 1.8;
    background: rgba(255, 255, 255, 0.5);
}

/* 見出し */
.footer-business-box .biz-title {
    font-family: "Noto Serif JP", serif;
    font-size: 1rem;
			letter-spacing: 0.05em;
			text-align: left;
    margin-bottom: 6px 
}

/* テキスト部分 */
.footer-business-box .biz-text {
    font-size: 0.9rem;
    margin-bottom: 16px;
}

.footer-business-box .mt {
    margin-top: 18px;
}

/* スマホでは横幅いっぱいにして中央寄せ */
@media screen and (max-width: 768px) {
    .footer-business-box {
        margin: 5px auto;
        max-width: 99%;
    }
}

		
/* footer */

#footer{
    border-top: 1px solid #ccc;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
			justify-content: space-between;
			    font-family: "Noto Serif JP", serif;
}

#footer dl{
     width:30%;   
}

#footer dl dt{
    font-size: 1rem;
}

#footer dl dd{
    font-size: 1rem;
}

@media screen and (max-width:900px) {
    #footer dl{
        margin: 50px 0;
    }
}

@media screen and (max-width:768px) {

#footer dl dd{
    font-size: 1.2rem;
}
    
}

#footer .footer-list{
     width:65%; 
    text-align: right;
}

#footer ul li{
    display: inline-block;
    padding: 0 10px;
    font-size: 0.8rem;
    line-height: 3;
}

#footer small{
    text-align: right;
    margin: 20px 0 0 0;
    display: block;
    width: 100%;
    font-size: 0.7rem;
}

#footer #page-top span{
    display: inline-block;
  width: 13px;
  height: 13px;
  border-top: 4px solid #fff;
  border-left: 4px solid #fff;
  transform: rotate(45deg);
}


@media screen and (max-width:900px){
#footer dl,
#footer .footer-list,
#footer small{
    width:100%;
    text-align: center;
}
    
}
