@charset "UTF-8";
/* CSS Document */

/* Reset -------------------------------------------- */

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, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {border: 0;font-family: inherit;font-size: 100%;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;}
:focus {outline: 0;}

ol, ul {list-style: none outside none;}
table {border-collapse: collapse;border-spacing: 0;}
caption, th, td {font-weight: normal;text-align: left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
a img {border: 0;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}

html {overflow-y: scroll;}
body{
font:80%/1.5 'Avenir','Roboto',"Noto Sans JP", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "HIragino Kaku Gothic Pro", Meryo, "メイリオ", Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
color:#000;
-webkit-text-size-adjust: 100%;
background:#fff;
}
html>/**/body {}
* + html body {font-family: "メイリオ","Meiryo";}

object, embed	{vertical-align: top;}
hr, legend	{display: none;}
img {-ms-interpolation-mode: bicubic; }
li	{list-style-type: none;}
p, dd, blockquote {text-align: justify;text-justify: inter-ideograph;}
a	{overflow: hidden;outline: none;}

strong {font-weight: bold;}
sub, sup {font-size: 75%;line-height: 0;position: relative;vertical-align: baseline;}
sup {top: -0.5em;}
sub {bottom: -0.25em;}

/* -------------------------------------------- */


/* Style -------------------------------------------- */

body {
	color: #333;
	font-size: 16px;
	line-height: 1.7;
	background-color: #fff;
}

a{
	margin: 0;
	padding: 0;
	text-decoration: none;
	outline: 0;
	vertical-align: baseline;
	background: transparent;
	font-size: 100%;
	color: #000;
	transition: all 0.2s linear;
}


/* --------------------------------------------------
  Structure
-------------------------------------------------- */

header.common, footer.common {
	clear: both;
	width: 100%;
	position: relative;
}

.ivmvel{
	opacity: 0.0;
	-webkit-transform: translate(0, 40px); 
	transform: translate(0, 40px); 
	transition: all 0.8s ease;
}
.ivmv{
	opacity: 1.0;
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0); 
}
.ivhmvel{
	opacity: 1.0;
	transition: opacity 0.8s ease;
	z-index: 100;
}
.ivhmv{
	opacity: 0.0;
	z-index: -1;
}


/* --------------------------------------------------
  Common Header
-------------------------------------------------- */

header.common {
	width: 100%;
	height: 90px;
    
	position: fixed;
	z-index: 500;
	
	background-color: rgba(255, 255, 255, 1.0);
/*    border-bottom: 1px solid #eee;*/
	filter: drop-shadow(2px 2px 3px rgba(0, 0, 0, 0.3));
    will-change: filter;
}

header.common #logo{
	width: 200px;
    height: 100%;
	position: absolute;
	top: 0;
    left: 22px;
	line-height: 0;
	z-index: 550;
    
    display: flex;
    align-items: center;
}
header.common #logo img{
	width: 100%;
	height: auto;
}




/* --------------------------------------------------
  Home, Sub
-------------------------------------------------- */

#homeMainImage{
	width: 100%;
	height: 1000px;
	position: relative;
/*	z-index: -1;*/

    padding-top: 90px;
}

#homeMainImage .content{
	width: 100%;
	height: 100%;
	margin: 0 auto;
	
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
	align-items: center;
    align-content: center;
    
    position: relative;
    z-index: 100;
}
#homeMainImage .image{
	width: 100%;
	height: 100%;
    
    position: absolute;
    left: 0;
    top: 0;
    z-index: 200;
}
#homeMainImage .image ul{
	width: 100%;
	height: 100%;

    position: absolute;
    left: 0;
    top: 0;
}
#homeMainImage .image li{
	width: 100%;
	height: 100%;
    
    position: absolute;
    left: 0;
    top: 0;

    background-color: transparent;
    
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}


#homeMainImage .copyArea{
    box-sizing: border-box;
    width: 100%;
    height: 100%;

    position: relative;
    z-index: 300;
    
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-content: flex-end;
    align-items: flex-end;
}
#homeMainImage .performance{
    box-sizing: border-box;
    
    width: 80%;
    max-width: 600px;
    
    padding: 20px 20px 20px 30px;
    
    display: flex;
    align-content: center;
    align-items: center;
    
    background-color: #fd6161;
    
}
#homeMainImage .publish{
    font-size: 22px;
    font-weight: bold;
    color: #fff;
    line-height: 1.0;
    
    white-space: nowrap;
}
#homeMainImage .student{
    font-size: 16px;
    font-weight: bold;
    color: #fff;
    line-height: 1.0;
	
	letter-spacing: -0.02em;
    
    white-space: nowrap;
}

#homeMainImage .mainCopy{
    box-sizing: border-box;
    width: 100%;
    text-align: left;
    
    margin-top: 50px;

	padding-left: 30px;
    
    font-size: 40px;
    font-weight: bold;
    color: #000;
    line-height: 1.0;
    
    white-space: nowrap;
	filter: drop-shadow(2px 2px 3px rgba(255, 255, 255, 0.6));
    
    margin-bottom: 20px;
}
#homeMainImage .subCopy{
    box-sizing: border-box;
    width: 100%;
    text-align: left;
    
    padding-left: 30px;
    
    font-size: 30px;
    font-weight: bold;
    color: #000;
    line-height: 1.4;
    
    white-space: nowrap;
	filter: drop-shadow(2px 2px 3px rgba(255, 255, 255, 0.6));
    
    margin-bottom: 50px;
}


.secBlk{
	width: 90%;
	margin: 0 auto;
	
	padding: 80px 0 80px;
}
.secBlk.form{
	max-width: 1000px;
	min-height: 800px;
}
.secBlk.form.sm{
	max-width: 1000px;
	min-height: 300px;
}
.secBlk.strMain{
	width: 95%;
}
.bbg{
    width: 100%;
	background-color: #edf4fa;
}
.bbg2{
    width: 100%;
	background-color: #f2f7fb;
}
.bbo{
    width: 100%;
	background-color: #fcf9f3;
}
.rbg{
    width: 100%;
	background-color: #fff4f4;
}
.ybg{
    width: 100%;
	background-color: #fffded;
}

h1.common{
    width: 100%;
    margin: 0 auto;
    
    font-size: 30px;
    font-weight: bold;
    color: #00458b;
    text-align: center;
    
    margin-bottom: 40px;
}
h2{
    width: 100%;
    margin: 0 auto;
    
    font-size: 30px;
    font-weight: bold;
    color: #00458b;
    text-align: center;
    
    margin-bottom: 60px;
}
h2.attention{
    color: #ff0000;
}


