@charset "utf-8";

/*---------------------------------
リセットｃｓｓ
---------------------------------*/

*{
  padding: 0;
  margin: 0;
}

html {
  visibility : visible;
  font-size: 100%;
  overflow-x : hidden;
  -webkit-overflow-scrolling: touch;
}

body {
  color: #24292e;
  font-family: "BIZ UDGothic", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  padding-top: 70px; 
}
:root{
	--fontFamily : "YakuHanJP" , "Noto Sans JP" , "sans-serif";
	--fontWeight : 400;
}
:root{
	--body : #333;
	--link : #333;
}
:root{
	-ms-text-spacing : trim-start allow-end trim-adjacent ideograph-alpha ideograph-numeric;
}
* , *:before , *:after{
	box-sizing : border-box;
	/*
	outline: 1px solid red;
	opacity: 1 !important;*/
}
html , body{
	margin : 0;
	padding : 0;
	border : 0;
	font-size : 100%;
	font : inherit;
}
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 , 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 , nav , output , ruby , section , summary , time , mark , audio , video{
	margin : 0;
	padding : 0;
	border : 0;
	font-size : 100%;
	font : inherit;
}
ol , ul{
	list-style : none;
}
table{
	border-collapse : collapse;
	border-spacing : 0;
	width : 100%;
	table-layout : fixed;
}
em{
	font-style : normal;
}

a{
 text-decoration: none;
 color : #333;
 color : var(--body);
}

img{
 max-width: 100%;
}

li{
 list-style: none;
 font-size: 1.2rem;
}

.wrapper{
max-width: 960px;
margin: 0 auto 130px auto;
font-size: 0.9rem;
padding: 0 4%;
}

.button {
  position: relative;
  display: inline-block;
  padding: 0.7em 2em;
  text-decoration: none;
  color: black;
  background: pink;/*色*/
  border: solid 1px pink;/*線色*/
  border-radius: 25px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.2);
  text-shadow: 0 1px 0 rgba(0,0,0,0.2);
  margin: 5px;
  font-size: 0.9rem;
}

.button:active {
  /*押したとき*/
  border: solid 1px pink;
  box-shadow: none;
  text-shadow: none;
  
}
.button:hover{
  opacity: 0.8;
}

/* ヘッダー */
header{
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 70px;
  border-bottom: 1px solid #333;
  position: relative;
}
.head_menu {
  position: absolute;
  top: 0;
  right: 0;
}
.head_menu .flex {
display: flex; 
justify-content: flex-end;
    
}   
.head_menu img {
  width: 50px;
  height: 40px;
  
}
header .logo img {
 width: 150px;
 text-align: center;
 position: absolute;
 top: 20px;
 left: 660px;
}

.pc p {
 font-size:23px; 
 font-weight:bold;
}

address{
font-style:normal;
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される 
.pc { display: block !important; }
.sp { display: none !important; }

/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */

@media screen and (max-width:600px) {
 header{
  position: fixed;
  padding: 4px;
  width: 100%;
  height: 50px;
  top:0;
  left:0;
  border-bottom: solid 0.5px;
}

header .logo img {
 width: 150px;
 text-align: left;
 position: absolute;
 top: 4px;
 left: 6px;
}
/*
.pc { display: none !important; }
.sp { display: block !important; }
*/
.head_menu {
  display: none;
}
.marquee {
  display: none;
}
#navArea img {
  width: 30px;
  height: 20px;
}
}

/* ナビ */
#g_nav{
padding-bottom: 0px;
width: 700px;
display: left;
margin-left: 10px;
}
#g_nav ul {
display: flex;
padding: 0;
width: 75%;
list-style-type: none;
}
#g_nav ul li {
position: relative;
width: 20%;
font-size: 0.7rem;
font-weight: bold;
}
/*
#g_nav ul li:first-child::before {
position: absolute;
display: block;
content: "";
top: 25%;
left: 0px;
width: 1px;
height: 50%;
background-color: #976d52;
}
#g_nav ul li::after {
position: absolute;
display: block;
content: "";
top: 25%;
right: 0px;
width: 1px;
height: 40%;
background-color: #976d52;
}
*/
#g_nav ul li a {
display: block;
padding: 17px 4px;
color: black;
text-align: center;

}
#g_nav ul li a:hover {
opacity: 0.5;
}
                  
