/* -----------------------------------『共通設定』-----------------------------------*/
*{
    /*HTML要素のデフォルトのマージンやパディングをリセット*/
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
/* スムーズなスクロールを有効にする */
html {
    scroll-behavior: smooth;
  }

body {background: #FFD699;
    font-family: "Noto Sans JP", sans-serif;}
header {background: #FF8CFA;}




#contact_button{
    transition: transform 0.2s;
}


#contact_button:hover {
    transform: scale(1.05);
  }



#fixedbox{background: #FF55C5;
    position: fixed;
    width: 100%;

    bottom: 0px; /* 適宜調整してください */
    z-index: 998;
    }
main{    letter-spacing: 2px; /* ボタンの文字間を4pxに設定 */}

footer {
    margin-top: 20px;
    height: 400px; /* 適切な高さを設定 */
    position: relative;
    padding-bottom: 0;
    margin-bottom: 0;
    background-image: url('data:image/svg+xml;charset=utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 60"%3E%3Ccircle cx="50" cy="80" r="60" fill="%23FF8CFA" /%3E%3C/svg%3E');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center; /* 左右位置を中央揃えにする */
    width: 100%;
    
  }



  .foot {
    /* background: #e0d7d7; */
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.foot .aitem {
    vertical-align: top; /* 上揃えにするための設定 */
    /* background: #333030; */
    width: 10%;
    min-width: 100px;
    margin-right: 0px; /* 適切な間隔を設定してください */
    margin-bottom: 5px;
    display: flex;
    flex-direction: column;
    align-items: center; /* 中央寄せ */
    

}

.foot .aitem ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.foot .aitem li {

    margin-bottom: 3px; /* 適切な間隔を設定してください */
    font-size: 11px;
    margin-bottom: 2px;
    text-align: center; 
}
.foot li a{

    text-decoration: none; /* リンクのアンダーバーをなくす */
}
.foot .cont{
    font-weight: bold;
    font-size: 14px;
    margin-bottom: 2px;
}












footer .container .content{
    padding-bottom: 0;
}








p {
    text-indent: 0.8em; /* テキストの先頭に1emのスペースを追加 */
}
b{color: #56514f;}
/*フォントカラー*/
.t_red{color:rgb(230, 0, 0);}
.t_pink {
    color: #FF55C5;
  }

  .t_orange {
    color: orange;
  }
.t_blue{color:rgb(50, 50, 200);}
.t_gray{color:rgb(110, 100, 100);}
.t_white{color:rgb(255, 255, 255);}
/*フォント配置*/
.t_center{text-align: center;}
.t_right{text-align: right;}
.orange_line{

    padding: 1px 5px; /* 枠とテキストの間に少しスペースを設ける */
    background-color: orange;
    /* color: white; */
    

}

/* スライドイン設定*/
.openbtn {
    opacity: 0;
    transform: translate(0,0);
    transition: all 1.0s;
}
.fadein {
    opacity: 0;
    transform: translate(0,0);
    transition: all 1.0s;
}
  .fadein-left{
      transform: translate(-30px,0);
  }
  .fadein-right{
      transform: translate(100px,0);
  }
  .fadein-up{
      transform: translate(0,-30px);
  }
  .fadein-bottom{
      transform: translate(0,30px);
  }
  .scrollin{
    opacity: 1 !important;
    transform: translate(0, 0) !important;
  }





/* -----------------------------------『PC中用設定』-----------------------------------*/
@media(min-width: 600px){
    .banner_article{
        display: flex;
        justify-content: center;
    }
    .banner_article img{
        justify-content: center;
        padding:10px;
        width:200px;
        height:100px;
    }

    /*-------------- ヘッダー設定 --------------*/
    header {height: 140px;
        box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2); }
    header .container .content{
    width : 95%;
    /* background: #FF8CFA; */
    display: flex;
    align-items: center;
    justify-content: flex-start;
    }
    header a {
        text-decoration: none;
        color: inherit;
        cursor: pointer;
        transition: color 0.2s; /* カラー変化のトランジション効果を追加 */
      }
      
      header a:hover {
        color: white; /* ポインタが上にあるときの色を白に設定 */
      }

    header .container .content .img{
    background-image: url('zoom_rogo_mini.png');
    background-size: cover;
    width:min(250px,18vw);
    height:min(120px,8.5vw);
    border-radius: 5px;
    }

    .header_menu_box{
        width : 100%;
        /* background: #FF8CFA; */
        display: flex;
        align-items:end;
        justify-content: space-around;
        flex-wrap: wrap;

        }
  
    header .header_menu{
    width : 33%;
    text-align: center;
    font-size: min(30px,3vw);
    line-height: 1.3; /* 1.5倍の行の高さ */
 
    user-select: none;
    white-space: nowrap;
    }
    header .header_menu span{
        font-weight: 800; /* 800はより強いフォントウェイトを表します */
    
    } 
 /*--------------お問い合わせ --------------*/
    #fixedbox{background: #FF55C5;
        height:80px;
        /* width: 300px; */
        margin-right: 0;
        display: flex;
        justify-content: flex-end;
        
        }

    .contact_menu_box{
        /* background: #5b4e56; */
        display: flex;
        justify-content: flex-end;
        flex-direction: row-reverse; /* 子要素を逆に並べる */
    }

    #contact_button{
        width:200px;
        margin-right: 30px;
    }