.homeExample{
	width: 100%;
    height: auto;
	display: block;
	position: relative;
	overflow: hidden;
	
	line-height: 0;
    
    background-image: url("img/bg_home-example_20210901.jpg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}
.homeExample::before{
	content:"";
	display: block;
	padding-top: 50%;
}
.homeExample.v2{
    background-image: url("img/bg_home-example2.jpg");
}

.homeExample .content{
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    
    display: flex;
    justify-content: center;
    align-content: center;
    align-items: center;
}
.homeExample .body{
    width: 80%;
    height: 80%;
    background-color: rgba(255, 255, 255, 0.9);
    
    border-radius: 50%;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-content: center;
    align-items: center;
}
.homeExample .body h2{

    font-size: 26px;

    line-height: 1.6;
    margin-bottom: 40px;
}



ul.books{
    width: 95%;
    max-width: 1200px;
    margin: 0 auto;
    
    display: flex;
    flex-wrap: wrap;
}
ul.books li{
    width: 29%;
    margin: 0 2%;

    display: flex;
}
ul.books li .cover{
    width: 35%;
    margin-right: 5%;
    line-height: 0;
}
ul.books li .cover img{
    width: 100%;
    height: auto;
}
ul.books li .text{
    width: 60%;
	height: 100%;
	
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
ul.books li .title{
    margin-bottom: 10px;
    line-height: 1.5;
}
ul.books li .author{
    margin-bottom: 10px;
}


ul.feature{
    width: 100%;
    margin: 0 auto;
    max-width: 800px;
    
    margin-bottom: 30px;
}
ul.feature li{
    width: 100%;
    
    position: relative;
    
    display: flex;
    justify-content: space-between;
    align-content: center;
    align-items: center;
    
    margin-bottom: 10px;
}
ul.feature li .num{
    width: 8%;
}
ul.feature li .num .label{
    width: 60px;
    height: 60px;
    
    background-color: #00abce;
    border-radius: 50%;
    
    display: flex;
    justify-content: center;
    align-content: center;
    align-items: center;
    
    transform: translateX(50px);
}
ul.feature li .num .label .number{
    font-size: 20px;
    font-weight: bold;
    color: #fff;
}
ul.feature li .content{
    box-sizing: border-box;
    width: 92%;
    margin-right: 50px;
    
    padding: 12px 20px 12px 70px;
    
    font-size: 14px;
    line-height: 1.5;

    background-color: #fff;
    border-radius: 20px;
}
ul.feature li .content strong{
    font-weight: bold;
    font-size: 18px;
}


.introWP{
    width: 100%;
    
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.introWP .photo{
    width: 35%;
}
.introWP .text{
    width: 60%;
}
.introWP .photo img{
    width: 100%;
    height: auto;
}
.introWP.sub{
	max-width: 1100px;
	margin: 0 auto;
}
.introWP.sub .photo{
    width: 25%;
}
.introWP.sub .text{
    width: 70%;
}

.chart{
    width: 100%;
	margin: 0 auto;
	max-width: 600px;

	margin-bottom: 30px;
}
.chart img{
    width: 100%;
    height: auto;
}


.homeST{
    width: 100%;
	margin: 0 auto;
	max-width: 800px;

	margin-bottom: 70px;
}
.homeST .movie{
	position: relative;
    width: 100%;
	padding-top: 56.25%;
	
	margin-bottom: 20px;
    
    background-color: #fff;
}
.homeST .movie iframe{
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}
.homeST .data{
	width: 100%;
	text-align: center;
}
.homeST .name{
	font-size: 18px;
    font-weight: bold;
    line-height: 1.3;
    
    margin-bottom: 5px;
}
.homeST .jobtitle{
	font-size: 16px;
    line-height: 1.3;
    
    margin-bottom: 15px;
}




.president .title{
    font-size: 18px;
    font-weight: bold;
    
    margin-bottom: 10px;
}
.president .name{
    font-size: 24px;
    font-weight: bold;
    
    color: #00458b;
    
    margin-bottom: 10px;
}
.president .name .kana{
    font-size: 20px;
}


.readmore{
    text-align: center;
}
.cmnBtn a{
    box-sizing: border-box;
    display: inline-block;

    padding: 15px 50px;
    font-size: 16px;
    
    color: #fff;
    line-height: 1.0;
    white-space: nowrap;
    border-radius: 30px;
    text-align: center;
    
    background-color: #00458b;
    box-shadow: 0 1px 7px rgba(0,0,0,0.4);

}
.cmnBtn a::before{
    content: "　";
}
.cmnBtn a::after{
    font-weight: bold;
    content: "　\f054";
    font-family: "Font Awesome 5 Free";
}
.cmnBtn.ext a::after{
    font-weight: bold;
    content: "　\f35d";
    font-family: "Font Awesome 5 Free";
}
.cmnBtn a:hover{
    opacity: 0.9;
    box-shadow: none;
}

.cmnBtn.detail a{
    padding: 5px 20px;
    font-size: 14px;

    border-radius: 20px;
}
.cmnBtn.detail a::before{
    content: "";
}
.cmnBtn.detail a::after{
    content: "";
}

.cmnBtn.detail2 a{
    padding: 8px 30px;
    font-size: 14px;

    border-radius: 20px;
}

.cmnBtn.back{
    text-align: center;
}
.cmnBtn.back a{
    padding: 7px 50px;
    font-size: 14px;

    border-radius: 30px;
}
.cmnBtn.back a::before{
    content: "";
}
.cmnBtn.back a::after{
    content: "";
}

.cmnBtn.nv a{

    padding: 17px 57px;
    font-size: 18px;
    
    line-height: 1.3;
    white-space: normal;
    border-radius: 10px;
    text-align: center;
    
    background-color: #ff9f00;
    box-shadow: 0 1px 7px rgba(0,0,0,0.4);
}
.cmnBtn.nvb a{

    padding: 14px 50px;
    font-size: 17px;
    
    line-height: 1.3;
    white-space: normal;
    border-radius: 10px;
    text-align: center;
    
    background-color: #2ca71c;
    box-shadow: 0 1px 7px rgba(0,0,0,0.4);
}

.cmnBtn.nvs,
.cmnBtn.nvbs,
.cmnBtn.nvcs{
    line-height: 1.0;
    padding: 0 5px;
}
.cmnBtn.nvs a,
.cmnBtn.nvbs a,
.cmnBtn.nvcs a{
    padding: 12px 20px 12px 10px;
    font-size: 14px;
    
    line-height: 1.0;
    white-space: normal;
    border-radius: 10px;
    text-align: center;
    
    box-shadow: 0 1px 7px rgba(0,0,0,0.4);
}
.cmnBtn.nvs a{
    background-color: #ff9f00;
}
.cmnBtn.nvbs a{
    background-color: #009cbe;
}
.cmnBtn.nvcs a{
    background-color: #eee;
	color: #666;
	font-size: 13px;
}

.cmnBtn.ev a{
    background-color: #ff9f00;
}


ul.fbtns{
    width: 100%;
}
ul.fbtns li{
    width: 100%;
    margin-bottom: 1.5em;
}

.cmnBtn.amazon{
    text-align: center;
}
.cmnBtn.amazon a{

    padding: 5px 10px;
    font-size: 14px;
    
    line-height: 1.3;
    white-space: normal;
    border-radius: 10px;
    text-align: center;
    
    background-color: #ff9a1a;
    box-shadow: 0 1px 7px rgba(0,0,0,0.4);

}




p{
    font-size: 15px;
    line-height: 1.8;
}
p.note,
p.note2{
    width: 100%;
    margin: 0 auto;
    text-align: center;
    line-height: 1.6;
}
p.note a,
p.note2 a{
    color: #c4143b;
    text-decoration: underline;
}
p.note a:hover,
p.note2 a:hover{
    text-decoration: none;
}

p.intro{
    width: 100%;
    margin: 0 auto;
    max-width: 640px;
}
p.intro .name{
    display: block;
    text-align: right;
}
p.lead{
    width: 100%;
    margin: 0 auto;
    max-width: 800px;
}
p.leadC{
    width: 100%;
    margin: 0 auto;
    max-width: 800px;
    
    text-align: center;
}


ul.cmn{
    list-style-type: disc;
    margin-left: 1.5em;
}
ul.cmn li{
    list-style-type: disc;
    
    font-size: 15px;
    line-height: 1.6;
    
    margin-bottom: 10px;
}



#subPage{
    width: 100%;
    padding-top: 90px; 
}

.subImage{
	width: 100%;
    height: auto;
	display: block;
	position: relative;
	overflow: hidden;
	
	line-height: 0;
    
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100% auto;
}
.subImage::before{
	content:"";
	display: block;
	padding-top: 33%;
}
.subImage.feature{
    background-image: url("img/subImage_feature.jpg");
}
.subImage.curriculum{
    background-image: url("img/subImage_curriculum.jpg");
}
.subImage.example{
    background-image: url("img/subImage_example.jpg");
}
.subImage.testimonials{
    background-image: url("img/subImage_testimonials.jpg");
}
.subImage.events{
    background-image: url("img/subImage_events.jpg");
}
.subImage.aboutus{
    background-image: url("img/subImage_aboutus.jpg");
}
.subImage.management{
    background-image: url("img/subImage_management.jpg");
}

.subImage .content{
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    
    position: absolute;
    left: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    
    display: flex;
    justify-content: center;
    align-content: center;
    align-items: center;
}
.subImage .title{
    font-size: 36px;
    font-weight: bold;
    color: #fff;
    letter-spacing: 0.05em;
}


ul.breadcrumb {
    box-sizing: border-box;
    padding: 10px 30px 0;
/*    white-space: nowrap;
    overflow-x: scroll;*/
}
ul.breadcrumb li {
    font-size: 13px;
    display: inline-block;
    
    line-height: 1.3;
}
ul.breadcrumb li:not(:last-child)::after {
    content: ">";
    margin: 0 0.5em;
}
ul.breadcrumb li a{
    text-decoration: underline;
}
ul.breadcrumb li a:hover{
    text-decoration: none;
}



ul.featureSub{
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
ul.featureSub li{
    width: 47%;

    margin-bottom: 50px;
}
ul.featureSub li .image{
    width: 100%;
    line-height: 0;
    
    margin-bottom: 20px;
}
ul.featureSub li .image img{
    width: 100%;
    height: auto;
}
ul.featureSub li h3{
    font-size: 18px;
    font-weight: bold;
    line-height: 1.3;
    text-align: center;
    margin-bottom: 20px;
}




ul.booksSub{
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    
    display: flex;
    flex-wrap: wrap;
}
ul.booksSub li{
    width: 21%;
    margin: 0 2%;
    
	display: flex;
	flex-direction: column;
	justify-content: space-between;

	margin-bottom: 50px;
}
ul.booksSub li .cover{
    width: 80%;
    margin: 0 10%;
    line-height: 0;
    
    margin-bottom: 20px;
}
ul.booksSub li .cover img{
    width: 100%;
    height: auto;
}
ul.booksSub li .cover a:hover{
    opacity: 0.7;
}
ul.booksSub li .title{
    margin-bottom: 10px;
    line-height: 1.5;
}
ul.booksSub li .author{
    margin-bottom: 10px;
    
    text-align: center;
}
ul.booksSub li .cmnBtn{
    text-align: center;
}
ul.booksSub li .cmnBtn.tl a{
	line-height: 1.2;
}
ul.booksSub li .cmnBtn.detail.tl a{
	padding: 5px 20px 3px;
	border-radius: 30px;
}


.bookDetail{
    width: 100%;
    max-width: 900px;
    margin: 0 auto;

    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.bookDetail .cover{
    width: 25%;
    margin-right: 5%;
    line-height: 1;
}
.bookDetail .cover img{
    width: 100%;
    height: auto;
    
    margin-bottom: 40px;
}
.bookDetail .cover .release{
    text-align: center;
}
.bookDetail .text{
    width: 70%;
    
    margin-bottom: 50px;
}
.bookDetail .title{
    font-size: 24px;
    
    margin-bottom: 20px;
    line-height: 1.5;
}
.bookDetail .author{
    font-size: 18px;

    margin-bottom: 30px;
}
.bookDetail .text p{
    margin-bottom: 1.5em;
}
.bookDetail .backLink{
    width: 100%;
    margin-bottom: 30px;
}


.profile{
    width: 100%;
    margin-bottom: 0px;
    
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.profile .title{
    width: 100%;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.0;
    text-align: center;
    padding: 12px 0 10px;
    background-color: #eee;
    border-radius: 10px;
/*    border-bottom: 1px solid #ccc;*/
    margin-bottom: 30px;
    
}
.profile .photo{
    width: 15%;
    margin-bottom: 20px;
}
.profile .photo .image{
    width: 100%;
    height: auto;
	display: block;
	position: relative;
	overflow: hidden;
	
	line-height: 0;
    
    background-position: center top;
    background-repeat: no-repeat;
    background-size: 100% auto;
    
    border-radius: 50%;
}
.profile .photo .image::before{
	content:"";
	display: block;
	padding-top: 100%;
}
.profile .text{
    width: 80%;
    margin-bottom: 0;
}
.profile .name{
    font-size: 20px;
    margin-bottom: 20px;
}


ul.testimonials{
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
ul.testimonials li{
    width: 27%;
    margin: 0 3%;

    display: flex;
    flex-direction: column;
	justify-content: space-between;
    
    margin-bottom: 50px;
}
ul.testimonials li .photo{
    width: 70%;
    margin: 0 15%;
    line-height: 0;
    
    margin-bottom: 20px;
}
ul.testimonials li .photo img{
    width: 100%;
    height: auto;
}
ul.testimonials li .photo .image{
    width: 100%;
    height: auto;
	display: block;
	position: relative;
	overflow: hidden;
	
	line-height: 0;
    
    background-position: center top;
    background-repeat: no-repeat;
    background-size: 100% auto;
    
	border-radius: 50%;
}
ul.testimonials li .photo .image::before{
	content:"";
	display: block;
	padding-top: 100%;
}
ul.testimonials li .text{
    width: 100%;
}
ul.testimonials li .name{
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 5px;
    line-height: 1.5;

    text-align: center;
}
ul.testimonials li .jobtitle{
    margin-bottom: 10px;
    
    text-align: center;
}
ul.testimonials li .cmnBtn{
    text-align: center;
}



.testimonial{
    width: 100%;
    margin: 0 auto;
    max-width: 1000px;
    
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-content: center;
    align-items: center;
}
.testimonial .photo{
    width: 35%;
    padding-bottom: 50px;
}
.testimonial .photo .image{
    width: 100%;
    height: auto;
	display: block;
	position: relative;
	overflow: hidden;
	
	line-height: 0;
    
    background-position: center top;
    background-repeat: no-repeat;
    background-size: 100% auto;
    
    border-radius: 50%;
}
.testimonial .photo .image::before{
	content:"";
	display: block;
	padding-top: 100%;
}
.testimonial .text{
    width: 60%;
    padding-bottom: 50px;
}
.testimonial .name{
    font-size: 30px;
    font-weight: bold;
    margin-bottom: 10px;
	
	padding-bottom: 1.0em;
}
.testimonial .jobtitle{
    font-size: 22px;
    margin-bottom: 20px;
}
.testimonial .movie{
	position: relative;
    width: 100%;
	padding-top: 56.25%;
	
	
    margin-bottom: 70px;
}
.testimonial .movie iframe{
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}
.testimonial .interviewText{
    margin-top: -20px;
    margin-bottom: 70px;
}


ul.events{
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    
    display: flex;
    flex-wrap: wrap;
}
ul.events.home{
    justify-content: center;
    margin-bottom: 20px;

    max-width: 1200px;
}
ul.events li{
    width: 27%;
    margin: 0 3%;
    
	display: flex;
	flex-direction: column;
	justify-content: space-between;

	margin-bottom: 50px;
}
ul.events.home li{
	margin-bottom: 0;
}
ul.events li .cover{
    width: 100%;
    line-height: 0;
    
    margin-bottom: 20px;
}
ul.events li .cover img{
    width: 100%;
    height: auto;
}
ul.events li .cover a:hover{
    opacity: 0.7;
}
ul.events li .title{
    margin-bottom: 20px;
    line-height: 1.5;
}
ul.events li .cmnBtn{
    text-align: center;
}



.pubGuideStr{
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;

	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.pubGuideStr .mainArea{
	width: 70%;
}
.pubGuideStr .subArea{
	width: 28%;
}
.pubGuideStr .subArea.t2{
	padding-top: 60px;
}
.pubGuideStr .subArea .postList{
	margin-bottom: 40px;
}
.pubGuideStr .subArea .wppTitle{
	font-size: 17px;
	line-height: 1.0;
	background-color: #eee;
	padding: 10px 10px 8px;
	margin-bottom: 15px;
}
.wpp-list li{
	padding-bottom: 0.5rem;
	border-bottom: 1px solid #eee;
	margin-bottom: 0.5rem;
	line-height: 1.5;
}
.wpp-list a{
	font-size: 15px; line-height: 1.5;
}



ul.guide{
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    
    display: flex;
    flex-wrap: wrap;
}
ul.guide.home{
    justify-content: center;
    margin-bottom: 20px;

    max-width: 1200px;
}
ul.guide li{
/*    width: 27%;*/
	width: 44%;
	margin: 0 3%;
    
	display: flex;
	flex-direction: column;
	justify-content: space-between;

	margin-bottom: 50px;
}
ul.guide.home li{
    width: 27%;
	margin-bottom: 0;
}
ul.guide li .cover{
    display: block;
    width: 100%;

	position: relative;
	z-index: 100;
	overflow: hidden;
		
	line-height: 0;
}
ul.guide.home li .cover{
    margin-bottom: 10px;
}
ul.guide li .cover::before{
	content:"";
	display: block;
	padding-top: 75%;
}
ul.guide li .cover img{
	display: block;
	width: auto;
	height: 100%;

	position: absolute;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

	transition: all 0.3s linear;
}
ul.guide li .cover a:hover{
    opacity: 0.7;
}
ul.guide li .date{
	width: 100%;
	font-size: 15px;
	background-color: #f0f0f0;
	text-align: center;
    line-height: 1.0;
	padding: 5px 0;
    margin-bottom: 15px;
}
ul.guide li .title{
	font-size: 18px;
	font-weight: bold;
    line-height: 1.5;
    margin-bottom: 30px;
}
ul.guide.home li .title{
	font-size: 16px;
	font-weight: normal;
}
ul.guide li .cmnBtn{
    text-align: center;
}






article.guide h1.common{
    text-align: left;
}
article.cpt h1.common,
article.cpt2 h1.common{
}
article.guide h2,
article.cpt h2,
article.cpt2 h2{
    text-align: left;
    margin: 40px 0 30px;
}
article.cpt2 .interviewText h2{
	margin: 40px 0 10px;
}
article.cpt.page h2{
    font-size: 26px;
}
article.guide p,
article.cpt p,
article.cpt2 p,
article.cpt2 .interviewText{
	font-size: 17px;
    padding-bottom: 1.5em;
}
article.guide p a,
article.cpt p a,
article.cpt2 p a,
article.cpt2 .interviewText a{
    color: #0073aa;
    text-decoration: underline;
}
article.guide p a:hover,
article.cpt p a:hover,
article.cpt2 p a:hover,
article.cpt2 .interviewText a:hover{
    color: #0096dd;
    text-decoration: none;
}
article.guide p.date{
	font-size: 16px;
	text-align: right;
	margin-top: -30px;
	margin-bottom: 20px;
}

.tags{
	width:100%;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	padding: 10px 0;
}
.tags.case{
	margin-top: 30px;
}
.tags a{
	font-size: 15px;
	text-decoration: underline;
}
.tags a:hover{
	text-decoration: none;
}











.wp-block-image img{
	max-width: 100%;
	height: auto;
}



/* --------------------------------------------------
  Common Footer
-------------------------------------------------- */

footer.page{
	width: 100%;
	
	position: relative;
	z-index: 800;
	
	border-bottom: 60px solid #002e5d;
}

footer.page .copyright{
	width: 100%;
	font-size: 11px;
	color: #78a2ce;
	text-align: center;
	padding: 5px 0 10px;
	
	background-color: #00458b;
}

nav.footer{
	width: 100%;
	background-color: #00458b;
}
nav.footer ul{
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;
	
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	
	padding: 5px 0 12px;
}
nav.footer li{
	font-size: 12px;
	color: #fff;
	line-height: 1.3;
	padding: 10px 10px 0;
}
nav.footer li a{
	color: #fff;
}

.pageTop {
	position: fixed;
	bottom: 40px;
	right: 10px;
	
	width: 60px;
	
	z-index: 1100;
}
.pageTop img{
	width: 100%;
	height: auto;
}



.footerLink{
	width: 100%;
	height: 60px;
	
/*    border-top: 1px solid #eee;*/
/*	background-color: rgba(0, 95, 190, 0.1);*/
	background-color: rgba(0, 0, 0, 0.1);
	
	position: fixed;
	z-index: 1000;
	
	bottom: 0;

	display: flex;
	justify-content: center;
	align-items: center;
    align-content: center;
}
.footerLink .cmnBtn a{
    font-size: 15px;
	font-weight: bold;
}
.footerLink br.nw{
	display: none;
}






/* Common Navigation
------------------------------------------------------------*/
@media only screen and (min-width: 900px){


#commonNavi{
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 100;
}


ul#globalNavi{
    box-sizing: border-box;
	width: 100%;
	height: 40px;
	position: absolute;
	right: 0px;
	top: 50px;
    
    padding-right: 10px;
	
	z-index: 110;

	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-content: center;
	align-items: center;
}
ul#globalNavi > li{
	height: 100%;
}
ul#globalNavi > li > a{
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	padding: 0 12px;

	font-size: 14px;
    line-height: 1.0;
    
    color: #000;
    font-weight: bold;

	display: flex;
	align-items: center;
	align-content: center;
	justify-content: center;
}
ul#globalNavi.v02 > li > a{
	padding: 0 12px;
}
ul#globalNavi > li > a:hover{
    text-decoration: underline;
}

.nvBtn{
    box-sizing: border-box;
	width: 180px;
	height: 60px;
	position: absolute;
	right: 0;
	top: 0;
    
	z-index: 120;
    background-color: #2ca71c;
    text-align: center;

	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-content: center;
	align-items: center;
}
.nvBtn:hover{
    opacity: 0.8;
}
.nvBtn .label{
    display: inline-block;
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.5;
}
.nvBtn br.nw{
    display: none;
}
.nvBtn.online{
	width: 180px;
	height: 40px;
	right: 160px;
    background-color: #ff9f00;
}
.nvBtn.download{
	width: 80px;
	height: 40px;
	right: 80px;
    background-color: #009cbe;
}
.nvBtn.entry{
	width: 80px;
	height: 40px;
	right: 0;
    background-color: #00596c;
}


.floatNavi{
    box-sizing: border-box;
    position: absolute;
    z-index: 1200;
    right: 0;
    top: 70vh;
    
    width: 350px;
    
	background-color: #fff;
    
    
    transition: right 1.0s cubic-bezier(.210, .60, .350, 1); 
}
.floatNavi.close{
    right: -350px;
}
.floatNavi a{
    box-sizing: border-box;
    display: block;
    padding: 25px 10px 22px;
    
    text-align: center;

    font-size: 22px;
    font-weight: bold;
    line-height: 1.5;
    color: #fff;

	background-color: #ff9f00;
}
.floatNavi a:hover{
    opacity: 0.8;
}


.floatNaviSNS{
    box-sizing: border-box;
    position: absolute;
    z-index: 1200;
    right: 0;
    top: 105px;
    
    width: 50px;
    
}
.floatNaviSNS ul{
    box-sizing: border-box;
    width: 100%;
}
.floatNaviSNS li{
    box-sizing: border-box;
    height: 50px;
    border: 1px solid #eee;

	background-color: rgba(255, 255, 255, 1);
    
    margin-bottom: 5px;
}
.floatNaviSNS li a{
    width: 100%;
    height: 100%;
    
    line-height: 0;
    
    display: flex;
    justify-content: center;
    align-items: center;
}
.floatNaviSNS li a:hover{
    background-color: #f5f5f5;
}
.floatNaviSNS li img{
    display: block;
    width: 28px;
    height: auto;
}


}




/* Common Navigation Responsive Structure
---------------------------------------------------------------------------------------------------------------------*/

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

#commonNavi {
	display: none;
}

#menuOverlay {
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.6);
	display: none;
	position: fixed;
	z-index: 9997;
}