nav .inner {
 display: none;
}

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

 body{
  font-weight: 400;
 }
 #g_nav {
  display: none;
 }
 nav {
  display: block;
  width: 220px;
  position: fixed;
  background-color: #ffffff;
  top: 0;
  left: -300px;
  bottom: 0;
  transition: all 0.5s;
  z-index: 999;
  opacity: 0;
 }
 .open nav {
  left: 0;
  opacity: 1;
 }
 
 nav .inner {
  display: block;
  padding: 25px;
 
 }
 nav .inner ul {
  list-style: none;
  margin: 0;
  padding: 0;
 
 }
 
 nav .inner ul li {
  margin: 0;
  border-bottom: 1px solid #333;
 }
 nav .inner ul li a {
  display: block;
  text-decoration: none;
  color: #333;
  font-size: 14px;
  padding: 1rem;
  transition-duration: 0.2s;
 }
 nav .inner ul li a:hover {
  background-color: #e4e4e4;
 }
 
 .toggle-btn {
  display: block;
  position: fixed;
  top: 10px;
  right: 35px;
  width: 30px;
  height: 30px;
  z-index: 3;
  cursor: pointer;
  
 }
 .toggle-btn span {
  position: absolute;
  display: block;
  left: 0;
  width: 30px;
  height: 2px;
  background-color: #333;
  transition: all 0.5s;
  border-radius: 4px;
 }
 .toggle-btn span:nth-child(1) {
  top: 4px;
 }
 .toggle-btn span:nth-child(2) {
  top: 14px;
 }
 
 .toggle-btn span:nth-child(3) {
  bottom: 4px;
 }
 .open .toggle-btn span {
  background-color: #fff;
 }
 .open .toggle-btn span:nth-child(1) {
  transform: translateY(10px) rotate(-315deg)
 }
 .open .toggle-btn span:nth-child(2) {
  opacity: 0;
 }
 .open .toggle-btn span:nth-child(3) {
  transform: translateY(-10px) rotate(315deg)
 }
 
 #mask {
  display: none;
  transition: 0.5s;
 }
 
 .open #mask {
  display: block;
  background-color: #000;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: fixed;
  opacity: 0.3;
  cursor: pointer;
 }
}

.header_button {
position: relative;
display: inline-block;
text-decoration: none;
box-shadow: inset 0 1px 0 rgba(255,255,255,0.2);
text-shadow: 0 1px 0 rgba(0,0,0,0.2);
font-size: 16px;
color: #000;
border: solid 1px;
height: 70px;
}
  
.header_button:active {
  /*押したとき*/
  border: solid 1px #03A9F4;
  box-shadow: none;
  text-shadow: none;
  
}
.header_button:hover{
  color: #fc82bf;
}


#navArea nav {
  z-index: 99999 !important;
}

.toggle-btn {
  z-index: 100000 !important;
}

#mask {
  z-index: 99998 !important;
}


header {
  z-index: 5000;
  position: relative;
}

#navArea {
  position: relative;
  z-index: 10000;
}


header {
  position: fixed; /*← fixedで固定 */
  width: 100%; 
  height: 70px; 
  background: white; 
  padding: 20px 60px; 
  box-sizing: border-box;
  top: 0; 
  left: 0; 
  display: flex; 
  align-items: center; 

  /* ロゴとメニューを横並びにする */
  display: flex; 
  justify-content:space-between;
}

header .nav .menu {
    display: flex; 
}

header .nav .menu li {
    list-style: none; 
    margin-left: 40px;
}

header .nav .menu li a{
   color: #B78D4A;
   font-weight:bold;
   text-decoration: none;
}
#top_contents .flex {
  display: flex;
}
.h1_p {
  text-align: center;
}
#top .flex {
  display: flex;
}
#top .box {
  width: 50%;
  padding: 10px;
}
#top .top_p {
  margin-top: 20px;
}
#top .box img {
  margin-top: 30px;
}
@media screen and (max-width:600px){

#top_contents .flex {
  flex-direction: column;
}

#top .flex {
  flex-direction: column;
}  
#top .box {
  width: 100%;
  padding: 0px;
}
}
#hero .flex_a {
    display: flex;
    justify-content: space-between;
}
.flex-basis-1 {
width: 900px;
margin: 0 auto;
}
.flex-basis-2 {
width: 200px;

}
strong {
  background: linear-gradient(transparent 50%, #a8eaff 50%);
}
@media screen and (max-width:600px){
main {
    padding: 0;
  }
main h1 span {
  display: block;
}
main h1 { 
  padding: 5px;
  margin: 0;
  font-size: 18px;
  text-align:center;
  

}
}
h1 {
  font-family: "YakuHanJP",Osaka,sans-serif;
  text-align: center;
  padding: 30px;
  font-size: 24px;
  margin-top: 50px;
}

h2 {
  padding: 20px;
  font-weight: bold;
  margin: 70px 0px 20px 0px;
  font-size: 20px;
}

h3 {
  padding: 10px;
  font-weight: bold;
  font-size: 18px;
}

h4 {
  padding: 5px;
  font-weight: bold;
}
 


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

h1 span {
  display: inline-block;
}
}


