@charset "UTF-8";
/*
Theme Name: connect
Author: kdf
Description: connect
Version:1.5
License: GNU General Public License v2 or later
License URI: LICENSE
*/


body {
margin: 0;
font-family: '游ゴシック Medium', '游ゴシック体', 'Yu Gothic', YuGothic, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, 'MS PGothic', 'ＭＳ Ｐゴシック', sans-serif;
font-size: 15px;
-webkit-text-size-adjust: 100%;
font-weight: 400;
line-height: 2em;
background-color: #ffffff;
color: #333333;
background-color: inherit;
text-align: justify;
letter-spacing: 0.04em;
}

body,html{padding: 0 ;margin: 0!important}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
}

*{
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}

/* テキスト */
h1{
font-size: 2em;
font-weight: 300;
}

h2 {font-size: 1.6em;font-weight: 300;}
h3 {font-size: 1.4em;font-weight: 300;}
h4 {font-size: 1.2em;font-weight: 300;}
h5 {font-size: 1em;font-weight: 300;}
h6 {font-size: 0.8em;font-weight: 300;}

h1,h2,h3,h4,h5,h6{margin:0 0 10px;}

@media only screen and (max-width:520px){
h1 {font-size: 1.4em;}
h2 {font-size: 1.2em;}
h3 {font-size: 1em}
h4 {font-size: 1em}
}

.mincho{
font-family: "游明朝","Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
font-weight: 300;
}

.zen-maru-gothic{
font-family: "Zen Maru Gothic", sans-serif;
color: #8dc21f;
font-weight: 500;
font-style: normal;
}


button, input, label, select, textarea{
font-family: inherit;
font-size: 1em;
}

img{max-width: 100%;height: auto;}
a img{
transition: .6s ease;
-webkit-transition: .6s ease;
-ms-transition: .6s ease;}
a img:hover{opacity: .7;}

