/* リセットCSS */
body, h1, h2, h3, p, ul, li {
    margin: 0;
    padding: 0;
}b

/* 全体のスタイル */
@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP');
body {
    font-family: "Yu Gothic";
    -webkit-font-smoothing: antialiased;
}

/* 段落の改行幅や隙間の設定 */
p {
    font-family: "Yu Gothic";
    -webkit-font-smoothing: antialiased;
    line-height: 1.5;
  }
p::first-letter {
    margin-left: 0.5em; 
  }

  .intro{/* イントロのロゴの大きさ */
    width: 300px;
}


h1 {
    font-size: 50px;
    color: #908c8c;
    margin-bottom: 15px;
    font-weight: 700;
    text-align: center;
    font-family: "Yu Gothic";
    -webkit-font-smoothing: antialiased;
}

h2 {
    font-size: 20px;
    font-weight: normal;
    font-family: "Yu Gothic";
    -webkit-font-smoothing: antialiased;
}
h3 {
    font-size: 13px;
    font-weight: normal;
    font-family: "Yu Gothic";
    -webkit-font-smoothing: antialiased;
}
h4 {
    font-size: 10px;
    font-weight: normal;
    color: #ffffff;
    margin-top: 0px;
    font-family: "Yu Gothic";
    -webkit-font-smoothing: antialiased;
}

hr{
    width: 0px;
    margin-top: 100px;
    margin-bottom: 100px;
}

.heading{
    width: 80px;
    border-color: #770000;
    border-style: solid;
    border-radius: 5px;
    border-width: 4px; /* 3ピクセル */
    margin-top: 50px;
    margin-bottom: 70px;
}

.error{
    color: #ff0000;
}

/* ボタンのスタイル */
.custom-submit-button {
    display: block;
    width: 400px;
    margin: 0 auto;
    padding: 10px 20px;
    font-size: 16px;
    background-color: #337ab7;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
  }
  
  /* ボタンのホバー時のスタイル */
  .custom-submit-button:hover {
    background-color: #23527c;
  }
  
  /* ボタンのアクティブ時のスタイル */
  .custom-submit-button:active {
    background-color: #1e496e;
  }








/* ===========================ヘッダー==========================*/
    header {
        background-image: linear-gradient(to right, rgba(84, 75, 76, 0.8), rgba(115, 101, 103, 0.8));
        z-index: 9999;/* 最上面に表示 */
        backdrop-filter: blur(10px);/* ぼかす */
        min-width: 900px;
        width: 100%;
        display: flex;
        height: 60px; /* 縦幅を指定 */
        position: fixed;/* 固定 */

        padding: 10px;
    }

        /* headerの左 */
        header #left {
            width:140px;
            padding: 10px;
            padding-bottom: 0px;
            text-align: center;
            vertical-align: super;

        } 

        .rogo{
            width: 100px;
        }
    
        /* headerの右 */
        header #right {
            display: grid;
            place-items: center; /* 要素を垂直方向に中央寄せ */
        } 








        /* ナビゲーションメニューのスタイル */
        .menu {
            display: flex; /* flexboxを使用して横並びにする */
            justify-content: center; /* メニュー項目を中央寄せにする */
            text-align: center;
            
        }            
        .menu ul {
            display: flex;
            list-style-type: none; /* デフォルトのリストスタイルを削除 */
        }            
        .menu li {
            width: 120px; /* メニュー項目の固定幅を指定 */
            margin-right: 10px; /* メニュー項目の間隔を調整 */
            
        }            
        .menu li:last-child {
            margin-right: 0; /* 最後のメニュー項目の右マージンを削除 */

        }
            
        .menu a{
            display: block;
            padding: 10px;
            text-decoration: none;
            color: #000;
            
            background-color: #eee5e5;
            width: 100%;
            transition: background-color 0.3s ease; /* 背景色の変化に0.3秒の時間的変化を追加 */
        }       
        .menu a:hover {
            background-color: #ffffff;
            color: #000000;
            box-shadow: 2px 2px 10px rgba(255, 255, 255, 0.8); /* 影の設定 */
        }
        .menu a.active{
            background-color: #cbafaf;
            position: relative;
            transition: background-color 0.3s ease; /* 背景色の変化に0.3秒の時間的変化を追加 */

        }       
        .menu a.active:hover {

            background-color: #ffffff;
            color: #000000;
            box-shadow: 2px 2px 10px rgba(255, 255, 255, 0.8); /* 影の設定 */
        }


          