#switchBtnArea {
	width: 100%;

	position: relative;
}

#switchBtnArea #switchBtn {
	top: 0px;
	right: 0;
	width: 60px;
	height: 60px;
	display: block;
/*	background: #18d6c6;*/
	
/*	border: 1px solid #fff;*/
	
	position: fixed;

	z-index: 9998;
	
/*	background-color: rgba(0,0,0,0.2);*/
}

#switchBtnArea #switchBtn span {
	left: 32%;
	width: 36%;
	height: 2px;
	display: block;
	position: absolute;
	background-color: #000;
	border-radius: 5px;
	transition: all 0.2s linear;
}
#switchBtnArea #switchBtn span:nth-of-type(1) {
	top: 22px;
	-webkit-transform: rotate(0);
	transform: rotate(0);
}
#switchBtnArea #switchBtn span:nth-of-type(2) {
	top: 29px;
	-webkit-transform: scale(1);
	transform: scale(1);
}
#switchBtnArea #switchBtn span:nth-of-type(3) {
	bottom: 22px;
	-webkit-transform: rotate(0);
	transform: rotate(0);
}

#switchBtnArea #switchBtn.btnClose {
	background: transparent;
}
#switchBtnArea #switchBtn.btnClose span:nth-of-type(1) {
	top: 29px;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	background-color: #fff;
}
#switchBtnArea #switchBtn.btnClose span:nth-of-type(2) {
	-webkit-transform: scale(0);
	transform: scale(0);
}
#switchBtnArea #switchBtn.btnClose span:nth-of-type(3) {
	bottom: 29px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	background-color: #fff;
}