.button_a {
  position: relative;
  display: inline-block;
  padding: 0.8em 1.2em;
  text-decoration: none;
  border: solid 1px #363636;/*線色*/
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.2);
  text-shadow: 0 1px 0 rgba(0,0,0,0.2);
  margin: 5px;
  font-size: 16px;
  width: 200px;
}

.button_a:active {
/*押したとき*/
border: solid 1px #ef6475;
box-shadow: none;
text-shadow: none;

}
.button_a:hover{
opacity: 0.8;
background: #f7ced5;/*色*/

}
a:hover{
  opacity:0.8; 
}

#personal-experience .flex {
  display: flex;
}
#personal-experience .title_2 {
  margin-top: 100px;
}
.flex-basis-6 {
    width: 50%;
    padding: 10px;

}
.flex-basis-7 {
    width: 50%;
    padding: 10px;

}
.flex-basis-8 {
    width: 50%;
    padding: 10px;

}
.flex-basis-9 {
    width: 50%;
    padding: 10px;

}

.flex-basis-3 {
    width: 33%;
    padding: 10px;

}
.flex-basis-4 {
    width: 33%;
    padding: 10px;

}
.flex-basis-5 {
    width: 33%;
    padding: 10px;

}

#contents .flex {
  display: flex;
  justify-content: space-between;

}


#book .flex {
  display: flex;
}
#book .box {
  padding: 10px;
}



/*---------------------------------
学長ご挨拶
---------------------------------*/

#Author .flex {
  display: flex;
  align-items:flex-start;
  background-color: white;
}
#Author .box {
  padding: 10px;
}
.dire_photo {
  max-width: 200px;
  height: auto;
  border-radius: 25px;
  margin-right: 50px;
}
#Author h2 {
  margin-bottom: 50px;
  padding-top: 100px;
}
#Author .Author_title {
  font-size: 23px;
}
#Author h4 {
  padding:10px;
  font-size: 20px;
}
#Author .point {
  color:#E30021;
  font-size: 1.5rem;
  font-weight: bold;
}
#Author strong {
  color:blue;
  font-size: 16px;
}
#Author .Author_p {
  margin-top: 20px;
}
#Author .sentence_p {
  font-size: 14px;
}
#Author .sentence p {
  margin-bottom: 20px;
}
#Author .profile p {
  font-size: 14px;
}
#Author .profile {
  padding-bottom: 80px;
}

@media screen and (max-width:600px) {
 
#Author .flex {
  flex-direction: column;
}
#Author .profile{
  display: none;
}
#Author h2 {
  text-align: center;
  padding-top: 0;
  font-size: 23px;
}

#Author .Author_title {
  font-size: 22px;
}
#Author h2 span{
  display: inline-block;
 }
#Author h3 {
  font-size: 20px;
  text-align: center;

}
#Author h3 span {
  display: inline-block;
  font-size: 2rem;
}
#Author h4 {
  text-align: center;
}
#Author h4 span{
  display: inline-block;
}

#Author h5 {
  text-align: center;
  font-size: 1rem;
}

#Author .box .point {
  font-size: 1.1rem;
  margin-left: 40px;
}
#Author .box .Author_phonetics {
  text-align: center;
}
#Author .sentence {
  margin: 0;  
} 

.dire_photo {
  width: 100%;
  height: auto;
  margin-right: 0;
}

#Author .box {
  width: 100%;
}
}

/*******************************************
  著者紹介の下の本
*******************************************/
#books .pc { display: block !important; }
#books .sp { display: none !important; }

#books .flex {
  display: flex;
}
#books .box img {
  width: 150px;
  height: auto;
  box-shadow: 2px 2px 4px gray;
}
#books .box {
  padding: 20px;
}
#books .box p{
  font-size: 11px;
  margin-top: 8px;
}
#books .link_a {
  padding-bottom: 30px;
}
@media screen and (max-width:600px) {
 
#books .pc { display: none !important; }
#books .sp { display: block !important; }

#books .flex {
  display: flex;
}    
#books .box {
  padding: 0;
  width: 100%;
}
#books .box img {
  width: 180px;
  height: auto;
  padding: 10px;
  box-shadow: none;
}    
#books .link_a {
  text-align: right;
}

#books .box p{
  font-size: 12px;
  text-align: center;
}
#books h3 {
  padding-left: 10px;
}
}
/*---------------------------------
バナー
---------------------------------*/


@media screen and (max-width:600px) {
#banner img{
    padding: 4px;
}


}