/* ===========================メイン==========================*/
    #content{

        
        padding-top: 80px;
        
        display: flex;
        min-height: calc(100vh - 0px); /* フッターとヘッダーの高さを考慮してコンテンツ領域の最小高さを設定 */
        
    }
    #content_full{
        padding-top: 50px;
        display: flex;
        min-height: calc(100vh);
        
    }
            /* サイドバーのスタイル
            aside {
                background-color: #333;
                color: #ffffff;
                min-width: 120px;
                padding: 20px;
                text-align: center;
                
    
            }
            aside h1 {
                font-size: 20px;
                color: #ffffff;
                padding-left: 0px;
                padding-top: 0px;
                margin-bottom: 20px;
                letter-spacing: 5px; 
            }
                li {
                    list-style-type: none;
                }*/



        /* コンテンツのスタイル */
    main {
        min-width: 900px;
        width: 100%;
        background-image: linear-gradient(to bottom, #ffffff, #e0dee4);

        padding-top: 30px;
        padding-bottom: 170px;

    }


/* ===========================【アイテム記事】==========================*/
        #article_s{
            overflow: hidden;
            display: flex;
            flex-wrap: wrap; /* 改行を許可 */
            justify-content: space-evenly;
            

            padding: 50px;
            background-color: #dedbdb;
            box-shadow: -3px -3px 15px rgb(255, 255, 255, 1), 2px 2px 5px rgba(0, 0, 0, 0.4);
        }
        #article_s h1{
            padding-top: 150px;
        }
            section {
                font-size: 16px;
                background-color: #dedbdb;
                width:300px;
                height:350px;
                border-radius:20px;
                box-shadow: -3px -3px 15px rgb(255, 255, 255, 1), 2px 2px 15px rgba(0, 0, 0, 0.4);
                margin: 20px;
                padding:10px;
            }

            .item_picture_s{
                background-color: #ffffff;
                display: flex;
                justify-content: center;
                align-items: center;
                overflow: hidden;/* 要素の内容を超えた部分を非表示にする */
                width: 300px;
                height: 150px;
                border-radius:10px;
                margin-bottom: 10px;
            }

            .picture_s{
                width: 70%;
            }

            .item_movie_s{

                background-color: #000000;
                display: flex;
                justify-content: center;
                align-items: center;
                overflow: hidden;/* 要素の内容を超えた部分を非表示にする */
                width: 300px;
                height: 150px;
                border-radius:10px;
                margin-bottom: 10px;
            }
            .movie_s{
                width: 100%;
            }



/* ===========================【ノーマル記事】==========================*/
        #article_m{
            
            margin-bottom: 50px;
            display: flex;
            align-items: flex-start;
            justify-content: center;
            width: 100%;
            margin-bottom: 50px;
            overflow: hidden;/* 要素の内容を超えた部分を非表示にする */
        }

            .image_box_m{
                display: flex;
                align-items: center;
                overflow: hidden;/* 要素の内容を超えた部分を非表示にする */
                width: 400px;
                border-radius:20px;
            }
            .image_picture_m{
                width: 100%;
            }
            .title_box_m{
                text-align: center;
                color: #000000;
                font-size: 40px;
            }
            .massage_box_m{
                width: 470px;
                margin-right: 30px;
            }

/* ===========================【大写真記事】==========================*/
        #article_l{
            /*background-color: #000000;*/
            width: 100%;
            margin-top: 20px;
            
            }

        .image_box_l{
            display: flex;
            justify-content: center;
            align-items: center;
            overflow: hidden;/* 要素の内容を超えた部分を非表示にする */
            width: 900px;
            position: relative; /* 相対的な位置指定を行います。 */
            border-radius:10px;


           
            margin-left: auto;
            margin-right: auto;
            
        }
        .image_picture_l{
            width: 100%;
        }


        .title_box_l{
            font-size: 100px;
            color: #fff;
            text-shadow: 1px 1px 8px rgba(0, 0, 0, 1);		/* 影の指定 */
            font-family: "Yu Gothic";
            font-weight: 600;
            -webkit-font-smoothing: antialiased;

            position: absolute; /* 絶対的な位置指定を行います。 */
            top: 40px; /* 親要素の下端に対して位置を指定します。 */
            left: 40px; /* 親要素の右端に対して位置を指定します。 */


        }
        .massage_box_l{
            color: #fff;
            width: 600px;
            padding: 10px;


            background-color: rgba(0, 0, 0, 0.5); /* 白の半透明な背景色を設定します。 */
            backdrop-filter: blur(10px);
            border-radius:10px;
        

            text-shadow: 1px 1px 8px rgb(255, 255, 255);		/* 影の指定 */
            position: absolute; /* 絶対的な位置指定を行います。 */
            bottom: 20px; /* 親要素の下端に対して位置を指定します。 */
            right: 20px; /* 親要素の右端に対して位置を指定します。 */

        }