#rwdMenuWrap {
	top: 60px;
	right: -250px;
	width: 250px;
	height: 100%;
	background-color: rgba(255, 255, 255, 0.2);
	overflow: auto;
	position: fixed;
	z-index: 9997;
}

#rwdMenuWrap ul#globalNavi {
	width: 100%;
	padding: 10px 0;

	background-color: rgba(255,255,255,0.7);
}
#rwdMenuWrap ul#globalNavi li {
	width: 100%;
}

#rwdMenuWrap ul#globalNavi li a {
	padding: 15px 25px;
	text-align: left;
	display: block;
	position: relative;
	
	color: #000;
	
	font-size: 16px;
    font-weight: bold;
}

#rwdMenuWrap ul#globalNavi li a:after {
	content: '';
	margin-top: -4px;
	top: 50%;
	right: 15px;
	width: 8px;
	height: 8px;
	color: #888;
	font-size: 1em;
	font-weight: bold;
	line-height: 1.2em;
	display: block;
	position: absolute;
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}



.nvBtn{
    box-sizing: border-box;
	width: 130px;
	height: 60px;
	position: absolute;
	right: 60px;
	top: 0;
    
	z-index: 120;
    text-align: center;

	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-content: center;
	align-items: center;
}
.nvBtn:hover{
    opacity: 0.6;
}
.nvBtn .label{
    display: inline-block;
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    line-height: 1.3;
}
.nvBtn br.nw{
    display: block;
}
.nvBtn.online{
	width: 90px;
	right: 180px;
    background-color: #ff9f00;
}
.nvBtn.download{
	width: 60px;
	right: 120px;
    background-color: #009cbe;
}
.nvBtn.entry{
	width: 60px;
	right: 60px;
    background-color: #00596c;
}

