:root {
--color1: #3948b9;
--color2: #0cb1c1;
--color3: rgba(0,0,0,1);
--color4: rgba(0,0,0,1);
--color5: rgba(0,0,0,1);
}

a{
color: var(--color1);
text-decoration: none;
}

@media (min-width: 769px) {
.row-0			{margin-left:0px;	margin-right:0px;}
.row-0>div		{padding-right:0px;	padding-left:0px;}
.row-10			{margin-left:-5px;	margin-right:-5px;}	
.row-10>div		{padding-right:5px;	padding-left:5px;}
.row-20			{margin-left:-10px;	margin-right:-10px;}
.row-20>div		{padding-right:10px;padding-left:10px;}
.row-30			{margin-left:-15px;	margin-right:-15px;}
.row-30>div		{padding-right:15px;padding-left:15px;}
.row-40			{margin-left:-20px;	margin-right:-20px;}
.row-40>div		{padding-right:20px;padding-left:20px;}
.row-50			{margin-left:-25px;	margin-right:-25px;}
.row-50>div		{padding-right:25px;padding-left:25px;}
.row-60			{margin-left:-30px;	margin-right:-30px;}
.row-60>div		{padding-right:30px;padding-left:30px;}
.row-70			{margin-left:-35px;	margin-right:-35px;}
.row-70>div		{padding-right:35px;padding-left:35px;}
.row-80			{margin-left:-40px;	margin-right:-40px;}
.row-80>div		{padding-right:40px;padding-left:40px;}
.row-90			{margin-left:-45px;	margin-right:-45px;}
.row-90>div		{padding-right:45px;padding-left:45px;}
.row-100		{margin-left:-50px;	margin-right:-50px;}
.row-100>div	{padding-right:50px;padding-left:50px;}
.row-110		{margin-left:-55px;	margin-right:-55px;}
.row-110>div	{padding-right:55px;padding-left:55px;}
.row-120		{margin-left:-60px;	margin-right:-60px;}
.row-120>div	{padding-right:60px;padding-left:60px;}
}
.mb-5, .my-5 {margin-bottom:2rem}
.mb-6, .my-6 {margin-bottom:2.5rem}
.mb-7, .my-7 {margin-bottom:3rem}
.mb-8, .my-8 {margin-bottom:3.5rem}
.mb-9, .my-9 {margin-bottom:4rem}


body{
background-color: #fafafa;
}

/********************************

	RESET

********************************/
.product_type_simple {
border-radius: 0;
color: #fff;
background-color: #000;
border-color: #000;
}
.product_type_simple:hover {
border-radius: 0;
color: #000;
background-color: #fff;
border-color: #000;
}

.add_to_cart_button {}
.ajax_add_to_cart {}
.btn {}
.btn-outline-primary {}

.list-group-item.active {
z-index: 2;
color: var(--bs-list-group-active-color);
background-color: var(--color1);
border-color: var(--color1);
}


.woocommerce .col2-set .col-1, .woocommerce-page .col2-set .col-1 {
float: none;
width: 100%;
}

.woocommerce-account .addresses .title h3 {
float: none;
clear: both;
display: block;
width: 100%;
padding: .5rem;
font-size: 1.25rem;
background-color: rgb(0 0 0 /.1);
}

.woocommerce .col2-set .col-2, .woocommerce-page .col2-set .col-2 {
float: none;
width: 100%;
}
body:not(.woocommerce-block-theme-has-button-styles) .wc-block-components-button:not(.is-link){
color: #fff;
background-color: var(--color1);
border: 2px solid var(--color1);
transition: .3s;
}
body:not(.woocommerce-block-theme-has-button-styles) .wc-block-components-button:not(.is-link):hover{
color: var(--color1);
background-color: #fff;
border: 2px solid var(--color1);
}