/*---------------------------------
フッター
---------------------------------*/

footer {
  background-color: #F09199;
  padding-top: 30px;
}
footer p {
  text-align: center;
  
}
footer .footer-top  {
  text-align: center;
  height: 250px;
  
}
.footer-top a img {
  margin-top: 20px;
  border-radius: 25px;
}
  
.footer-top .flex {
  display: flex;
  justify-content: center;
  margin: 30px 0 80px;
}
.footer-top .box {
  margin: 0 10px;
}
.footer-top p {
  font-size: 20px;
  font-weight: bold;

}
.footer-two {
  background-color: #333;
}
.footer-two p {
  color: white;
  font-size: 10px;
}
footer .footer-one {
  background-color: #333;
}
footer .footer-one ul li {
  font-size: 13px;

}
footer .footer-one ul li a {
  color: white;
}
  
.footer_btn {
  position: relative;
  display: inline-block;
  padding: 0.6em 2.5em;
  text-decoration: none;
  color: black;
  background: white;/*色*/
  border: solid 1px white;/*線色*/
  border-radius: 25px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.2);
  text-shadow: 0 1px 0 rgba(0,0,0,0.2);
  margin: 5px;
  font-size: 25px;
  line-height: 1.3;
}

.footer_btn:active {
  /*押したとき*/
  border: solid 1px #03A9F4;
  box-shadow: none;
  text-shadow: none;
  
}
.footer_btn:hover{
  opacity: 0.8;
}
.footer_btn2 {
  font-size: 16px;
} 
.footer_button {
  position: relative;
  display: inline-block;
  padding: 0.6em 3.5em;
  text-decoration: none;
  color: black;
  background: white;/*色*/
  border: solid 1px white;/*線色*/
  border-radius: 25px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.2);
  text-shadow: 0 1px 0 rgba(0,0,0,0.2);
  margin: 5px;
  font-size: 25px;
  line-height: 1.3;
}

.footer_button:active {
  /*押したとき*/
  border: solid 1px #03A9F4;
  box-shadow: none;
  text-shadow: none;
  
}
.footer_button:hover{
  opacity: 0.8;
}  
/* ナビ */
.footer-one{
  padding-bottom: 0px;
  background-color: pink;
}
.footer-one ul {
  display: flex;
  margin: 0 auto;
  padding: 0 3%;
  width: 94%;
  max-width: 1200px;
  list-style-type: none;
}
.footer-one ul li {
  position: relative;
  width: 20%;
  font-size: 1rem;
  font-weight: bold;
}
.footer-one ul li:first-child::before {
  position: absolute;
  display: block;
  content: "";
  top: 25%;
  left: 0px;
  width: 1px;
  height: 50%;
  background-color: #976d52;
}
.footer-one ul li::after {
  position: absolute;
  display: block;
  content: "";
  top: 25%;
  right: 0px;
  width: 1px;
  height: 40%;
  background-color: #976d52;
}
.footer-one ul li a {
  display: block;
  padding: 17px 10px;
  color: black;
  text-align: center;
  
}
.footer-one ul li a:hover {
  opacity: 0.5;
}
  
@media screen and (max-width:600px) {
footer {
  padding-top: 20px;
}

.footer-top a img {
  max-width: 100%;
  height: auto;
}
.footer-top {
  margin-bottom: 50px;
}
.footer-top p {
  padding: 2px;
}

.footer-top p span {
  display: inline-block;
}
.footer-top .flex {
  flex-direction: column;
  padding-bottom: 50px;
}

.footer-top .box {
  padding-top: 10px;
} 

.footer-one {
  margin-top: 150px;
} 
.footer-one ul {
  flex-direction: column;
  padding-left: 20px;
  padding-top: 20px;
  padding-bottom: 20px;
  margin: 0;
}
.footer-one ul li:first-child::before {
  display: none;
}
.footer-one ul li::after {
  display: none;
}
.footer-one ul li {
  font-size: 16px;
  padding:5px;
  width: 100%;
}
.footer-one ul li a {
  display:inline;
}

}

/*---------------------------------
トップへもどるボタン
---------------------------------*/

.go-top{
  position: fixed;
  bottom: 100px;
  left: 30px;
  z-index: 9999;
  
}
.go-top a{
  
  width: 50px;
  height: 50px;
  display: inline-block;
  background: #E94E66;
  border-radius: 50%;
  text-align: center;
  line-height: 50px;
  color: black;
  text-decoration: none;
  
}

.go-top a:hover{
    opacity: 0.8;
  }

@media screen and (max-width:600px) {
.go-top {
  position:fixed;
  z-index: 9999;
  left: 10px;
  bottom: 10px;
}


}