.floatNavi{
    box-sizing: border-box;
    position: absolute;
    z-index: 120;
    right: 0;
    top: 78vh;
    
    width: 240px;
    
	background-color: #ff9f00;
    
    
    transition: right 1.0s cubic-bezier(.210, .60, .350, 1); 
}
.floatNavi.close{
    right: -240px;
}
.floatNavi a{
    box-sizing: border-box;
    display: block;
    padding: 15px 10px 12px;
    
    text-align: center;

    font-size: 16px;
    font-weight: bold;
    line-height: 1.5;
    color: #fff;
}

.floatNaviSNS{
    box-sizing: border-box;
    position: absolute;
    z-index: 1200;
    right: 0;
    top: 105px;
    
    width: 40px;    
}
.floatNaviSNS ul{
    box-sizing: border-box;
    width: 100%;
}
.floatNaviSNS li{
    box-sizing: border-box;
    height: 40px;
    border: 1px solid #eee;

	background-color: rgba(255, 255, 255, 1);
    
    margin-bottom: 5px;
}
.floatNaviSNS li a{
    width: 100%;
    height: 100%;
    
    line-height: 0;
    
    display: flex;
    justify-content: center;
    align-items: center;
}
.floatNaviSNS li a:hover{
    background-color: #f5f5f5;
}
.floatNaviSNS li img{
    display: block;
    width: 24px;
    height: auto;
}

}


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


