@charset "utf-8";

.pc{
display: none!important;
}

*{
font-size:14px;
letter-spacing: 0.05em;
}

:root {
--main-width: 1200px;
}

/*--------------------menu-------------------*/

menu.menu{
width: 100%;
height: 100%;
position: fixed;
top:0px;
left: 0px;
background: #fff;
z-index: 10;
display: none
}

li.menu{
width: 80%;
position: absolute;
top:50%;
left: 50%;
transform: translate(-50%,-50%)
}

a.menu_logo{
display: none
}

a.menu{
color: #205389;
font-family: "Noto Sans JP", sans-serif;
font-weight: 900;
display: block;
border-bottom: solid 1px #dcdcdc;
padding: 15px 0px;
font-size: 16px;
background: url(../img/icon/triangle_navy.png) no-repeat center right 0px;
background-size: 14px
}

.menuIn{
animation-fill-mode:both;
animation-duration:0.5s; 
animation-name: menuIn;
display: block!important;
}
 
@keyframes menuIn {
0% { opacity: 0;}
100% {opacity: 100;}
}

/*--------------------nav-------------------*/

nav.nav{
width: 60px;
height: 60px;
border-radius: 50%;
background: #274776;
position: fixed;
top:15px;
right: 5%;
z-index: 11;
display: flex;
align-items: center;
justify-content: center
}

a.menu-trigger,
a.menu-trigger span {
display: inline-block;
transition: all .4s;
position: relative;
}

a.menu-trigger {
width: 24px;
height: 15px;
}

a.menu-trigger span {
position: absolute;
left: 0;
width: 100%;
height: 1.5px;
background: #fff;
}

a.menu-trigger span:nth-of-type(1) {
top: 0;
}
a.menu-trigger span:nth-of-type(2) {
top: 6.5px;
}
a.menu-trigger span:nth-of-type(3) {
bottom: 0;
}

a.menu-trigger.active span:nth-of-type(1) {
-webkit-transform: translateY(7px) rotate(-45deg);
transform: translateY(7px) rotate(-45deg);
}

a.menu-trigger.active span:nth-of-type(2) {
opacity: 0;
}

a.menu-trigger.active span:nth-of-type(3) {
-webkit-transform: translateY(-7px) rotate(45deg);
transform: translateY(-7px) rotate(45deg);
}

/*--------------------header-------------------*/

header.contents_header{
width: 100%;
background: url(../img/content/header.webp) no-repeat center;
background-size: cover;
padding: 40px 4% 0px 4%;
position: relative;
z-index: 1
}

img.header_logo{
width: 60%;
margin: 0px auto 30px auto
}

h1.header{
font-size: 22px;
font-family: "Noto Sans JP", sans-serif;
font-weight: 700;
margin-bottom: 20px;
line-height: 1.4
}

h2.header{
font-size: 42px;
font-family: "Noto Sans JP", sans-serif;
font-weight: 700;
line-height: 1.2;
margin-bottom: 20px
}

p.header{
line-height: 1.8
}

img.header_image{
width: 100%;
margin: 0px auto;
position: relative;
top:20px
}

/*--------------------service--------------------*/

section#service{
background: #d2ecf9;
padding: 40px 4% 0px 4%;
position: relative;
}

section#service:after{
content: "";
width: 0;
height: 0;
border-style: solid;
border-right: 49.5vw  solid transparent;
border-left: 49.5vw solid transparent;
border-top: 50px solid #d2ecf9;
border-bottom: 0;
position: absolute;
left: 0px;
bottom:-50px
}

h5.title{
width: 90%;
margin: 0px auto 30px auto;
display: flex;
align-items: center;
justify-content: center;
font-family: "Noto Sans JP", sans-serif;
font-weight: 700;
font-size:24px;
gap: 10px
}

img.title{
width: 70%;
}

p.service{
color: #21447b;
text-align: center;
font-family: "Noto Sans JP", sans-serif;
font-weight: 700;
line-height: 1.8;
margin-bottom: 40px;
text-align: justify
}

ul.service_image{
display: block
}

li.service_image_left{
display: flex;
align-items: start;
flex-wrap: wrap;
justify-content: center;
gap: 4%
}

h3.service{
width: 48%;
aspect-ratio: 1 / 1;
background: #fff;
border-radius: 50%;
display: flex;
color: #224776;
align-items: center;
justify-content: center;
text-align: center;
line-height: 1.4;

}

h3.service span{
color: #ed881f
}

/*--------------------lms--------------------*/

section#lms{
padding: 80px 4% 40px 4%;
}

h2.lms{
font-size: 22px;
color: #fc8d0e;
text-align: center;
margin-bottom: 50px;
line-height: 1.4
}

ul.lms{
display: block;
}

li.lms_image{
width: 70%;
margin: 0px auto 20px auto
}

li.lms{
width: 100%
}

h3.lms{
font-size:22px;
margin-bottom: 20px
}

p.lms{
line-height: 1.8;
text-align: justify
}

/*--------------------curriculum-------------------*/

section#curriculum{
background: #fff;
padding: 40px 4%;
}

h3.curriculum{
font-family: "Noto Sans JP", sans-serif;
font-weight: 700;
font-size:18px;
display: flex;
align-items: center;
gap: 10px;
margin-bottom: 20px;
padding-top: 30px
}

h4.price{
font-size:16px;
color: #ff0000;
margin-bottom: 30px;
}