/* ===========================【表を含む記事】==========================*/
 #spreadsheet{
margin-bottom: 50px;
justify-content: center;
align-items: center;
width:100%;
}
.massage_box_spreadsheet{
    margin: 0 auto;
    width: 900px;
    margin-bottom: 30px;
}
            
            table {
                margin: 0 auto;
                border-collapse: separate;  /* 表の線と線の間を空ける */
                border-spacing:  5px;       /* 表の線と線の間の幅 */
                width:850px;
                font-size: 15px;
                margin-bottom: 10px;
                text-align: left;
                font-family: "Yu Gothic";
                -webkit-font-smoothing: antialiased;
            }
             
            th,td {
                padding: 5px 10px;          /* 余白指定 */
            }
             
            th {
                background-color:  #aaaaaa; /* 背景色指定 */
                color:  #fff;               /* 文字色指定 */
                font-weight:  normal;       /* 文字の太さ指定 */
            }
             
            td {
                background-color:  #ffffff; /* 背景色指定 */
                box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
            }
            .non{
                background-color: rgba(0, 0, 0, 0); /* 背景色を完全に透明にする */
            }



/* ===========================【メールフォーム】==========================*/

            #mailform{
                margin-bottom: 50px;
 
                display: flex;
                align-items: flex-start;
                justify-content: center;
                
        
                
        
                
                width: 100%;
                margin-bottom: 50px;
                }
                #mailform H4{
                    color:  #000; 
                }













/* ===========================フッター==========================*/
footer {

    z-index: 9999;/* 最上面に表示 */

    height:100px;
    text-align: right;

    

    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
  }
  /* ボタンのスタイル */
.quotation-button {
    display: block;
    width: 350px;
    margin-left: auto;
    padding: 20px 20px;
    font-size: 25px;
    background-color: #337ab7;
    color: #fff;
    border: none;
    border-radius: 20px;
    cursor: pointer;
  }

    /* ボタンのホバー時のスタイル */
    .quotation-button:hover {
        background-color: #23527c;
      }
      
      /* ボタンのアクティブ時のスタイル */
      .quotation-button:active {
        background-color: #1e496e;
      }








/* ===========================スライドイン設定==========================*/
  .fadein {
    opacity: 0;
    transform: translate(0,0);
    transition: all 0.8s;
}
  .fadein-left{
      transform: translate(-30px,0);
  }
  .fadein-right{
      transform: translate(30px,0);
  }
  .fadein-up{
      transform: translate(0,-30px);
  }
  .fadein-bottom{
      transform: translate(0,30px);
  }
  .scrollin{
    opacity: 1 !important;
    transform: translate(0, 0) !important;
  }