.nvBtn{
    top: 60px;
    height: 30px;
}
.nvBtn .label{
    font-size: 11px;
    line-height: 1.3;
}
.nvBtn br.nw{
    display: none;
}
.nvBtn.online{
	width: 50%;
	right: 50%;
    background-color: #ff9f00;
}
.nvBtn.download{
	width: 25%;
	right: 25%;
    background-color: #009cbe;
}
.nvBtn.entry{
	width: 25%;
	right: 0;
    background-color: #00596c;
}

.floatNavi{
    top: 78vh;
    
    width: 180px;
}
.floatNavi a{
    padding: 15px 10px 12px;
    
    font-size: 14px;
}

}





/* Responsive Structure
---------------------------------------------------------------------------------------------------------------------*/

/*
@media only screen and (max-width: 999px){
header.common #logo{
	width: 180px;
	top: 10px;
    left: 22px;
}
}
*/

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


header.common {
	height: 60px;
}
header.common #logo{
	width: 140px;
    left: 18px;
}


#homeMainImage{
	width: 100%;
    height: auto;
    
    padding-top: 60px;
}
#homeMainImage .image{
	width: 100%;
    height: auto;
	display: block;
	position: relative;
	overflow: hidden;
	
	line-height: 0;
}
#homeMainImage .image::before{
	content:"";
	display: block;
	padding-top: 60%;
}


#homeMainImage .copyArea{
    box-sizing: border-box;
    width: 100%;
    height: auto;

    position: relative;
    z-index: 300;
    
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: flex-start;
    align-items: flex-start;

    background-color: #fff;
    
}
#homeMainImage .performance{
    box-sizing: border-box;
    
    width: 100%;
    max-width: 2000px;
    
    height: 50px;
    margin-top: -50px;
    
    padding: 15px 0 15px 10px;
    
    display: flex;
    justify-content: center;
    align-content: center;
    align-items: center;
    
    background-color: #fd6161;
}
#homeMainImage .publish{
    font-size: 20px;
    font-weight: bold;
    color: #fff;
    line-height: 1.0;
    
    white-space: normal;
}
#homeMainImage .student{
    font-size: 15px;
    font-weight: bold;
    color: #fff;
    line-height: 1.0;
    
    white-space: normal;
}

#homeMainImage .mainCopy{
    width: 90%;
    margin: 0 auto;
    text-align: center;
    
    margin-top: 40px;

	padding-left: 0;
    
    font-size: 30px;
    line-height: 1.0;
    
    white-space: normal;
    
    margin-bottom: 20px;
}
#homeMainImage .subCopy{
    width: 90%;
    margin: 0 auto;
    text-align: center;
    
    padding-left: 0;
    
    font-size: 20px;
    line-height: 1.4;
    
    white-space: normal;
    
    margin-bottom: 40px;
}



.secBlk{
	padding: 60px 0 60px;
}
.secBlk.strMain{
	width: 100%;
}





h1.common{
    font-size: 26px;
    margin-bottom: 50px;
}
h2{
    font-size: 26px;
    margin-bottom: 50px;
}

.introduction{
    padding: 25px 10%;
    font-size: 14px;
    
    text-align: left;
}


.homeExample::before{
	padding-top: 60%;
}
.homeExample .body{
    width: 80%;
    height: 80%;
}
.homeExample .body h2{

    font-size: 24px;

    line-height: 1.5;
    margin-bottom: 30px;
}


ul.books li{
    width: 44%;
    margin: 0 3%;

    margin-bottom: 30px;
}
ul.books li .cover{
    width: 35%;
    margin-right: 7%;
}
ul.books li .text{
    width: 58%;
}


ul.feature{

    margin-bottom: 30px;
}
ul.feature li{
    margin-bottom: 10px;
}
ul.feature li .num .label{
    width: 55px;
    height: 55px;
    
    transform: translateX(15px);
}
ul.feature li .num .label .number{
    font-size: 18px;
}
ul.feature li .content{
    margin-right: 15px;
    
    padding: 10px 20px 10px 50px;
    
    font-size: 13px;

    border-radius: 10px;
}

ul.feature li .content strong{
    font-size: 16px;
}


.homeST .name{
	font-size: 17px;
    margin-bottom: 5px;
}
.homeST .jobtitle{
	font-size: 15px;
    margin-bottom: 15px;
}


.president .title{
    font-size: 16px;
    margin-bottom: 10px;
}
.president .name{
    font-size: 22px;
    margin-bottom: 10px;
}
.president .name .kana{
    font-size: 16px;
}



.cmnBtn a{
    padding: 12px 40px;
    font-size: 15px;
    
    border-radius: 30px;
}

.cmnBtn.nv a{
    padding: 15px 20px;
    font-size: 16px; 
}
.cmnBtn.nvb a{
    padding: 13px 20px;
    font-size: 15px; 
}

.cmnBtn.nvs a,
.cmnBtn.nvbs a,
.cmnBtn.nvcs a{
    padding: 10px 10px 10px 0px;
    font-size: 12px;
}
.cmnBtn.nvcs a{
	font-size: 11px;
}

p{
    font-size: 14px;
}
p.note{
    text-align: left;
}

ul.cmn li{
    font-size: 14px;
    margin-bottom: 10px;
}

#subPage{
    padding-top: 60px; 
}

.subImage .title{
    font-size: 30px;
}

ul.breadcrumb {
    padding: 5px 25px 0;
}
ul.breadcrumb li {
    font-size: 11px;
}



ul.featureSub li{
    width: 47%;

    margin-bottom: 50px;
}
ul.featureSub li .image{
    width: 100%;
    line-height: 0;
    
    margin-bottom: 20px;
}

ul.featureSub li h3{
    font-size: 17px;
    margin-bottom: 20px;
}



ul.booksSub{
    width: 100%;
}
ul.booksSub li{
    width: 29%;
    margin: 0 2%;
    
    margin-bottom: 50px;
}
ul.booksSub li .cover{
    width: 80%;
    margin: 0 10%;
    
    margin-bottom: 20px;
}
ul.booksSub li .title{
    margin-bottom: 10px;
}
ul.booksSub li .author{
    margin-bottom: 10px;
}