/* PCサイズ 画面枠 基本100%でだが、580px以下にはならない*/
.container{
    width:max(580px,100%);
    height: 100%;
    /*子要素を中央寄せ*/
    display: grid;
    place-items: center;
    /* background: #000000; */
    }
/* PCサイズ コンテンツ枠 基本画面比90%だが、900以上にはならない*/
.container .content{
    width:min(90vw,1200px);
    padding: 8px;
    /* background: #000000; */
    }



/* PCサイズ フォントの設定 */
h1 {font-size: 56px; color: 
    #FF55C5;
    text-shadow: -2px -2px 0 #fff, 2px -2px 0 #fff, -2px 2px 0 #fff, 2px 2px 0 #fff;
    margin-right: 40px;
    user-select: none;
}
h2 {font-size:48px;user-select: none;
    text-align: center; /* テキストを中央寄せにする */
    color: #FF55C5;

    font-weight: bolder;
    margin-bottom: 30px;}
h3 {font-size: 40px;user-select: none;}
h4 {font-size: 32px;user-select: none;}
h5 {font-size: 24px;user-select: none;}
p {font-size: 20px;}
.t_large{font-size: 20px;
    font-weight: bold;
    color: #56514f;}
    .t_large_pink{font-size: 25px;
        font-weight: bold;
        color: #FF55C5;}
.t_small{font-size: 14px;  letter-spacing: 3px; /* 字間を2ピクセルに設定 */}

/* PCサイズ コンテンツタイトルと説明  */
.summary{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-top: 30px;
    margin-bottom: 30px;
}
.summary DIV{
    vertical-align: bottom;
}


/* PCサイズ テーブル基本設定 */
table{width: 100%;margin-top: 10px;margin-bottom: 10px;
    border-collapse: collapse;}
th,td{padding: 20px;border: 2px solid #FFD699;}
th{background: #FF8CFA;color: #fff;  white-space: nowrap;}/* 字を折り返させない */
td{background: #ffffff;}
td div{margin: 8px;}
    
/* PCサイズ チェックボックスラベル基本設定 */
label{
    padding-right: 24px;
}


button {/* PCサイズ ボタン基本設定 */
    display: block; /* ボタンをブロックレベル要素にする */
    width: 200px; /* ボタンの横幅を設定 */
    height: 50px; /* ボタンの高さを設定 */
    margin: 0 auto; /* ボタンを水平方向にセンタリングする */
    margin-top: 10px;
    margin-bottom: 30px;
    font-size: 30px;
  }






.article{/* 記事 */
 display: flex;
 justify-content: start;   
}
/* 記事用画像 */
.article.photo_area div.square_img{/* 正四角形 */
    margin: 10px;

}
.horizontal_img{/* 横長画像 */
    width: 250px;
    height: 200px;

    margin: 10px;


}
.article.photo_area div.vertical_img{/* 縦長画像 */
    margin: 10px;

}

.txt_area{/* 記事 */
    padding: 30px;
   }





}





/* -----------------------------------『スマホ用設定』-----------------------------------*/
  @media(max-width: 600px){

    .banner_article{
        display: flex;
        justify-content: space-around;
    }
    .banner_article img{
        padding:10px;
        width:160px;
        height:80px;
    }    

    /*-------------- ヘッダー設定 --------------*/
    header {height: 240px;
        box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2); }

    header .container{
        display: flex;
        justify-content: center;}
    header .container .content{
    width : 340px;
    /* background: #FF8CFA; */



    }
    header .container .img{
    background-image: url('zoom_rogo_long.jpg');
    margin: 10px 0px;
    background-size: cover;
    width: 325px;
    height:60px;
    border-radius: 5px;

    }
    header .header_menu_box{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        
        }
    header .header_menu{
    text-align: center;
    /* background: #000000; */
    font-size: 0px;
    margin-top: 5px;
    margin:2px;
    padding: 0px;

    }
    .header_menu p.t_small{
        text-indent: 0; /* 文頭の隙間（半角スペース）をなくす */
        font-size: 11px;

    }

    header .header_menu small{
    font-size: 11px;
    vertical-align: bottom; /* テキストを下ぞろえにする */
    } 
    header .header_menu span{
    display: none; /* 文字の色を透明にする（非表示にする） */
    } 
    #photo{
    background-image: url('photo.png?3'); /* 画像のパス */
    background-size: contain; /* 背景画像をdiv要素に収める */
    background-repeat: no-repeat; /* 背景画像を繰り返し表示しない */

    width:100px;
    height: 45px;
    } 
    #price{
    background-image: url('price.png?3'); /* 画像のパス */
    background-size: contain; /* 背景画像をdiv要素に収める */
    background-repeat: no-repeat; /* 背景画像を繰り返し表示しない */
    width:100px;
    height: 45px;
    } 
    #about_zoom{
    background-image: url('about_zoom.png?3'); /* 画像のパス */
    background-size: contain; /* 背景画像をdiv要素に収める */
    background-repeat: no-repeat; /* 背景画像を繰り返し表示しない */
    width:100px;
    height: 45px;
    }      
    #QandA{
    background-image: url('QandA.png?4'); /* 画像のパス */
    background-size: contain; /* 背景画像をdiv要素に収める */
    background-repeat: no-repeat; /* 背景画像を繰り返し表示しない */
    width:100px;
    height:45px;
    }
    #map{
    background-image: url('map.png?3'); /* 画像のパス */
    background-size: contain; /* 背景画像をdiv要素に収める */
    background-repeat: no-repeat; /* 背景画像を繰り返し表示しない */

    width:100px;
    height:45px;
    } 
    #english{
    background-image: url('english.png?3'); /* 画像のパス */
    background-size: contain; /* 背景画像をdiv要素に収める */
    background-repeat: no-repeat; /* 背景画像を繰り返し表示しない */
    width: 100px;
    height:45px;
}       


