@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined');

#modelcourse .headwrap{
  position: relative;
  width: 100vw; /* ビューポート幅100% */
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
    height: 280px;
    padding-top: 265px;
    overflow: hidden;
}

#modelcourse .headwrap .mainphoto img{
    position: absolute;
    width: 100%;
    top:0;
    left: 0;
    height: auto;
}
#modelcourse .headwrap .mainphoto::before{
    content: "";
  position: absolute;
  inset: 0; /* top, right, bottom, left = 0 */
  background: rgba(0, 0, 0, 0.42); /* 黒やグレーの半透明 */
  pointer-events: none; /* オーバーレイがクリックを邪魔しない */
    z-index: 10;
}
#modelcourse .headwrap .headpoint{
    text-align: center;
    position: relative;
     z-index: 15;
}
#modelcourse .headwrap h2{
    color: #fff;
    position: relative;
    z-index: 15;
    font-size: 40px;
    line-height: 1.4;
}
#modelcourse .headwrap h2 span{
    display: block;
}
#modelcourse .readtxt{
    margin: 2em auto;
    max-width: 800px;
    padding: 0 1em;
}
#modelcourse ul{
    list-style-type: none;
}
#modelcourse .gaiyou{
    font-size: 24px;
    border-bottom: 2px solid #000000;
    width: 300px;
    margin: auto;
    margin-bottom: 0.5em;
}
#modelcourse .gaiyoutxt{
    text-align: center;
}
#modelcourse ul.root{
    display: flex;
     flex-wrap: wrap;
     justify-content: center;
    max-width: 1050px;
  margin:1em auto 2em;
}
#modelcourse ul.root li{
    text-align: center;
    margin: 10px;
    position: relative;
    margin-right: 45px;
}
#modelcourse ul.root li a{
    text-decoration: none;
    color: #000000;
}
#modelcourse ul.root li .roottxt{
    text-align: center;
}

#modelcourse ul.root li::after{
     content: "";
    display: inline-block;
    width: 12px;       /* 矢印の長さ */
    height: 12px;      /* 矢印の高さ */
    border-top: 5px solid black;    /* 上の線 */
    border-right: 5px solid black;  /* 右の線 */
    transform: rotate(45deg);       /* 斜めにして矢印に */
    position: absolute;
    bottom: 50%;
    right: -30px;
}
#modelcourse ul.root li:last-child::after{
    display: none;

}
#modelcourse .contentswrap section{
    margin-bottom: 2em;
}
#modelcourse  .circle-container {
        /* サイズ指定と円形化 */
        width: 170px;
        height: 170px;
        border-radius: 50%; /* 完全な円形 */
        overflow: hidden; /* 画像のトリミング */
        border: 2px solid transparent; /* 枠線（デフォルトは透明） */
        
        /* 中央寄せ（p-0.5の代わり） */
        display: flex;
        justify-content: center;
        
        /* ホバー時の枠線色（Tailwindの色変数を使用） */
        transition: border-color 150ms ease-in-out;
    }

.material-symbols-outlined {
           font-size: 20px;
    vertical-align: middle;
        }

#modelcourse .course-wrapper {
        padding: 0 16px 16px; /* px-4 pb-4 相当 */
    }


    /* 写真と本文を囲む枠 */
#modelcourse .coursebox {
        background-color: #ffffff;
        border-radius: 1.5rem; /* xl 相当 */
        overflow: hidden;
        box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1); /* shadow-sm 相当 */
        border: 1px solid #E0E0E0; /* border-light */
    }
/* 画像スタイル */
#modelcourse .course-image {
        width: 100%;
        height: auto; 
        object-fit: cover;
    }
