/**----------------- 基本レイアウト*/

html,body{
	margin:0;
	padding:0;
	overflow-x:hidden;
	font-family: "游ゴシック", "YuGothic", "メイリオ", meiryo, sans-serif; 
	font-size: 20px;
	line-height: 1.8;
	font-weight: 600;
	color: #464646;

}

ul {
    padding-inline-start: 0px;
}

.wrapper {
	background:#f2f2f0;
}

.index_page{
	background-repeat:repeat-y;
	background-image: url("../images/background.png");
	background-size:100% auto;
}

.clear{
	clear:both;
}

.container img{
	max-width:100%;
}

.contents{
	line-height:1.6;
	font-size:17px;
	padding: 2vw 3vw;
	background:#fff;
	margin-bottom:3vw;
}

.sp {
	display: none;
}

.pc {
	display: block;
}

a img:hover {
  	opacity: 0.7;
	transition: .8s;
}


.header_logo{
	width: 15vw;
}

.mincho{
  font-family: "Yu Mincho";
  font-weight: 500;
}

h1{
	font-family: "Yu Mincho";
	color: #fff;
	font-size:2.6vw;
	font-weight: 800;
}

h2{
	font-family: "Yu Mincho";
	color: #464646;
	font-size:2.6vw;
	font-weight: 800;
	margin: 50px 0;
	padding-bottom: 40px;
	display: inline-block;
	border-bottom: solid 1px #464646;
}

h3{
	font-family: "Yu Mincho";
	color: #fff;
	font-size:2.4vw;
	font-weight: 800;
	margin-block-start: 0;
    margin-block-end: 0;
	margin: 0;
}


.bg_black{
	background-color: #000;
}

.bg_darkred{
	background-color: #7d0000;	
}


ul{
	list-style: none;
}


.learn_ttl{
	padding: 20px 0;
}

.footer_link a {
  font-weight:bold;
  color: #fff;
  position: relative;
  display: inline-block;
  text-decoration: none;
}

.footer_link a::after {
  position: absolute;
  bottom: 1px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #fff;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform .5s;
}

.footer_link a:hover::after {
  transform: scale(1, 1);
}


.movieWraper {
    position: relative
    width: calc(100% - 10px);
    margin: 0 auto;
}

.iframeWrap{
    height: 0;
    padding-bottom: 62.5%;
}

.author iframe {
    position: absolute;
    top: 0;
    left: 0;
}

.publication img{
	height: auto;
}

.request_banner {
	width: 580px;
}

.copyright{
	margin: 1.5vw auto;
	font-size: 14px;
	font-weight: 600;
	color: #fff;
}

.footer_inner {
	width: 950px;
	margin: 0px auto;
}

.footer_link{
	padding-top: 30px;
	font-weight:bold;
	color: #fff;
}

.top_line {
    border-top: 1px solid #a6a6a6;
	color: #fff;
    padding: 8px 0;
}

.footer_logo {
    width: 350px;
}

.footer_logo img{
    width: 70px;
}

.footer_copy {
    width: 350px;
	padding-top: 20px;
}

a {
    color: #0E68CC;
    text-decoration: underline;
}

.logo_img{
	float: left;
	padding:1vw;
}

.jmca_t{
	font-size: 24px;
	font-weight: 600;
	color: #fff;
	padding-top: 5px;
}

.jmca_a{
	font-size: 12px;
	font-weight: 600;
	color: #fff;
}


/*********************
* 微調整用　ここから
*********************/


.pat10{	padding-top:10px;}
.pat20{	padding-top:20px;}
.pat30{	padding-top:30px;}
.pat40{	padding-top:40px;}
.pat50{	padding-top:50px;}
.pad10-0{padding:10px 0 ;}
.pad20-0{padding:20px 0 ;}

.f14{font-size:14px;}
.f20{font-size:20px;}
.f21{font-size:21px;}
.f22{font-size:22px;}
.f23{font-size:23px;}
.f24{font-size:24px;}
.f25{font-size:25px;}
.f27{font-size:27px;}

.w40{width:40px;}
.w60{width:60px;}
.w80{width:80px;}
.w100{width:100px;}
.w120{width:120px;}

.um10{margin-bottom:0.5vw;}
.um20{margin-bottom:1vw;}
.um30{margin-bottom:1.5vw;}
.um40{margin-bottom:2vw;}
.um50{margin-bottom:2.5vw;}
.um60{margin-bottom:3vw;}
.um70{margin-bottom:3.5vw;}
.um80{margin-bottom:4vw;}
.um100{margin-bottom:5vw;}

.upad10{padding-bottom:0.5vw;}
.upad20{padding-bottom:1vw;}
.upad30{padding-bottom:1.5vw;}
.upad40{padding-bottom:2vw;}
.upad50{padding-bottom:2.5vw;}
.upad60{padding-bottom:3vw;}
.upad70{padding-bottom:3.5vw;}
.upad80{padding-bottom:4vw;}
.upad100{padding-bottom:5vw;}

.pad0-10{padding:0 10px;}
.pad0-20{padding:0 20px;}
.pad10{padding:0.5vw;}
.pad20{padding:1vw;}
.pad30{padding:1.5vw;}
.pad40{padding:2vw;}
.pad50{padding:2.5vw;}
.pad60{padding:3vw;}
.pad80{padding:4vw;}
.pad100{padding:5vw;}

.pat20{padding-top:1vw;}
.pat50{padding-top:2.5vw;}
.pat100{padding-top:5vw;}

.pad10-0{padding:10px 0 ;}
.pad20-0{padding:20px 0 ;}

.ml10{margin-left:10px;}
.ml40{margin-left:2vw;}
.mr40{margin-right:2vw;}


.ls_1{letter-spacing: 0.1em;}
.ls_2{letter-spacing: 0.2em;}
.ls_3{letter-spacing: 0.3em;}
.ls_5{letter-spacing: 0.5em;}
.ls_10{letter-spacing: 1.0em;}

/*ここまで　微調整用 */

@media (max-width:992px){
	
	.footer_inner {
		width: 90vw;
	}
	
}

@media (max-width:768px){
	
	body{
		font-size: 16px;
    	line-height: 1.6;
	}

	.sp {
		display: block;
	}

	.pc {
		display: none;
	}

	.container{
		padding:10px;
	}

	.header img{
		margin: 20px 0;
	}
	
	.header_logo{
		width: 50vw;
	}

	h1{
		font-size:7vw;
	}
	
	h2{
		font-size:7vw;
		padding-bottom: 10px;
		margin: 20px 0;
		font-weight: 900;
	}
	
	
	h3{
		font-size:8vw;
	}
	
	.pad30{
		padding: 30px 0;
	}
	
	.request_banner {
		margin: 0 auto;
	}
	
	
	.footer_link{
		margin: auto;
		padding-top: 10px;
	}
	
	.top_line {
		margin: 10px -15px 0 0;
	}
	
	.footer_logo {
		padding-left: 15px;
	}
	
	.footer_logo img{
		width: 60px;
	}
	
	.logo_img{
		padding: 12px 10px 0 0;
	}
}

@media (max-width:400px){
	.pc_img {
		display: none;
	}
}