.bookDetail{
}
.bookDetail .cover{
    width: 30%;
    margin-right: 5%;
}
.bookDetail .text{
    width: 65%;
    
    margin-bottom: 50px;
}
.bookDetail .title{
    font-size: 20px;
    
    margin-bottom: 20px;
}
.bookDetail .author{
    font-size: 16px;

    margin-bottom: 30px;
}
.bookDetail .backLink{
    margin-bottom: 30px;
}


.profile{
    margin-bottom: 0px;
}
.profile .title{
    font-size: 16px;
    padding-bottom: 10px;
    margin-bottom: 30px;
}
.profile .photo{
    width: 15%;
    margin-bottom: 20px;
}
.profile .text{
    width: 80%;
    margin-bottom: 0;
}
.profile .name{
    font-size: 18px;
    margin-bottom: 20px;
}



ul.testimonials{
}
ul.testimonials li{
    width: 44%;
    margin: 0 3%;

    margin-bottom: 50px;
}
ul.testimonials li .photo{
    width: 70%;
    margin: 0 15%;
    
    margin-bottom: 20px;
}
ul.testimonials li .name{
    font-size: 17px;
    margin-bottom: 5px;
}
ul.testimonials li .jobtitle{
    margin-bottom: 10px;
}



.testimonial{
    margin-bottom: 0px;
}
.testimonial .photo{
    width: 35%;
    padding-bottom: 40px;
}
.testimonial .text{
    width: 60%;
    padding-bottom: 40px;
}
.testimonial .name{
    font-size: 26px;
    margin-bottom: 10px;
}
.testimonial .jobtitle{
    font-size: 20px;
    margin-bottom: 20px;
}



ul.events li{
    width: 44%;
    margin: 0 3%;

	margin-bottom: 50px;
}
ul.events.home li{
	margin-bottom: 50px;
}
ul.events.home li:last-child{
	margin-bottom: 0;
}
ul.events li .cover{
    width: 100%;
    
    margin-bottom: 20px;
}
ul.events li .title{
    margin-bottom: 20px;
    line-height: 1.5;
}



.pubGuideStr{
}
.pubGuideStr .mainArea{
	width: 100%;
	maargin-bottom: 120px;
}
.pubGuideStr .subArea{
	width: 100%;
}
.pubGuideStr .subArea.t2{
	padding-top: 0;
}
.pubGuideStr .subArea .postList{
	margin-bottom: 40px;
}
.pubGuideStr .subArea .wppTitle{
	font-size: 16px;
	padding: 10px 10px 8px;
	margin-bottom: 15px;
}
.wpp-list a{
	font-size: 14px;
}



ul.guide li{
    width: 44%;
    margin: 0 3%;

	margin-bottom: 50px;
}
ul.guide.home li{
    width: 44%;
	margin-bottom: 50px;
}
ul.guide.home li:last-child{
	margin-bottom: 0;
}
ul.guide li .cover{
    width: 100%;
}
ul.guide.home li .cover{
    margin-bottom: 10px;
}
ul.guide li .date{
	font-size: 14px;
	padding: 4px 0;
    margin-bottom: 15px;
}
ul.guide li .title{
	font-size: 17px;
    line-height: 1.5;
    margin-bottom: 30px;
}
ul.guide.home li .title{
	font-size: 15px;
}

article.cpt.page h2{
    font-size: 24px;
}
article.guide p.date{
	font-size: 15px;
	margin-top: -40px;
	margin-bottom: 20px;
}


.footerLink{
	height: 50px;
}
.footerLink .cmnBtn a{
    font-size: 14px;
}

}




/* ---------------------------------------------------------------------------------------------------------------------*/

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


ul.booksSub{
    width: 100%;
}
ul.booksSub li{
    width: 44%;
    margin: 0 3%;
    
    margin-bottom: 50px;
}
ul.booksSub li .cover{
    width: 80%;
    margin: 0 10%;
    
    margin-bottom: 20px;
}
ul.booksSub li .title{
    margin-bottom: 10px;
}
ul.booksSub li .author{
    margin-bottom: 10px;
}



}





/* ---------------------------------------------------------------------------------------------------------------------*/

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


header.common {
	height: 90px;
}
header.common #logo{
	width: 140px;
    height: 60px;
    top: 0;
    left: 20px;
}

#homeMainImage{
    padding-top: 80px;
}


#homeMainImage .mainCopy{
    font-size: 24px;
    margin-bottom: 20px;
}
#homeMainImage .performance{    
    padding: 15px 10px;
	flex-wrap: wrap;
}
#homeMainImage .publish{
	width: 100%;
	text-align: center;
    font-size: 16px;
    line-height: 1.3;
	
	margin-bottom: 2px;
}
#homeMainImage .student{
	width: 100%;
	text-align: center;
    font-size: 12px;
    line-height: 1.3;
}
#homeMainImage .subCopy{
    font-size: 18px;
    margin-bottom: 40px;
}


.secBlk{
	padding: 60px 0 60px;
}
.secBlk.strMain{
	width: 100%;
}


h1.common{
    font-size: 24px;
    margin-bottom: 30px;
}
h2{
    font-size: 22px;
    margin-bottom: 50px;
}

.introduction{
    padding: 20px 5%;
    font-size: 13px;
    
    text-align: left;
}


.homeExample::before{
	padding-top: 60%;
}
.homeExample .body{
    width: 80%;
    height: 80%;
}
.homeExample .body h2{

    font-size: 19px;

    line-height: 1.5;
    margin-bottom: 20px;
}

ul.books li{
    width: 100%;
    margin: 0;

    margin-bottom: 35px;
}
ul.books li .cover{
    width: 30%;
    margin-right: 7%;
}
ul.books li .text{
    width: 63%;
}

ul.feature{
    margin-bottom: 30px;
}
ul.feature li{
    margin-bottom: 10px;
}
ul.feature li .num .label{
    width: 50px;
    height: 50px;
    
    transform: translateX(10px);
}
ul.feature li .num .label .number{
    font-size: 16px;
}
ul.feature li .content{
    margin-right: 10px;
    
    padding: 10px 20px 10px 40px;
    
    font-size: 12px;

    border-radius: 10px;
}
ul.feature li .content strong{
    font-size: 15px;
}


.introWP{
    justify-content: center;
}
.introWP .photo{
    width: 100%;
    margin-bottom: 20px;
}
.introWP .text{
    width: 100%;
}
.introWP .photo.logo{
    width: 70%;
}

.homeST .name{
	font-size: 16px;
    margin-bottom: 5px;
}
.homeST .jobtitle{
	font-size: 14px;
    margin-bottom: 15px;
}

.president .title{
    font-size: 15px;
    margin-bottom: 10px;
}
.president .name{
    font-size: 20px;
    margin-bottom: 10px;
}
.president .name .kana{
    font-size: 15px;
}