#fixedbox{background: #FF55C5;
    height:120px;
    }
 /*-------------- メイン設定 --------------*/

/*基本100%で最小値360px*/
.container{
    width:100%;
    height: 100%;
    /*子要素を中央寄せ*/
    /* display: grid;
    place-items: center;     */
    }

  .container .content{
    margin: 0 auto;
    width : 95%;
    padding: 8px;
    margin-bottom: 20px;
    padding-bottom: 70px;
    /* background: #ffffff; */
    height: auto; /* 自動高さ調整 */

    
    }

    /* スマホフォントサイズの設定 */
    h1 {font-size: 28px;user-select: none;
        color:#FF55C5;
        text-shadow: -2px -2px 0 #fff, 2px -2px 0 #fff, -2px 2px 0 #fff, 2px 2px 0 #fff;
        user-select: none;
        margin-bottom: 10px;
        }



    h2 {font-size: 24px;user-select: none;
        color: #FF55C5;

        font-weight: bold;
        margin-bottom: 10px;}
    h3 {font-size: 20px;font-weight: bolder;}
    h4 {font-size: 20px;}
    h5 {font-size: 16px;font-weight: bolder;}
    p {font-size: 15px;}
    .t_large{font-size: 20px;
        color: #56514f;}
        .t_large_pink{font-size: 20px;
            font-weight: bold;
            color: #FF55C5;}

            .t_large_red{font-size: 20px;
                font-weight: bold;
                color: #FF0000;}
    .t_small{font-size: 12px;}
    


/* スマホサイズ テーブル基本設定 */
table{width: 100%;border-collapse: collapse;}
th,td{border: 2px solid #FFD699;padding: 16px;}
th{background: #FF8CFA;color: #fff;  white-space: nowrap; display: block;}/* 字を折り返させない */
td{background: #ffffff; display: block;}


/* スマホサイズ コンテンツ説明基本設定 */
.summary{
    margin-bottom: 30px;

}

/* スマホサイズ チェックボックスラベル基本設定 */
label{
    padding-right: 1em;
}
button {/* スマホサイズ ボタン基本設定 */
    display: block; /* ボタンをブロックレベル要素にする */
    width: 200px; /* ボタンの横幅を設定 */
    height: 50px; /* ボタンの高さを設定 */
    margin: 0 auto; /* ボタンを水平方向にセンタリングする */
    margin-top: 10px;
    margin-bottom: 30px;
    font-size: 20px;
  }







  .article{/* 記事 */
    display: flex;
    justify-content: center;  
    /* background: #ffffff; */

   }
   /* 記事用画像 */
   .article.photo_area div.square_img{/* 正四角形 */
       margin: 10px;
   
   }
   .horizontal_img{/* 横長画像 */
       width: 250px;
       height: 200px;
   
       margin: 10px;
   
   
   }
   .article.photo_area div.vertical_img{/* 縦長画像 */
       margin: 10px;
   
   }
   
   .txt_area{/* 記事 */
      }
   





 /*-------------- ﾌｯﾀｰ設定 --------------*/

 footer {
    margin-top: 20px;
    height:590px; /* 適切な高さを設定 */
    position: relative;
    padding-bottom: 0;
    margin-bottom: 0;
    background-image: url('data:image/svg+xml;charset=utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 60"%3E%3Ccircle cx="50" cy="80" r="60" fill="%23FF8CFA" /%3E%3C/svg%3E');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center; /* 左右位置を中央揃えにする */
    width: 100%;
    
  }
      .contact_menu_box img{
        width:200px;
  }
   
   }


/* -----------------------------------『スマホ用設定』ここまで-----------------------------------*/



/*-------------- レスポンシブ設定 --------------*/
.noPc {
	display:none;
}
/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
@media only screen and (max-width : 768px)  {
.noPc {
	display: block;
}
.noSp {
	display: none !important;
}
br.sp {
	display:inline;
}
}



 /*-------------- お問合わせフォーム設定 --------------*/

.wpcf7-form {
	margin: 0 auto 80px auto;
}
.wpcf7-form input,
.wpcf7-form select,
.wpcf7-form textarea {
		font-size: 20px;
		border-radius: 3px 3px 3px 3px;
		border: 1px solid #bbb;
		width: 100%;
		padding: 0.3em;
}
.wpcf7-form textarea {
	width: 100%;
}
.wpcf7-form .btnBox {
	display: flex;
	justify-content: center;
	margin: 1em auto;
}
.wpcf7-form .btnBox .btn {
	text-align: center;
	margin: 0 1em;
}
.wpcf7-form .btnBox .btn > input[type="submit"],
.wpcf7-form .btnBox .btn > input[type="button"] {
	cursor: pointer;
	display: inline-block;
	width: 250px;
	height: 54px;
	text-align: center;
	text-decoration: none;
	line-height: 54px;
	outline: none;
	background-color: rgb(52, 152, 219);
	color: #fff;
	border-radius: 5px;
	border: none;
	font-size: 18px;
}
.wpcf7-form .btnBox .btn > input[type="submit"]::before,
.wpcf7-form .btnBox .btn > input[type="submit"]::after,
.wpcf7-form .btnBox .btn > input[type="button"]::before,
.wpcf7-form .btnBox .btn > input[type="button"]::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.wpcf7-form .btnBox .btn > input[type="submit"]:hover,
.wpcf7-form .btnBox .btn > input[type="button"]:hover {
	background-color: rgb(22, 122, 189);
}
.wpcf7-form .btnBox .btn > input[type="submit"],
.wpcf7-form .btnBox .btn > input[type="submit"]::before,
.wpcf7-form .btnBox .btn > input[type="submit"]::after,
.wpcf7-form .btnBox .btn > input[type="button"],
.wpcf7-form .btnBox .btn > input[type="button"]::before,
.wpcf7-form .btnBox .btn > input[type="button"]::after{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
	line-height: 0;
}

.wpcf7-form .checkArea {
	text-align: center;
	margin: 0 auto 40px auto;
}
.wpcf7-form .checkArea p {
	font-size: 17px;
	text-indent: 0;
}
.wpcf7-form .checkArea p input[type="checkbox"] {
 	display: block;
	width: 25px;
	height: 25px;
	margin: 20px auto 0 auto;
 }

.wpcf7-form .wpcf7-spinner {
    display: block;
}