/* ===========================画像を横方向に無限ループさせる==========================*/

  /*
右から左へ
----------------------------*/
@keyframes infinity-scroll-left {
    from {
      transform: translateX(0);
    }
    to {
      transform: translateX(-100%);
    }
  }
  /*
  左から右へ
  ----------------------------*/
  @keyframes infinity-scroll-right {
    from {
      transform: translateX(-100%);
    }
    to {
      transform: translateX(0%);
    }
  }
  /*
  IE11対策
  ----------------------------*/
  _:-ms-lang(x)::-ms-backdrop,
  .d-demo {
    display: -ms-grid;
    overflow: hidden;
  }
  /*----------------------------*/
  .d-demo__wrap {
    display: flex;
    overflow: hidden;
  }
  
  .d-demo__list {
    display: flex;
    list-style: none;
  }
  
  .d-demo__list--left{
  animation :infinity-scroll-left 30s infinite linear 0.5s both;
  }
  .d-demo__list--right{
  animation :infinity-scroll-right 30s infinite linear 0.5s both;
  }
  
  .d-demo__item {
    /*width: calc(3840px / 10);*/
    width: calc(100vw / 4);
  }
  .d-demo__item > img{
    width: 70%;
  }
  .d-demo__item > section{
    width: 100%;
 }
  
  /*
  マウスオーバーで一時停止させたい場合は以下
  ----------------------------
  
  .d-demo__wrap:hover .d-demo__list--left {
    animation-play-state: paused;
  }

*/
/*


d-demo__list--left … 右から左へ移動させる場合に使うクラス名
d-demo__list--right … 左から右へ移動させる場合に使うクラス名

  <div class="d-demo">
  <div class="d-demo__wrap">
      <ul class="d-demo__list d-demo__list--left">
          <li class="d-demo__item"><img src="01.jpg" alt></li>
          <li class="d-demo__item"><img src="02.jpg" alt></li>
          <li class="d-demo__item"><img src="03.jpg" alt></li>
          <li class="d-demo__item"><img src="04.jpg" alt></li>
          <li class="d-demo__item"><img src="05.jpg" alt></li>
          <li class="d-demo__item"><img src="06.jpg" alt></li>
       </ul>
       <ul class="d-demo__list d-demo__list--left">
          <li class="d-demo__item"><img src="01.jpg" alt></li>
          <li class="d-demo__item"><img src="02.jpg" alt></li>
          <li class="d-demo__item"><img src="03.jpg" alt></li>
          <li class="d-demo__item"><img src="04.jpg" alt></li>
          <li class="d-demo__item"><img src="05.jpg" alt></li>
          <li class="d-demo__item"><img src="06.jpg" alt></li>
       </ul>
  </div>
</div>
*/



/* ===========================読み込み中==========================*/
@keyframes spin {
    from {
      transform: rotate(0);
    }
    to{
      transform: rotate(359deg);
    }
  }


.spinner-box {
    width: 300px;
    height: 300px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: transparent;
    z-index: 10000;/* 最下面に表示 */
  }
  .three-quarter-spinner {
    width: 50px;
    height: 50px;
    border: 3px solid #008cff;
    border-top: 3px solid transparent;
    border-radius: 50%;
    animation: spin .5s linear 0s infinite;
    position: absolute; /* 絶対的な位置指定を行います。 */
    
  }
  /*<div class="spinner-box"><div class="three-quarter-spinner"></div></div>*/



@media(max-width: 900px){		/* ------------------------------『中サイズ』 ----------------------------------------*/
    h1 {
        font-size: 45px;
        margin-bottom: 10px;
        text-align: center;
        font-family: "Yu Gothic";
    }


    header {
        min-width:unset;
        margin: unset;
        padding-left: 0px;
        width: 100%;
        display: flex;
        flex-direction:column;
        height: 110px; /* 縦幅を指定 */
        z-index: 9999;/* 最上面に表示 */
        backdrop-filter: blur(10px);/* ぼかす */
        background-image: linear-gradient(to right, rgba(84, 75, 76, 0.8), rgba(115, 101, 103, 0.8));
    }
        /* headerの左(ロゴ) */
        header #left {
            width:140px;
            padding-top: 0px;
            margin-left: auto;
            margin-right: auto;

        } 
        /* headerの右(コンテンツ) */
        header #right {
            padding: unset;
            margin: unset;
            margin-left: auto;
            margin-right: auto;
        } 
        .menu li {
            width: 85px; /* メニュー項目の固定幅を指定 */
        }
}