.cmnBtn a{
    padding: 10px 30px;
    font-size: 14px;
    
    border-radius: 30px;
}
.cmnBtn.nv a{
    padding: 12px 10px;
    font-size: 14px;
}
.cmnBtn.nvb a{
    padding: 11px 10px;
    font-size: 13px;
}


p{
    font-size: 13px;
}

ul.cmn li{
    font-size: 13px;
    margin-bottom: 10px;
}

#subPage{
    padding-top: 90px; 
}

.subImage .title{
    font-size: 24px;
}

ul.breadcrumb {
    padding: 0px 20px 0;
}
ul.breadcrumb li {
    font-size: 10px;
}


ul.featureSub li{
    width: 100%;

    margin-bottom: 50px;
}
ul.featureSub li .image{
    margin-bottom: 20px;
}

ul.featureSub li h3{
    font-size: 16px;
    margin-bottom: 20px;
}



ul.booksSub{
    width: 100%;
}
ul.booksSub li{
    width: 100%;
    margin: 0;
    
    margin-bottom: 50px;
}
ul.booksSub li .cover{
    width: 60%;
    margin: 0 20%;
    
    margin-bottom: 20px;
}
ul.booksSub li .title{
    margin-bottom: 10px;
}
ul.booksSub li .author{
    margin-bottom: 10px;
}


.bookDetail{
}
.bookDetail .cover{
    width: 60%;
    margin: 0 20%;
    
    text-align: center;
    
    margin-bottom: 40px;
}
.bookDetail .cover img{
    max-width: 300px;
}
.bookDetail .text{
    width: 100%;
    
    margin-bottom: 50px;
}
.bookDetail .title{
    font-size: 18px;
    
    margin-bottom: 20px;
}
.bookDetail .author{
    font-size: 16px;

    margin-bottom: 30px;
}
.bookDetail .backLink{
    margin-bottom: 30px;
}


.profile{
    margin-bottom: 0px;
}
.profile .title{
    font-size: 15px;
    padding-bottom: 10px;
    margin-bottom: 20px;
}
.profile .photo{
    width: 30%;
    margin: 0 35%;
    margin-bottom: 20px;
}
.profile .text{
    width: 100%;
    margin-bottom: 0;
}
.profile .name{
    font-size: 18px;
    margin-bottom: 20px;
    
    text-align: center;
}


ul.testimonials{
}
ul.testimonials li{
    width: 100%;
    margin: 0;

    margin-bottom: 50px;
}
ul.testimonials li .photo{
    width: 80%;
    margin: 0 auto;
    max-width: 200px;
    
    margin-bottom: 20px;
}
ul.testimonials li .name{
    font-size: 16px;
    margin-bottom: 5px;
}
ul.testimonials li .jobtitle{
    margin-bottom: 10px;
}


.testimonial{
    margin-bottom: 0px;
}
.testimonial .photo{
    width: 100%;
    padding-bottom: 30px;
}
.testimonial .photo .image{
    width: 100%;
    
    margin: 0 auto;
    max-width: 200px;
}
.testimonial .text{
    width: 100%;
    padding-bottom: 30px;
}
.testimonial .name{
    font-size: 24px;
    margin-bottom: 10px;
    
    text-align: center;
}
.testimonial .jobtitle{
    font-size: 18px;
    margin-bottom: 20px;

    text-align: center;
}


ul.events li{
    width: 100%;
    margin: 0;

	margin-bottom: 50px;
}
ul.events.home li{
	margin-bottom: 50px;
}
ul.events.home li:last-child{
	margin-bottom: 0;
}
ul.events li .cover{
    margin-bottom: 20px;
}
ul.events li .title{
    margin-bottom: 20px;
    line-height: 1.5;
}


.pubGuideStr{
}
.pubGuideStr .mainArea{
	width: 100%;
	maargin-bottom: 120px;
}
.pubGuideStr .subArea{
	width: 100%;
}
.pubGuideStr .subArea.t2{
	padding-top: 0;
}
.pubGuideStr .subArea .postList{
	margin-bottom: 40px;
}
.pubGuideStr .subArea .wppTitle{
	font-size: 15px;
	padding: 10px 10px 8px;
	margin-bottom: 15px;
}
.wpp-list a{
	font-size: 13px;
}


ul.guide li{
    width: 100%;
    margin: 0;

	margin-bottom: 50px;
}
ul.guide.home li{
    width: 100%;
	margin-bottom: 50px;
}
ul.guide.home li:last-child{
	margin-bottom: 0;
}
ul.guide li .cover{
}
ul.guide.home li .cover{
    margin-bottom: 10px;
}
ul.guide li .date{
	font-size: 14px;
	padding: 4px 0;
    margin-bottom: 15px;
}
ul.guide li .title{
	font-size: 16px;
    line-height: 1.5;
    margin-bottom: 25px;
}
ul.guide.home li .title{
	font-size: 14px;
}

article.cpt.page h2{
    font-size: 19px;
}

article.guide p.date{
	font-size: 14px;
	margin-top: -20px;
	margin-bottom: 20px;
}



.cmnBtn.nvs a,
.cmnBtn.nvbs a,
.cmnBtn.nvcs a{
	display: inline-block;
    padding: 6px 5px 4px 10px;
    font-size: 12px;
    
    line-height: 1.2;
    border-radius: 5px;
	text-align: left;
}
.cmnBtn.nvcs a{
    padding: 15px 5px 11px 10px;
	font-size: 11px;
}
.cmnBtn.nvs a::before,
.cmnBtn.nvbs a::before,
.cmnBtn.nvcs a::before{
	content: "";
}

.footerLink{
	height: 60px;
}
.footerLink .cmnBtn a{
    font-size: 12px;
	padding: 10px 5px 8px 10px;
}
.footerLink br.nw{
	display: block;
}


.pageTop {
	bottom: 80px;
	right: 10px;
	
	width: 36px;
}


}





.statement{
	box-sizing: border-box;
	width: 100%;
	margin: 0 auto;
	margin-top: 20px;
	padding: 50px 5% 40px;
	background-color: #fbf5e9;
	border-radius: 30px;
}
.statement.sub{
	background-color: #f5f5f5;
}
.statement h2{
    margin-bottom: 30px;
}
.statement h3{
    width: 100%;
    margin: 0 auto;
    
    font-size: 24px;
    font-weight: bold;
    color: #333;
    text-align: center;
    
    margin-bottom: 20px;
}
.statement .copy{
	text-align: center;
    font-size: 20px;
    margin-bottom: 10px;
}


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

.statement{
	margin-top: 15px;
	border-radius: 25px;
}
.statement h3{
    font-size: 20px;
    margin-bottom: 15px;
}
.statement .copy{
    font-size: 18px;
    margin-bottom: 5px;
}

}


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

.statement{
	margin-top: 10px;
	border-radius: 20px;
}
.statement h3{
    font-size: 18px;
    margin-bottom: 10px;
}
.statement .copy{
    font-size: 16px;
    margin-bottom: 3px;
}


}




.has-vivid-cyan-blue-background-color {
    background-color: #0693e3 !important;
}