#modelcourse .contentswrap{
    max-width: 1000px;
    margin: auto;
    padding: 0 0.5em;
}
#modelcourse .course-content{
    padding: 10px 20px;
    font-size: 14px;
}
#modelcourse .course-content h3{
    font-size: 24px;
    text-align: left;
}
#modelcourse .course-content h3 span{
    background-color: #FF2417;
    color: #fff;
    margin-right: 10px;
    font-size: 18px;
    padding: 0 0.5em;
    vertical-align: middle;
    
}
#modelcourse .course-content .viewmap{
    text-align: right;
}
#modelcourse .course-content .viewmap a{
    background-color: #000000;
    color: #fff;
    display: inline-block;
    font-size: 14px;
    border-radius: 20px;
    padding: 0.2em 1em;
    text-decoration: none;
}
#modelcourse .course-content .viewmap span{
    vertical-align: middle;
    font-size: 140%;
}
#modelcourse .tr{
    text-align: right;
}
#modelcourse .infolist .material-symbols-outlined {
    color: #ff2417;
    margin-right: 0.5em;
}
#modelcourse .ctarea h3{
    text-align: center;
    display: inline-block;
    background-color: #FF2417;
    color: #FFFFFF;
    border-radius: 50px;
    padding: 0.5em 2em;
    margin-top: 2em;
    font-size: 20px;
  margin-bottom: 2em;
}

#modelcourse .ctarea h3 span{
    font-size: 140%;
}
#modelcourse .center{
    text-align: center;
}
#modelcourse .otlist{
   max-width: 600px;
    margin: auto; 
}
#modelcourse .otlist dt{
   text-align: center;
   font-weight: bold;
    font-size: 18px;
    margin:2em 0 1em;
}
#modelcourse .otlist dt:first-child{
    margin-top: -1em;
}
#modelcourse .otlist dd{
    font-size: 16px;
    margin-bottom: 1.5em;
}
#modelcourse .otlist dd::before{
    content: "▶ ";
    color: #333;
}
#modelcourse .otlist .viewmap{
    text-align: right;
    display: block;
  margin-top: -1.5em;
}
#modelcourse .otlist .viewmap a{
    background-color: #000000;
    color: #fff;
    display: inline-block;
    font-size: 13px;
    border-radius: 20px;
    padding: 0.2em 1em;
    text-decoration: none;
}
#modelcourse .qanda{
    border-top: 1px solid #000000;
    padding-top: 2em;
    margin-top: 7em;
}
#modelcourse .qanda h3{
    font-size: 20px;
    margin-bottom: 1em;
}
#modelcourse .qanda h3 span{
    font-size: 140%;
    vertical-align: bottom;
}
#modelcourse .qalist{
    max-width: 600px;
    margin: auto;
}
#modelcourse .qalist dt{
    font-weight: bold;
    font-size: 16px;
}
#modelcourse .qalist dd{
    margin: 0 0 1.5em 2.5em;
}
#modelcourse .targetmodel{
        border-top: 1px solid #000000;
    padding-top: 2em;
    margin-top: 4em;
}
#modelcourse .targetmodel h3{
    font-size: 20px;
    margin-bottom: 1.5em;
}
#modelcourse .targetmodel h3 span{
     font-size: 140%;
    vertical-align: bottom;
}
#modelcourse .targetmodel ul.targetlist{
    list-style-type: square;
    max-width: 600px;
    margin: auto;
}
#modelcourse .targetmodel ul.targetlist li{
    font-size: 16px;
}

@media (max-width:912px){
    #modelcourse .headwrap .headpoint img{
        width: 180px;
        height: auto;
    }
    #modelcourse .headwrap .mainphoto img{
        width: auto;
        height: 100%;
    }
    #modelcourse .headwrap h2{
        font-size: 20px;
        padding: 0 2em;
    }
    #modelcourse .headwrap{
        padding-top: 110px;
        height: 200px;
    }
    #modelcourse ul.root li{
        width: 100px;
    }
    #modelcourse ul.root li::after{
   top: 40px;
}
    #modelcourse  .circle-container {
        width: 90px;
        height: 90px;
    }
    #modelcourse .course-content h3{
        font-size: 20px;
    }
    #modelcourse .course-content h3 span{
        display: table;
        margin-bottom: 0.5em;
    }
    #modelcourse .otlist dd{
        margin: 0;
    }
    #modelcourse .otlist .viewmap{
  margin: 0 0 1em;
}
    #modelcourse .ctarea h3{
        padding: 0.5em 1em;
    }
}