span.curriculum{
color: #fff;
padding: 2px 12px;
border-radius: 2px;
display: block;
}

h3.orange{
color: #ed881f
}

span.orange{
background: #ed881f;
}

span.blue{
background: #61c1f1;
}

h3.blue{
color: #61c1f1
}

.row-border-blue {
border-bottom: 1px solid #61c1f1;
padding-bottom: 6px; /* 線との余白 */
margin-bottom: 6px;  /* 下の行との間隔（任意） */
}

span.navy{
background: #205299;
}

h3.navy{
color: #205299
}

h3.curriculum small{
font-family:'メイリオ', 'Meiryo','ＭＳ ゴシック','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
font-weight: 300;
font-size: 12px;
color: #000
}

p.curriculum{
line-height: 1.8;
margin-bottom: 30px;
text-align: justify
}

article.curriculum_list{
margin-bottom: 20px
}

article.orange{
border:solid 1px #ed881f
}

article.blue{
border:solid 1px #61c1f1
}

article.navy{
border:solid 1px #205299
}

h4.curriculum_list{
font-family: "Noto Sans JP", sans-serif;
font-weight: 400;
color: #fff;
padding: 10px 0px 10px 10px;
font-size: 18px;
letter-spacing: 0.1em;
line-height: 1.3;
}

.curriculum_list .indent {
display: inline-block;
padding-left: 1.25em;
font-size: 18px;
}

h5.curriculum_list{
font-family: "Noto Sans JP", sans-serif;
font-weight: 500;
padding: 20px 0px 20px 20px;
font-size: 17px;
letter-spacing: 0.1em;
line-height: 1.4;
}

h4.orange{
background: #ed881f
}

h4.blue{
background: #61c1f1
}

h4.navy{
background: #205299
}

p.curriculum_list{
font-family:'メイリオ', 'Meiryo','ＭＳ ゴシック','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
display: flex;
align-items: center;
padding: 10px 0px 10px 20px;
font-size:13px;
letter-spacing: 0.1em;
gap: 15px
}

p.curriculum_list span{
width: 65%;
letter-spacing: 0.1em;
font-size:13px;
}

div.orange p{
background: #ffe5d4
}

div.blue p{
background: #d2ecf9
}

div.navy p{
background: #c6d0dd
}

div.orange p:nth-of-type(2n),div.blue p:nth-of-type(2n),div.navy p:nth-of-type(2n){
background: #fff
}

div.total{
background: #000;
color: #fff;
padding: 5px 20px;
text-align: right;
margin-bottom: 40px;
font-weight: 700
}

/*--------------------about--------------------*/

section#company{
padding: 40px 4%;
background: #eef9ff;
}

ul.company{
width: 100%;
display: table;
table-layout: fixed
}

ul.company li{
display: table-cell;
padding: 20px 0px 20px 15px;
font-size: 14px;
font-family: "Noto Serif JP", serif;
font-weight: 300
}

li.company_left{
width: 30%;
border-top: solid 2px #00c5ff;
}

li.company_right{
border-top: solid 2px #d2ecf9;
line-height: 1.8
}

ul.company:last-of-type li.company_left{
border-bottom: solid 2px #00c5ff;
}

ul.company:last-of-type li.company_right{
border-bottom: solid 2px #d2ecf9;
}

/*--------------------contact--------------------*/

section#contact{
padding: 40px 4%;
background: #fff;
}

h4.contact{
font-size: 28px;
margin-bottom: 50px;
text-align: center;
color: #274776
}

label{
border:none!important;
background: #e9e9e9!important;
}

div.contact{
margin-bottom: 40px
}

h5.contact{
color: #274776;
margin-bottom: 15px
}

div.privacy{
width: 100%;
height: 250px;
border-radius: 5px;
background: #e9e9e9;
overflow-y: scroll;
padding: 15px;
margin-bottom: 25px;
color: #000;
scrollbar-color: #205299 #f0f0f0; 
scrollbar-width: thin;
}

input[type="submit"] {
background: #205299!important;
}

p.content_lead{
font-size: 14px;
margin-bottom: 20px
}

article.contents{
margin-bottom: 20px;
}

h3.privacy{
margin-bottom: 20px;
color:#205299;
font-weight: 400;
font-size: 13px
}

h4.privacy{
font-size: 12px;
color:#222;
font-weight: 400;
line-height: 1.8
}

div.checkbox{
display: flex;
align-items: center;
gap: 10px
}

p.required{
background: #205299;
color: #fff;
font-size:14px;
text-align: center;
width: 80px;
height: 20px;
border-radius: 10px
}

/*--------------------footer--------------------*/

footer.footer{
background: #f5fcff;
padding: 30px 0px
}

li.footer_left{
width: 50%;
margin: 0px auto 20px auto
}

li.footer_right{
width: 100%;
display: flex;
align-items: center;
flex-wrap: wrap;
margin-bottom: 20px;
border-top: solid 1px #d2ecf9
}

a.footer_right{
width: 50%;
color: #205389;
padding: 16px 0px;
font-family: "Noto Sans JP", sans-serif;
font-weight: 900;
text-align: center;
border-bottom: solid 1px #d2ecf9;
border-right: solid 1px #d2ecf9
}

a.footer_right:nth-of-type(2n){
border-right: none
}

p.copy{
width: 100%;
margin: 0px auto;
font-size: 11px;
text-align: center
}
