@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* 固定フッターカスタマイズ */

#fix_bottom_menu ul.menu_list {
	padding:0!important;
}

/* TOPへ戻る・・非表示0904 */
#fix_bottom_menu ul.menu_list li.menu-item.pagetop_btn {
	background: #029d00;
	height: 50px;
    display: grid;
    align-content: center;
}

.menu_list li.bg_green {
	background: var(--color_deep03);
    height: 50px;
/*     padding: 10px !important; */
	    display: grid;
    align-content: center;
}

/* 固定フッターカスタマイズここまで */



/* 固定ページのタイトル背景 */
.l-topTitleArea {
                align-items: center;
                display: flex;
                margin: 0;
                min-height: 11em;
                overflow: hidden;
                padding: 1.5em 0;
                position: relative;
                width: 100%
            }

            .l-topTitleArea .u-thin {
                opacity: 1
            }

            .l-topTitleArea .c-postTitle__date {
                border-color: #fff
            }

            .l-topTitleArea .c-categoryList,.l-topTitleArea .c-tagList {
                color: #fff
            }

            .l-topTitleArea .c-categoryList__link,.l-topTitleArea .c-tagList__link {
                background: none;
                color: #fff
            }

            .l-topTitleArea .c-categoryList__link {
                border: 1px solid #fff
            }

            .l-topTitleArea .c-tagList__link {
                border-bottom: 1px solid #fff;
                border-radius: 0;
                padding: 4px .25em
            }

            .l-topTitleArea__body {
                color: #fff;
                position: relative;
                text-shadow: 1px 1px 0 rgba(0,0,0,.1);
                width: 100%;
                z-index: 3
            }

            @media (min-width: 600px) {
                .l-topTitleArea {
                    min-height:240px;
                    padding: 1em 0
                }
            }

.c-pageTitle {
    font-size: 1.3em;
    line-height: 1.4;
	font-weight:700;
    position: relative;
}

@media (min-width: 600px) {
    .c-pageTitle {
        font-size: 1.8em;
		letter-spacing: 0.2em;
    }
}



.c-pageTitle__subTitle {
	font-style:normal;
	display:block;
	letter-spacing: .1em;
	margin-left: 1em;
    opacity: .8;
    position: relative;
    top: -2px;
}
/* 固定ページのタイトル背景ここまで */


/* MV */

.p-mainVisual__textLayer {
	justify-content:unset;
	top:10vh;
}
.p-mainVisual__slideTitle
{
        font-size: 10vw;
        color: var(--color_text);
        font-weight: 700;
}

@media screen and (min-width:960px) {  
	.p-mainVisual__slideTitle
	{
		font-size:6vw
	}
}
.p-mainVisual__slideText {
	background: rgba(0, 86, 134, 0.8);
	padding:1em;
	align-self: flex-start;
}

.schoolpoint .swell-block-column {
	background:#fff;
	border:1px solid #eee;
}

a.school_box {
	height:100%;
	text-decoration:none;
	overflow:hidden;
	background:#fff;
	border-radius:10px;
	transition: transform 0.4s ease;
}
a.school_box:hover {
	background:#fff;
	transform: scale(1.01, 1.01);
}
a.school_box figure{
	overflow:hidden;
}
a.school_box img {
 transition: transform 0.4s ease;
}
a.school_box:hover img {
    transform: scale(1.1, 1.1);
}


ul.school_check_list li {
	line-height:2em;
	font-weight:700;
}

.school_box figure.wp-block-image {
position:relative;
}

.school_box figcaption.wp-element-caption {
position: absolute;
    left: 0px;
    top: 0px;
    background: var(--color_deep04);
    color: #FFF;
    padding: .5em;
	opacity:1;
}

@media screen and (min-width:960px) { 
.hidden-pc {
	display:none;
}
}

/* 公式SNSアカウント */

.snsbox a {
	border:3px solid var(--color_deep02);
	padding:0.8em;
	border-radius:10px;
	text-decoration:none;
	font-weight:700;
	letter-spacing:0.05em;
	height:95px;
}
.snsbox a:hover img {	
	transition: transform 0.4s ease;
}
.snsbox a:hover img {
	transform: scale(1.1, 1.1);
}
.snsbox a img {
	margin-bottom:.5em;
}

.snsbox a.bana_x {
	color:#fff;
	border-color:#000;
}

/* 語学学校 */

.ggmap {
    position: relative;
    width: 100%;
    height: 0;
    /* 比率調整  公式：calc((100% / 横幅) * 高さ) */
    padding-top: calc((100% / 1600) * 900);
}

.ggmap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* CONTACTFORM */

.wpcf7-form dl {
}

.wpcf7-form dl dt{
	margin-bottom:.5em;
}
.wpcf7-form dl dt span {
	color:red;
}

.wpcf7-form dl dd {
	margin-bottom:1em;
}

.wpcf7-form dl dd select,
.wpcf7-form dl dd input:not([type="checkbox"]),
.wpcf7-form dl dd textarea
{
	width:100%;
}
.submitbtn {
	text-align:center;
}
input.wpcf7-submit
{
	background:var(--color_main);
	padding:.5em;
	border-radius:4px;
	color:#FFF;
	max-width:600px;
	width:100%;
}

/* fixed btn */

.fixed-pc-button a {
  display: none;
}

@media screen and (min-width: 960px) {
	
	.fixed-pc-button {
	position: fixed;
    bottom: 20%;
		width:50px;
    right: 0;
		z-index: 9999;
	}
  .fixed-pc-button a {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    writing-mode: vertical-rl; /* ← 文字を縦書きに */
	  color: #fff;
    padding: 1em;
    border-radius: 8px 0 0 8px;
    
    text-decoration: none;
    line-height: 1.5;
    cursor: pointer;
    transition: background 0.3s;
		width:auto;
  }
	.fixed-pc-button a {
		color:#FFF;
		text-decoration:none;
		margin-bottom:1em;
	}
	.fixed-pc-button a i {
		margin-bottom:.25em;
	}
	
	.fixed-pc-button a.line_fix_btn {
		background:var(--color_deep03);
	}
	.fixed-pc-button a.mail_fix_btn {
		background: var(--color_main);
	}

  .fixed-pc-button a.mail_fix_btn:hover {
    background: #005a8d;
  }
	
}


/* 全ページで非表示 */
.grecaptcha-badge {
  display: none !important;
}