/********************************

	FOOTER

********************************/
.footer-nav{
margin:0 0 2rem;
padding:0;
list-style: none;
display:flex;
justify-content: flex-end;
}
.footer-nav li:not(:last-child) {
margin-right: 1rem;
}
.footer-nav li {
font-size: .875rem;
}
.footer-nav li a{
display: block;
padding: .25rem;
}
@media(max-width:600px){
.footer-nav{
justify-content: center;
}
.footer-nav li:not(:last-child) {
margin-right: .5rem;
}
.footer-nav li{
font-size: .875rem;
}
.footer-nav li a{
padding: 1rem .2rem;
}
}


.site-footer dl{
margin: 0 auto 4rem;
padding: 0;
text-align: center;
}
.site-info{
font-family: 'Roboto Condensed', sans-serif;
font-size: .75rem;
font-weight: 700;
letter-spacing: .1em;
text-align: center;
}

.Gradation_1 {
padding: 2rem 0;
display: flex;
width: 100%;
background: linear-gradient(270deg, #0cb1c1, var(--color1));
background-size: 200% 200%;
animation: Grad 5s ease infinite;
align-items: center;
justify-content: center;
}
.Gradation_1_text{
font-size: 30px;
font-family: Arial;
font-weight: 600;
color: #fff;
}

@keyframes Grad {
    0%{background-position:0% 50%}
    50%{background-position:100% 50%}
    100%{background-position:0% 50%}
}

.section_entrance{
margin: 0;
padding: 3rem 0;
}
.button{
display: block;
margin: 0;
padding: 1rem;
text-align: center;
font-size: 1.375rem;
font-weight: 600;
color: #fff;
text-shadow: 1px 3px 6px rgb(0 0 0 /.2);
box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
border-radius: 4px;
transition: .3s;
}
.button-lesson{
background-color: #0cb1c1;
border: 2px solid #0cb1c1;
}
.button-classroom{
background-color: var(--color1);
border: 2px solid var(--color1);
}
.button-lesson:hover{
color: #0cb1c1;
background-color: #fff;
border: 2px solid #0cb1c1;
text-shadow: none;
}
.button-classroom:hover{
color: var(--color1);
background-color: #fff;
border: 2px solid var(--color1);
text-shadow: none;
}

/********************************

	SIDE BAR

********************************/

.widget-area{
position: relative;
margin-top: 60px;
}
.widget-area::after{
content: "";
position: absolute;
z-index: -1;
left: 60px;
top: -5px;
display: block;
width: calc(100% - 60px);
height: 100%;
background-color: rgb(57 72 185 /.1);
background-color: rgb(12 177 193 /.075);
}
.widget-title{
margin: 0 0 2rem;
padding-bottom: 1rem;
font-size: 1.5rem;
border-bottom: 1px solid #ccc;
}

.woocommerce ul.cart_list li,
.woocommerce ul.product_list_widget li{
display: block;
padding: .375rem;
border-left: 1px solid rgb(255 255 255 /1);
border-top: 1px solid rgb(255 255 255 /1);
border-right: 1px solid rgb(0 0 0 /.05);
border-bottom: 1px solid rgb(0 0 0 /.05);
background-color: rgb(255 255 255 /.5);
box-shadow: rgba(149, 157, 165, 0.1) 0px 4px 12px;
}
.woocommerce ul.cart_list li:not(:last-child),
.woocommerce ul.product_list_widget li:not(:last-child) {
margin-bottom: .75rem;
}

/********************************

	ARCHIVE

********************************/

.page-title{
position: relative;
margin: 0 0 1rem;
padding: 1rem;
font-size: 1.5rem;
border-top: 1px solid #ccc;
border-bottom: 1px solid #ccc;
}
.page-title::after{
content: "";
position: absolute;
left: 0;
bottom: -1px;
width: 60px;
height: 3px;
background-color: var(--color1);
}
bdi{
font-family: 'Roboto Condensed', sans-serif;
font-size: 1.5rem;
color: #000;
}
.woocommerce-Price-currencySymbol{
display: inline-block;
margin-right: .25rem;
font-size: 1rem;
font-weight: 500;
color: #333;
}

/********************************

	商品一覧

********************************/
.woocommerce .woocommerce-ordering {
margin: 0 0 2rem;
}

ul.products{}
ul.products li{
padding: .25rem;
background-color: #fff;
border-left: 1px solid rgb(255 255 255 /1);
border-top: 1px solid rgb(255 255 255 /1);
border-right: 1px solid rgb(0 0 0 /.05);
border-bottom: 1px solid rgb(0 0 0 /.05);
}
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product{
padding: .5rem;
}

.related.products h2{
clear: both;
}


/********************************

	プライバシーポリシー

********************************/
.privacy-policy{}
.privacy-policy .entry-content{}
.privacy-policy .entry-content dl{}
.privacy-policy .entry-content dt{
margin: 2.5rem 0 1rem;
padding: .5rem;
font-size: 1.125rem;
border: 1px solid rgb(0 0 0 /.5);
}
.privacy-policy .entry-content dd{
margin: 0 0 1rem;
padding: 0 1.5rem;
font-size: .937rem;
}
.privacy-policy .entry-content dd dt{
margin: 0 0 .5rem;
font-size: 1rem;
border: none;
border-bottom: 1px solid rgb(0 0 0 /.1);
}
.privacy-policy .entry-content dd ol{
padding-left: 3.5rem;
}
.privacy-policy .entry-content dd ol li{
position: relative;
}
.privacy-policy .entry-content dd ol li::before{
content: "ー";
position: absolute;
left: -50px;
top: 0;
display: inline-block;
color: rgb(0 0 0 /.25);
}
.privacy-policy .entry-content dd div{
margin: .75rem 0 0;
padding: .5rem;
background-color: rgb(0 0 0 /.05);
border-radius: 4px;
}

@media(max-width:600px){
.privacy-policy .entry-content dt{
font-size: 1rem;
}
}


/********************************

	特定商取引法

********************************/

.legal .entry-content{}
.legal .entry-content dl,.legal .entry-content dt,.legal .entry-content dd{
margin: 0;
padding: 0;
}
.legal .entry-content dl{
background-color: #FFF;
border-top: 1px solid #E4E4E4;
border-left: 1px solid #E4E4E4;
margin: 0 0 1rem;
width: 100%;
display: flex;
flex-wrap: wrap;
}
.legal .entry-content dt{
background-color: #FBFBFB;
font-weight: bold;
}
.legal .entry-content dt,
.legal .entry-content dd{
padding: 1rem;
box-sizing: border-box;
border-right:  1px solid #E4E4E4;
border-bottom: 1px solid #E4E4E4;
}
.legal .entry-content dt{
width: 14em;
}
.legal .entry-content dt small{
display: block;
font-weight: 500;
}
.legal .entry-content dd{
width: calc(100% - 14em);
}

@media(max-width:600px){
.legal .entry-content dl{
display: block;
background-color: transparent;
border: none;
}
.legal .entry-content dt,
.legal .entry-content dd{
width: 100%;
}
.legal .entry-content dt{
padding: .25rem .5rem;
background-color: #fff;
border: 1px solid #E4E4E4;
}
.legal .entry-content dd{
padding: .5rem .5rem .75rem;
border: none;
background-color: transparent;
}
.legal .entry-content dd:not(:last-child) {
margin-bottom: 1rem;
}

}

/********************************

	利用規約

********************************/

.terms section{
margin: 0 auto 2rem;
padding: 1rem;
border: 1px solid #ccc;
}
.terms .entry-content h2{
margin: 0 0 2.5rem;
padding: 0;
font-size: 1.375rem;
}
.terms .entry-content h3{
margin: 0 0 1rem;
padding: 0;
font-size: 1.375rem;
}
.terms .entry-content h4{
margin: 0 0 1rem;
padding: 1.5rem 0 0;
font-size: 1.25rem;
}
.terms .entry-content p{
margin: 0 0 1rem;
padding: 0;
font-size: 1rem;
line-height: 1.6;
text-align: justify;
}