ul{padding: 0;margin: 0}
ul li{list-style:none}
a{text-decoration: none;color: #333333;}
p{margin:0 0 1em;}
.bold{font-weight:600}
.sp{display: none!important;}
.ipSp{display: none!important;}

@media only screen and (max-width:768px){
.ip{display: none!important;}
.ipSp{display: inherit!important;}
}

@media only screen and (max-width:480px){
.sp{display: inherit!important;}
.pc{display: none!important;}
}

.d-flex{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
justify-content: space-between;
}

.d-flex-around{justify-content: space-around;}
.d-flex-start{justify-content: flex-start;}
.d-flex-end{justify-content: flex-end;}
.d-flex-center{justify-content: center;}
.align-center{align-items: center;}
.align-end{align-items: end;}
.flex-reverse{flex-wrap: wrap-reverse;}
.text-center {text-align: center;}
.text-right{text-align: right;}
.text-justify{text-align: justify;}

p.text-center,.text-center p{line-height: 1.8em;}

.col2{width: 48.2%;}
.col3{width: 30%;margin-right: 5%;margin-bottom: 30px;}
.col3:nth-of-type(3n){margin-right: 0;}

@media only screen and (max-width:768px){
.col2{width: 100%;}
.col3{width: 48%;margin-right: 0;}
.col3:nth-of-type(2n){margin-right: 0;}
.col2:last-child,
.col3:last-child{margin-bottom: 0;}
}

@media only screen and (max-width:520px){
.col3{width: 100%;}
}


.clear{clear: both;}
.bold{font-weight:bold;}
.normal{font-weight: normal!important;}
.pink{color: #ff6e96}
.red{color: #d9382b}
.orange{color: #ec6c00}
.yellow{color: #f7b52c}
.green{color: #8dc21f}
.blue{color: #355497;}
.white{color: #ffffff}
.black{color:#333333}
.darkgray{color: #b4b4b5;}


/* ------------------------------------------------
外枠
------------------------------------------------
*/ 

.container-inner{
max-width: 1040px;
padding: 0 20px;
margin: 0 auto;
}

main{margin-bottom: 100px;}

@media only screen and (max-width:920px){
main{margin-bottom: 50px;}
}


/* margin */
.mb-1{margin-bottom: 10px;}
.mb-2{margin-bottom: 20px;}
.mb-3{margin-bottom: 30px;}
.mb-4{margin-bottom: 40px;}
.mb-5{margin-bottom: 50px;}
.mb-6{margin-bottom: 60px;}
.mb-7{margin-bottom: 70px;}
.mb-8{margin-bottom: 80px;}
.mb-9{margin-bottom: 90px;}
.mb-10{margin-bottom: 100px;}

@media only screen and (max-width:520px){
.mb-5{margin-bottom: 30px;}
.mb-6{margin-bottom: 40px;}
.mb-7{margin-bottom: 50px;}
.mb-8{margin-bottom: 60px;}
.mb-9{margin-bottom: 70px;}
.mb-10{margin-bottom: 80px;}
}


/* ------------------------------------------------
共通箇所
------------------------------------------------
*/

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

header{
padding: 15px 0;
background-color: rgb(255,255,255,0.8);
position: sticky;
top: 0;
z-index: 220;
width: 100%;
}

#header-logo{
width: 15%;
height: auto;
z-index: 210;
line-height: 0;
}

header nav,
ul.grand-menu{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
}

#nav-wrapper{width: 80%;}

.nav-wrapper ul.grand-menu{
border-right: 1px solid #333333;
}

.nav-wrapper ul.grand-menu li{
font-size: 14px;
text-align: center;
width: calc(100%/6);
border-left: 1px solid #333333;
}

ul.grand-menu li a{
padding: 0.3em 0.2em;
display: block;
transition: ease .4s;
}

.nav-wrapper ul.grand-menu li a:hover{
color: #ffffff;
background: #355497;
}

ul.grand-menu li .sub-menu{
position: absolute;
visibility: hidden;
transition: all .4s ease;
left: 0;
width: 230px;
opacity: 0;
}


ul.grand-menu li a{position: relative;}


ul.grand-menu li a:hover:before{
transform-origin: left top;
transform: scale(1,1);
}

ul.grand-menu li:hover .sub-menu,
ul.grand-menu li .sub-menu li:hover .sub-menu{
display: block;
visibility: visible;
transition: all .4s ease;
opacity: 1;
}

ul.grand-menu .sub-menu li{
font-size: 12px;
margin-left: 0;
}


.sub-menu li a{
display: block!important;
padding: 0.8em!important;
color: #ffffff;
}

ul.grand-menu li .sub-menu li a:hover{
background-color: #355497;
color: #ffffff;
transition: .5s;

}

ul.grand-menu li .sub-menu li a:hover::before{
transform-origin: 0;
transform: scale(0);
}


.ham,.black-bg{display: none;}

@media only screen and (max-width:1200px){
ul.grand-menu li{
font-size: 13px;
}
}

@media only screen and (max-width:1000px){
ul.grand-menu li{font-size: 12px;}
}

@media only screen and (max-width:768px){

#header-logo{width: 150px;}

.ham {
position: relative;
width: 32px;
height: 32px;
cursor: pointer;
display: inherit;
z-index: 1000;
}

.ham_l {
position: absolute;
width: 32px;
height: 2px;
left: 0;
background-color: #355497;
transition: all .4s;
}

.ham_l-1 {top: 1px;}
.ham_l-2 {top: 10px;}
.ham_l-3 {top: 20px;}

.open .ham_l-1 {transform: rotate(-45deg);top: 11px;background-color: #ffffff;}
.open .ham_l-2 {opacity: 0;}
.open .ham_l-3 {transform: rotate(45deg);top: 11px;background-color: #ffffff;}

#nav-wrapper{width: auto;}

.header-nav {
position: fixed;
right: -100%;
top: 0;
width: 50%;
height: 100vh;
background-color: #355497;
transition: all .4s;
z-index: 220;
overflow-y: auto;
padding: 50px 30px;
}

.open .header-nav {right: 0;}

.black-bg {
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100vh;
z-index: 5;
background-color: #333333;
opacity: 0;
visibility: hidden;
transition: all 0.5s;
display: inherit;
cursor: pointer;
z-index: 100;
}

.open .black-bg {opacity: 0.6;visibility: visible;}


.nav-wrapper ul.grand-menu{
display: block;
border-right: none;
}

.nav-wrapper ul.grand-menu li{
width: 100%;
border-left: none;
text-align: left;
border-bottom: 1px solid #ffffff;
}


.nav-wrapper ul.grand-menu li a{
color: #ffffff;
display: block;
padding: 10px;
}

.nav-wrapper ul.grand-menu li a::before{
content: none;
}

.open .nav-wrapper ul.grand-menu {display: block;transition: .4s;}

.nav-wrapper ul.grand-menu li .sub-menu{
position: static;
display: none;
transition: all .4s ease;
left: 0;
width: auto;
opacity: 0;
}

.nav-wrapper ul.grand-menu li:hover .sub-menu,
.nav-wrapper ul.grand-menu li .sub-menu li:hover .sub-menu{
display: block;
visibility: visible;
transition: all .4s ease;
opacity: 1;
}

.nav-wrapper ul.grand-menu li .sub-menu li a{
padding: 10px 10px 10px 40px!important;
}

.nav-wrapper ul.grand-menu li .sub-menu li a:hover{
background-color: #ffffff;
transition: .5s;
}
}

@media only screen and (max-width:520px){
.header-nav{width: 80%;padding: 50px 20px;}
#header-logo{width: 120px;}
}


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

footer{
padding: 0 0 30px;
}

.footer-logo{width: 260px;}

.sns-area{
justify-content: center;
}

.sns-area li{
width: 30px;
margin-right: 10px;
}

footer ul.grand-menu{
justify-content: center;
margin: 0 0 20px;
}

footer ul.grand-menu li{
margin: 0 15px;
}

footer ul.grand-menu li .sub-menu{
left: 0;
top: -85px;
opacity: 0;
}

p.copyright{
font-size: 14px;
text-align: center;
margin-bottom: 0;
}


@media only screen and (max-width: 1200px){
footer ul.grand-menu li{font-size: 13px;}
}

@media only screen and (max-width: 820px){
footer .footer-col{width: 30%;}
footer .footer-col:nth-of-type(2){width: 60%;margin-bottom: 20px;}
footer .footer-col:last-of-type{width: 100%;}
footer ul{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
justify-content: space-between;
}
}

@media only screen and (max-width: 620px){
footer p,footer ul li{font-size: 11px;}
footer .footer-col,
footer .footer-col:nth-of-type(2){width: 100%;}
footer .footer-col img{width: 180px;}
footer .footer-col .mb-2{margin-bottom: 15px;}
footer ul{display: none;}
}




/* ------------------------------------------------
content
------------------------------------------------
*/

/*----------------------------
コンテンツ
----------------------------*/


/* アニメーション設定*/
.fadein{
opacity: 0;
transform: translate3d(0, 40px, 0);
}

.fadein.is-active{
opacity: 1;
transform: translate3d(0, 0, 0);
transition: 1s;
}


/* --------------パンくず-------------- */
ul.breadcrumb{
font-size: 0.8em;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin: 50px 0;
}

ul.breadcrumb li:not(:first-child){
margin-left: 10px;
}

ul.breadcrumb li:not(:first-child)::before{
content: ">";
padding-right: 10px;
}

ul.breadcrumb li:last-child::after{content: ""}
ul.breadcrumb li:last-child{color: #b4b4b5}


@media only screen and (max-width:768px){
ul.breadcrumb{justify-content: flex-start;font-size: 0.677em;margin: 30px 0;}
}

@media only screen and (max-width:768px){
ul.breadcrumb{margin: 20px 0;}
}


/* --------------pagination-------------- */

.pagination {text-align: center;}

.nav-links{
display: flex;
justify-content: center;
flex-wrap: wrap;
}

.pagination .page-numbers {
display: flex;
align-items: center;
justify-content: center;
width: 35px;
height: 35px;
margin: 0 15px 20px 0;
color: #808080;
background: #ffffff;
border: 1px solid #808080;
border-radius: 5px;
line-height: 0;
}

.pagination a:hover{
transition: .3s;
background: #355497;
border: 1px solid #355497;
color: #ffffff;
}

.pagination .current {
display: flex;
align-items: center;
justify-content: center;
width: 35px;
height: 35px;
color: #ffffff;
background: #355497;
border: 1px solid #355497;
border-radius: 5px;
}

.pagination .dots {background: transparent;}


/* ------------------------------------------------
ブログ
------------------------------------------------
*/

.archive-post{width: 30%;margin: 0 5% 50px 0;}
.archive-post:nth-child(3n){margin: 0 0 50px 0;}

.post-thumbnail {
overflow: hidden;
line-height: 0;
margin-bottom: 10px;
display: block;
position: relative;
}

.post-thumbnail img{
position: absolute;
width: 100%;
height: 100%;
top: 0;
object-fit: cover;
}

.post-thumbnail::before {
content: "";
display: block;
padding-top: 100%;
}

.archive-post img{transition: transform .4s;}

.archive-post a:hover img{
transform: scale(1.1);
-webkit-transform: scale(1.1);
opacity: 1;
transition: .4s;
}

.post-description h3{
font-size: 1.2em;
line-height: 1.6em;
margin-bottom: 0;
}

.post-description p{
line-height: 1.7em;
margin-bottom: 0;
}

.post-time{
margin-bottom: 0.2em;
}

@media only screen and (max-width: 768px){
.archive-post,
.archive-post:nth-child(3n){width: 48%;margin: 0 4% 25px 0;} 
.archive-post:nth-child(2n){margin: 0 0 25px 0;}
.archive-post .post-categories li a{font-size: 12px;}
}

@media only screen and (max-width: 520px){
.archive-post h3{font-size:1em;line-height:1.5em}
.archive-post p{font-size:0.8em}
}

/* カテゴリー お知らせ */
.post-news{
border-bottom: 1px solid #333333;
}

.post-news a{
display: block;
padding: 15px 0;
}

.post-news p{margin: 0;}

.category-news .pagination{margin-top: 50px;}


/* ------------------------------------------------
共通箇所
------------------------------------------------
*/

.main-tit{
font-size: 2em;
margin-bottom: 40px;
text-align: center;
margin-bottom: 50px;
}

.page-tit{
font-size: 1.8em;
font-weight: 600;
text-align: center;
margin: 30px auto 40px;
}

.blog-tit{
font-size: 1.75em;
font-weight: 600;
margin: 10px 0 20px;
}


@media only screen and (max-width: 520px){
.main-tit{font-size: 1.5em;margin-bottom: 20px;}
.page-tit{font-size: 1.8em;margin: 0 auto 20px;}
.blog-tit{font-size: 1.125em;margin: 10px 0;}
}



/* ------------------------------------------------
投稿ページ
------------------------------------------------
*/

.col--l .content{width: 70%;}
.sidebar{width: 25%;}

@media only screen and (max-width: 768px){
.col--l .content{width: 100%;}
.col--l .sidebar{display: none;}
}

.col--l .content p a{
font-size: 1.2em;
color: #355497;
border: 2px solid #355497;
border-radius: 50px;
padding: 12px 20px;
display: inline-block;
}

.col--l .content p a:hover{
opacity: 1;
color: #ffffff;
background-color: #355497;
}

@media only screen and (max-width: 768px){
.col--l .content{width: 100%;}
.col--l .sidebar{display: none;}
.col--l .content p a{font-size: 1em;padding: 10px 15px;border: 1px solid #355497;}
}


.post-item{margin-top: 50px;}

.post-tags{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}

.post-tags li{
font-size: 0.8em;
letter-spacing: 0.1em;
text-align: center;
display: inline-block;
margin-right: 15px;
}

.post-tags li a{color:#b4b4b5;}
.post-tags li a::after{content: ",";}
.post-tags li:last-of-type a::after{content: none;}
.post-tags li{margin-right: 5px;}

@media only screen and (max-width: 768px){
.post-item{margin-top: 30px;}
}


/* sidebar */
.sidebar .side-area{margin-bottom: 50px;}

.sidebar h3{
font-size: 1.2em;
line-height: 1.1em;
padding: 5px 0;
margin: 0;
border-bottom: 1px solid #333333;
}

.sidebar .side-area ul li{
border-bottom: 1px dashed #333333;
}


.sidebar .side-area ul li a{
display: block;
padding: 15px 0;
}


.sidebar .side-active select{
color: #333333;
border: 1px solid #333333;
width: 100%;
padding: 5px;
margin-top: 15px;
}



/* 検索フォーム */
.search-container {
box-sizing: border-box;
position: relative;
border: 1px solid #808080;
width: 100%;
overflow: hidden;
margin-bottom: 50px;
}

.search-container input[type="text"] {
border: none;
padding: 6px;
width: 100%;
}

.search-container input[type="text"]:focus {
outline: 0;
}

.search-container input[type="submit"] {
cursor: pointer;
background-image: url(./images/common/search.svg);
background-size: 20px;
background-repeat: no-repeat;
background-color: #ffffff;
background-position: 16px 17px;
font-size: 1.3em;
border: none;
position: absolute;
width: 2.5em;
height: 2.5em;
right: 0;
top: -8px;
outline: none;
}

@media only screen and (max-width: 768px){
.search-container{width: 50%;margin: 0 auto 5%}
}

@media only screen and (max-width: 480px){
.search-container{width: 60%;}
}

.sidebar .side-active select{
width: 100%;
padding: 5px
}


@media only screen and (max-width: 520px){
.page-article{margin-top: 30px;margin-bottom: 15px;}
.previous-article,
.next-article{width: 100%;}
.previous-article{margin-bottom: 20px;}
.previous-article a::before,
.next-article a::after{padding-left: 11px;height: 11px;}
.side-area{margin-bottom: 20px;}
}


/* 関連記事 */
.related-tit{
font-size: 1.2em;
border-bottom: 1px solid #333333;
}

.related article{
border-bottom: 1px dashed #333333;
}

.related article a{
align-items: center;
padding: 20px 0;
}


.related .post-thumbnail{
width: 25%;
height: 120px;
overflow: hidden;
margin-bottom: 0;
}

.related .post-thumbnail img{
width: 100%;
height: 100%;
object-fit: cover; 
}

.related .post-description{width: 70%;}

.related .post-description p{margin-bottom: 0;}

@media only screen and (max-width: 520px){
.related .post-thumbnail{
width: 30%;
height: 80px;
}
.related .post-description{width: 66%;}
.related .post-description h3{font-size: 1em;}
}


/* 前後の記事 */
.page-article{margin-top: 80px;}

.page-article li img{
width: 100px;
height: 100px;
object-fit: cover;
}

.page-article li p{
margin: 0 20px;
}

.previous-article,
.next-article{
width: 40%;
font-size: 13px;
}

@media only screen and (max-width: 920px){
.previous-article,
.next-article{width: 100%;padding: 10px;}
}


.previous-article a,
.next-article a{
display: flex;
align-items: center;
}

.previous-article a::before,
.next-article a::after{
content: "";
display: inline-block;
padding-left: 20px;
height: 20px;
margin: 0 10px;
transform: rotate(45deg);
}

.previous-article a:before{
border-left: 2px solid #dddddd;
border-bottom: 2px solid #dddddd;
}

.next-article a{
justify-content: flex-end;
}

.next-article a::after{
border-right: 3px solid #dddddd;
border-top: 3px solid #dddddd;
}





.col--l p,figure{margin-bottom: 1.5em;}


/* --------------------------------------------------------------------------------------------------------------------------------------------
*
各ページ
*
--------------------------------------------------------
------------------------------------------------------------------------------------
*/



/*----------------------------
top
----------------------------*/
#site-content-top{margin-top: 90px;}

#site-content-top h1{margin-bottom: 30px;}

.top-content h2{
display: flex;
justify-content: center;
align-items: center;
position: relative;
}


.top-content h2:before,
.top-content h2:after{
content: "";
display: inline-block;
background-size: contain;
background-repeat: no-repeat;
position: absolute;
}

/* News */
.top-news {
border-bottom: 1px solid #333333;
padding-bottom: 30px;
}

.top-news h2 {
color: #ffffff;
text-align: center;
background: #355497;
height: 58px;
margin-bottom: 30px;
width: 90%;
height: 58px;
margin: 0 auto 30px;

}

.top-news h2::before,
.top-news h2::after{
background-image: url(./images/top/deco.png);
width: 80px;
height: 58px;
}

.top-news h2::before{
left: -6%;
}

.top-news h2::after{
right: -6%;
transform: rotate(180deg);
}

.top-news a{
justify-content: center;
align-items: center;
margin-bottom: 1.5em;
transition: all .4s;
}

.top-news a p{
margin-bottom: 0;
transition: all .4s;
}

.top-news a:hover p{
color: #355497;
}

.top-news a .post-time{
width: 12%;
margin:0 2% 0 0;
}

.top-news a .post-description{width: 60%;}

@media only screen and (max-width:1000px) {
.top-news a .post-time{width: 15%;}
.top-news a .post-description{width: 70%;}
}

@media only screen and (max-width:620px) {
.top-news a .post-time,
.top-news a .post-description{width: 100%;}
}

@media only screen and (max-width:480px) {
.top-news h2 {
width: 85%;
height: 40px;
}

.top-news h2::before,
.top-news h2::after{
width: 55px;
height: 40px;
}

.top-news h2::before{left: -8%;}
.top-news h2::after{right: -8%;}
}

/* Access */
.top-access h2 {
color: #ffffff;
text-align: center;
margin-bottom: 30px;
position: relative;
margin: 0 auto 30px;
background:
url(./images/top/deco02_left.png) left center no-repeat,
url(./images/top/deco02_right.png) right center no-repeat,
#287f9a;
background-size: 380px auto;
height: 77px;
}

.top-access h2 img{width: 100px;}


.top-access .d-flex{
width: 75%;                 
margin: 0 auto 20px;
}

.top-access .d-flex .col2 p:last-of-type{
font-size: 1.5em;
font-weight: 600;
color: #b4b4b5;
}


@media only screen and (max-width:768px) {
.top-access .d-flex{
width: 90%;                 
margin: 0 auto 20px;
}

.top-access .d-flex .col2{
width: 48.2%;
}

}

@media only screen and (max-width:650px) {
.top-access h2 {
background:
url(./images/top/deco02_leftSp.png) left center no-repeat,
url(./images/top/deco02_rightSp.png) right center no-repeat,
#287f9a;
background-size: 100px auto;
height: 65px;
}

.top-access h2 img{width: 80px;}

}

@media only screen and (max-width:480px) {
.top-access .d-flex{
width: 85%;                 
margin: 0 auto 20px;
}

.top-access .d-flex .col2{
width: 100%;
}

}


/* Blog */
.top-blog h2{
font-size: 1.2em;
border-top: 1px solid #333333;
border-bottom: 1px solid #333333;
justify-content: flex-start;
padding: 10px 0 5px;
margin-bottom: 30px;
}

.top-blog h2 span{
width: 100px;
margin-right: 10px;
}

.moreBtn{
width: 90px;
margin: 0 auto;
}

.moreBtn a{
display: block;
border: 1px solid #333333;
padding: 8px 20px;
text-align: center;
transition: ease .4s;
}

.moreBtn a:hover{
color: #ffffffff;
border: 1px solid #355497;
background: #355497;
}




@media only screen and (max-width:480px) {
.Pagemain{
height: 120px;
}

.Pagemain img{
width: 100%;
height: 100%;
object-fit: cover;
}

}

.fixity span{
color: #355497;
font-weight: 600;
}

/*----------------------------
About us
----------------------------*/
.about section{margin-bottom: 50px;}
.about section p{margin: 0 0 2em;}

.about h2{
font-size: 1.334em;
font-weight: 300;
border-top: 1px solid #333333;
border-bottom: 1px solid #333333;
}

.about section h2{
display: flex;
align-items: center;
margin-bottom: 40px;
}

.about section h2::before{
content: "";
background-image: url(./images/page/deco03.svg);
display: inline-block;
background-size: contain;
background-repeat: no-repeat;
width: 66px;
height: 66px;
margin-right: 10px;
}

.about-content01 h3{
font-size: 1.7em;

text-align: center;
margin-bottom: 40px;
}

.about-content02 h3{
font-size: 1.2em;
border-bottom: 1px solid #333333;
border-left: 10px solid #0090cc;
padding: 0 0 5px 15px;
margin-bottom: 30px;
}

.teacherImg{
max-width: 550px;
margin: 0 auto;
}

.about-content03 h3{
font-size: 1.06em;
color: #355497;
font-weight: 600;
border-bottom: 1px solid #333333;
padding: 0 0 10px;
margin-bottom: 30px;
}

.about-content03 ul li {
color: #355497;
font-weight: 600;
margin: 0 0 1em;
}

.about-content03 h4{
font-size: 1em;
border-bottom: 1px solid #333333;
display: inline-block;
}

.about-content03 ul li:nth-of-type(2){color: #0090cc;}
.about-content03 ul li:nth-of-type(3){color: #009683;}

.company-about h2{
text-align: center;
padding: 10px;
}


/*----------------------------
Course contents
----------------------------*/
.course h2 {
color: #ffffff;
margin-bottom: 30px;
position: relative;
margin: 0 auto 30px;
display: flex;
align-items: center;
padding-left: 20px;
background:
url(./images/page/deco04.png) right center no-repeat,
#355497;
background-size: 460px auto;
height: 77px;
}

.course section{
border: 1px solid #333333;
padding: 50px;
margin-bottom: 50px;
}

.course section h3{
font-weight: 600;
color: #355497;
border-top: 1px solid #333333;
border-bottom: 1px solid #333333;
padding: 15px 0;
margin-bottom: 30px;
}


.course section .course-pattern{
width: 200px;
margin-bottom: 30px;
}

.course section .course-subject{
justify-content: flex-start ;
align-items: center;
margin-bottom: 30px;
}

.course section .course-subjectTit{
font-size: 1.3em;
color: #ffffff;
background: #355497;
width: 95px;
height: 95px;
border-radius: 50%;
display: flex;
justify-content: center;
align-items: center;
}

.course section .course-subject p{
font-size: 1.2em;
text-align: center;
font-weight: 600;
color: #355497;
border: 2px solid #355497;
border-radius: 50px;
padding: 0 12px;
margin: 0 0 0 15px;
}

.course section:nth-of-type(2) h3{
color: #0090cc;
}

.course section:nth-of-type(2) .course-subjectTit{
background: #0090cc;
}

.course section:nth-of-type(2) .course-subject p{
color: #0090cc;
border: 2px solid #0090cc;
}


.course section:nth-of-type(3) h3{
color: #009683;
}

.course section:nth-of-type(3) .course-subjectTit{
background: #009683;
}

.course section:nth-of-type(3) .course-subject p{
color: #009683;
border: 2px solid #009683;
}


@media only screen and (max-width:550px) {
.course h2 {
background:
url(./images/page/deco04Sp.png) right center no-repeat,
#355497;
background-size: 200px auto;
height: 65px;
}

}

@media only screen and (max-width:480px) {
.course section{padding: 20px;}
.course section .course-pattern{
width: 120px;
margin-bottom: 15px;
}

.course section h3{
padding: 10px 0;
}

.course section .course-subjectTit{
font-size: 1.2em;
width: 80px;
height: 80px;
}

.course section .course-subject p{
font-size: 1em;
width: auto;
margin: 0 0 0 10px;
}
}

.originalTextTit{
max-width: 300px;
margin: 0 auto 40px;
}

.originalText p{
max-width: 520px;
margin: 0 auto 40px;
}

.originalText .col2 a{
font-size: 1.2em;
font-weight: 600px;
color: #ffffff;
background-image: url(./images/page/back01.png);
background-color: #355497;
background-size: contain;
background-repeat: no-repeat;
background-position: right;
height: 160px;
display: flex;
align-items: center;
padding: 20px;
}


@media only screen and (max-width:768px) {
.originalText .col2{
margin-bottom: 30px;
}

.originalText .col2 a{
height: 120px;
}

}


#price{
background: #dfeaf8;
}

#price .container-inner{
padding: 50px 20px;
}

#price h3{
color: #355497;
text-align: center;
background: #ffffff;
border-radius: 50px;
padding: 10px;
margin-bottom: 40px;
}

.enrollment-price{
border-top: 1px solid #333333;
padding: 20px 0;
}

.enrollment-price:nth-of-type(2){
border-bottom: 1px solid #333333;
margin-bottom: 50px;
}

.enrollment-price .d-flex{
justify-content: center;
align-items: flex-end;
}

.enrollment-price h5{
font-size: 1.2em;
width: 35%;
margin-bottom: 0;
}

.enrollment-price .d-flex p{
font-size: 1.4em;
width: 20%;
margin-bottom: 0;
}

.discount{
background: #c7dcf2;
padding: 30px 50px;
align-items: flex-start;
}


.discountTit{
font-size: 1.2em;
border: 2px solid #ffffff;
width: 15%;
aspect-ratio: 1 / 1;
border-radius: 50%;
display: flex;
justify-content: center;
align-items: center;
}


.various-discounts{
width: 80%;
}

.various-discounts .d-flex{
border-bottom: 1px solid #ffffff;
padding-bottom: 20px;
margin-bottom: 20px;
}

.various-discounts h4{
text-align: center;
color: #355497;
background: #ffffff;
padding: 5px;
border-radius: 10px;
}

.various-discounts dl dt{
color: #355497;
font-weight: 600;
}


.contactBtn a{
display: block;
text-align: center;
border: 2px solid #ffffff;
background: #ffffff;
padding: 5px;
border-radius: 10px;
transition: ease .4s;
}

.contactBtn a:hover{
background: none;
}


@media only screen and (max-width:768px) {

.enrollment-price h5{width: 55%;}


.discountTit,
.various-discounts{
width: 100%;
}

.discountTit{
display: block;
aspect-ratio: 0 / 1;
border-radius: 20px;
text-align: center;
margin-bottom: 20px;
}

}

@media only screen and (max-width:480px) {
#price h3{padding: 5px; margin-bottom: 20px;}
.enrollment-price{padding: 10px 0;}
.enrollment-price h5{
font-size: 0.85em;
width: 70%;
}

.enrollment-price .d-flex p{
font-size: 1.2em;
width: 25%;
}
.discount{padding: 30px;}

}



/*----------------------------
contact
----------------------------*/
.contactBnr{
font-size: 1.5em;
}

.contactBnr a{
display: flex;
justify-content: center;
align-items: center;
color: #ffffff;
text-align: center;
margin-bottom: 30px;
position: relative;
margin: 0 auto 30px;
background:
url(./images/page/back02_left.png) left center no-repeat,
url(./images/page/back02_right.png) right center no-repeat,
#9ec7c0;
background-size: 280px auto;
height: 150px;
}


@media only screen and (max-width:768px) {
.contact .d-flex .col2{
height: 200px;
margin-bottom: 30px;
}

.contact .d-flex .col2 img{
width: 100%;
height: 100%;
object-fit: cover;
}
}


@media only screen and (max-width:480px) {
.contact .d-flex .col2{
height: 120px;
}

.contactBnr{font-size: 1em;}
.contactBnr a{
background-size: 140px auto;
height: 75px;
}
}

/* --------------お問い合わせ-------------- */
.contact-inner{max-width: 850px;margin: 40px auto 0;}

.contact dl{margin-bottom: 50px;}
.contact dl dt{width: 100%;margin-bottom: 5px;}

.contact p span,
.contact dt span{
font-size: 0.813em;
color: #ff0000;
}

.contact dl dd.d-flex div{width: 48.5%;}

.contact dl dd span input,
.contact dl dd span textarea{
font-size: 1em;
display: block;
width: 100%;
padding: 10px 12px;
background-color: #f2f2f2;
border: none;
}

@media only screen and (max-width: 480px){
.contact dl{margin-bottom: 40px;}
}

.contact-btn{
max-width: 318px;
margin: 0 auto 20px;
display: block;
text-align: center;
}

.contact-btn input{
font-size: 1em;
width: 100%;
background-color: #355497;
border: 1px solid #355497;
border-radius: 50px;
color: #ffffff;
transition: .5s ease;
padding: 15px;
}

.contact-btn input:hover{
cursor: pointer;
background-color: #ffffff;
color: #355497;
}

.contact .text-center .orange{font-size: 45px;}

.contact select{padding: 10px 15px;}

.wpcf7 form.invalid .wpcf7-response-output, 
.wpcf7 form.unaccepted .wpcf7-response-output, 
.wpcf7 form.sent .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output{
border: none;
text-align: center;
color: #dc3232;
}

.wpcf7-radio .wpcf7-list-item input{
display: inherit;
width: inherit;
}

.wpcf7-list-item-label::before,
.wpcf7-list-item-label::after{
content: none;
}

.wpcf7-list-item{margin: 0 0 0 1.2em;}
.wpcf7-list-item:first-child{margin: 0;}


@media only screen and (max-width: 768px) {
.wpcf7-list-item{font-size: 13px;}
.contact .wpcf7-form input[type="submit"]{padding: 15px 10px;}
.contact .text-center .orange{font-size: 1.75em;}
}

@media only screen and (max-width: 520px){
.contact .text-center .orange{font-size: 1.125em;}
.wpcf7-list-item:nth-child(3){margin:0}
}


/* reCAPTCHA */
.fixity .contact-privacy{
text-align:center;
font-size:12px
}

.grecaptcha-badge { visibility: hidden; }