@media(max-width: 600px){		/* ------------------------------『スマホ用設定』 ----------------------------------------*/
h1 {
    font-size: 30px;
    margin-bottom: 10px;
    text-align: center;
    font-family: "Yu Gothic";
    -webkit-font-smoothing: antialiased;
}

h2 {
    font-size: 20px;
    font-weight: 600;
    font-family: "Yu Gothic";
    -webkit-font-smoothing: antialiased;
}
h3 {
    font-size: 12px;
    font-weight: normal;
    font-family: "Yu Gothic";
    -webkit-font-smoothing: antialiased;
}
h4 {
    font-size: 10px;
    font-weight: normal;
    color: #ffffff;
    margin-top: 0px;
    font-family: "Yu Gothic";
    -webkit-font-smoothing: antialiased;
}

hr{
    width: 0px;
    margin-top: 60px;
    margin-bottom: 60px;
    -webkit-font-smoothing: antialiased;
}




    #content{
        width:100%;
        padding-top: 110px;
        display: flex;
        min-height: calc(100vh - 70px); /* フッターとヘッダーの高さを考慮してコンテンツ領域の最小高さを設定 */
    }

        main {
            background-image: linear-gradient(to bottom, #ffffff, #e0dee4);
            flex-grow: 1; /* メインコンテンツを伸ばして余白を埋める */
            min-width:370px;
            width:100%;
            padding-top: 30px;
            padding-bottom: 120px;
            margin: 0 auto; /* 中央寄せ */
        }


#article_s{
            padding-top: 0px;
            background-color: unset;
            box-shadow:unset;
            display: flex;

            flex-wrap: wrap; /* 改行を許可 */
            justify-content: space-evenly;
            width: 300px;

            margin: 0 auto; /* 中央寄せ */
            overflow: hidden;/* 要素の内容を超えた部分を非表示にする */
        }
        #article_s h1{
            padding-top: unset;
        }



#article_m{
            position:unset; 
            display: flex;
            width:100%;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            }

        .title_box_m{
            color: #000000;
            width: 370px;
            text-shadow: 0px 0px 5px rgb(255, 255, 255);		/* 影の指定 */
        }
        .massage_box_m{
        width: 370px;
        margin-bottom: 30px;
        margin-left: auto;
        margin-right: auto;
        }
        .massage_box_m H2{
            font-size: 18px;
            width: 100%;
        font-weight: normal;
        font-family: "Yu Gothic";
        }
        .image_box_m{
            display: flex;
            align-items: center;
            overflow: hidden;/* 要素の内容を超えた部分を非表示にする */
            width: 300px;
            border-radius:10px;
        }
        .image_picture_m{
            width: 100%;
        }



#article_l{
            justify-content: center;
            align-items: center;
            width:100%;
            position: relative; /* 相対的な位置指定を行います。 */
            display: inline-block; /* インラインブロックとして要素を表示します。 */
            overflow: hidden;/* 要素の内容を超えた部分を非表示にする */
            }
        .image_box_l{
                width: 370px;
        }
        .title_box_l{
            color: #fff;
            font-size: 40px;
            text-shadow: 1px 1px 8px rgba(0, 0, 0, 0.5);		/* 影の指定 */
            position: absolute; /* 絶対的な位置指定を行います。 */
            top: 20px; /* 親要素の下端に対して位置を指定します。 */
            left: 10px; /* 親要素の右端に対して位置を指定します。 */
            font-family: "Yu Gothic";
        }
        .massage_box_l{
            font-size: 15px;

            width: 300px;
            margin-left: auto;
            margin-right: auto;
            position: absolute; /* 絶対的な位置指定を行います。 */
            bottom: 10px; /* 親要素の下端に対して位置を指定します。 */
            right: 10px; /* 親要素の右端に対して位置を指定します。 */
        }


        
#spreadsheet{
            margin-bottom: 50px;
            justify-content: center;
            align-items: center;
            width:100%;
            overflow: hidden;/* 要素の内容を超えた部分を非表示にする */
            }
            .massage_box_spreadsheet{
                margin: 0 auto;
                width: 370px;
                margin-bottom: 20px;
                padding: 20px;
            }
                        
                        table {
                            font-size: 10px;
                            margin-bottom: 10px;
                            text-align: left;
                            font-family: "Yu Gothic";
                            -webkit-font-smoothing: antialiased;

                            margin: 0 auto;
                            border-collapse: separate;  /* 表の線と線の間を空ける */
                            border-spacing:  5px;       /* 表の線と線の間の幅 */
                            width:95%;
                        }



#mailform{
            display: flex;
            align-items: flex-start;
            justify-content: center;
            width:100%;
            margin-bottom: 50px;
            overflow: hidden;/* 要素の内容を超えた部分を非表示にする */
            }

            /* フッターのスタイル */

footer {
                z-index: 9999;
                height: 70px;
                text-align: center;
                position: fixed;
                bottom: 0;
                left: 0;
                width: 100%;
                }
                
                .quotation-button {
                display: block;
                width: 350px;
                margin: 0 auto;
                padding: 10px 20px;
                font-size: 20px;
                background-color: #337ab7;
                color: #fff;
                border: none;
                border-radius: 20px;
                cursor: pointer;
                }



}