@charset "utf-8";
/* CSS Document */
* { margin: 0; padding: 0; }

body {
	margin:0 auto;
	padding:0;
	font-size:16px;
	font-family:"Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック体", "Yu Gothic", YuGothic, メイリオ, Meiryo, sans-serif;
	color:#222;
}

.sp {
	display:none;
}

header {
	background:url(../img/top_pc.jpg) center;
	background-size:cover;
	padding:70px 0;
}

header .top_title {
	text-align:center;
	padding-bottom:30px;
}

header .top_cta {
	background-color:#ffffff70;
	background-color: rgba(255,255,255,0.50);
	filter:progid:DXImageTransform.Microsoft.Alpha(opacity=70);
	width:850px;
	max-width:90%;
	text-align:center;
	margin:0 auto;
	padding: 10px 0px;
}

header .top_cta p {
	font-size:32px;
	font-weight:bold;
	color:#C61313;
	text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
              -1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  0-1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;	
	margin-bottom:10px;
}

header .top_cta p br {
	display:none;
}

header .top_cta p span {
	font-size:38px;
}
/*
header a:hover {
	opacity:0.7;
	transition-duration: 0.2s;
}*/

header .top_cta .pc {
	text-align:center;
    background: url("../img/cta_button_mo.png") no-repeat center top;
/*	margin:50px auto 100px;*/
}

header .top_cta .pc a {
    display: inline-block;
	height:70px;
}

header .top_cta .pc a:hover {
	background-color: transparent; /* IE6対応 */
/*	transition-duration: 1.0s!important;
	box-shadow:5px 5px 10px rgba(0,0,0,0.5);*/
}

header .top_cta .pc a:hover img {
   /* visibility: hidden;*/
	opacity:0;
	transition-duration: 0.5s;
}

#contents .introduction {
	background-color:#DEDEDE;
	padding:50px 0;
}

#contents .introduction .intro_white {
	background:#fff;
	width:1080px;
	max-width:95%;
	margin:20px auto 5px;
	padding:50px;
	box-sizing: border-box;
}

#contents .introduction .intro_white  p {
	font-size:22px;
}

#contents .introduction .intro_white  p span {
	font-size:16px;
}

#contents .introduction .intro_white .present {
	margin-top:30px;
}

#contents .introduction .intro_white p.present span {
	color:#C61313;
	font-size:22px;
}

#contents .introduction p.notes {
	width:1080px;
	max-width:95%;
	text-align:right;
	margin:0 auto;
}

#contents .introduction p.notes br {
	display:none;
}

#contents .textbook {
	background-color:#222222;
	padding:70px 0;
}

#contents .textbook .textbook_contents {
	width:1080px;
	max-width:95%;
	margin:0 auto;
}

#contents .textbook .textbook_contents h3 {
	background-color: #fff;
	display: inline-block;
	padding: 10px 20px;
	font-size: 28px;
	font-weight: normal;
}

#contents .textbook .textbook_contents h3 span {
	color:#C61313;
}

#contents .textbook .textbook_contents .image {
	display:flex;
	justify-content: space-around;
	margin:30px auto;
	width:900px;
	max-width:98%;
}

#contents .textbook .textbook_contents p {
	color:#fff;
	font-size:20px;
	text-align:center;
}

#contents #form {
	background-color:#DEDEDE;
	padding:70px 0;
}

#contents #form .form_title {
	background-color:#858585;
	padding:10px;
	text-align:center;
	font-size:28px;
	color:#fff;
	margin-bottom:30px;
}

#contents #form .form {
	background-color:#fff;
	width:1080px;
	max-width:95%;
	margin:0 auto;
	font-size: 20px;
	padding: 40px;
	box-sizing: border-box;
}

#contents #form form dl {
	display:table;
	margin:0 auto;
	width:100%;
}

#contents #form form dt {
	float:left;
	text-align:left;
	padding:20px 0;
}

#contents #form form dt span{
	font-size:16px;
	margin-left:20px;
}

#contents #form form dt span.red{
	color:#ED0B0F;
}


#contents #form form dd {
	margin-left:260px;
	height:100px;
	text-align:left;
}

#contents #form form ul {
	font-size:16px;
	line-height:1.2;
	list-style:"・";
	padding-left:1em;
	text-align:left;
}

#contents #form form ol {
	margin-left:1em;
}

#contents #form #privacy_box p {
	padding:0;
}

#contents #form #privacy_box h4 {
	padding-top:15px;
}

#contents #form form p {
	font-size:16px;
	text-align:left;
	padding:16px 0;
}

#contents #form form p.attention {
	padding-top:10px;
}

#contents #form form input {
	height:60px;
	padding:0 20px;
	font-size:16px;
	box-sizing:border-box;
	width:100%;
}

#contents #form form select {
	height: 60px;
	width: 130px;
	font-size: 16px;
	padding: 0 20px;
}

#contents #form .button {
	text-align:center;
}

#contents #form .button input {
  display       : inline-block;
  border-radius: .3em;          /* 角丸       */
  font-size     : 24px;        /* 文字サイズ */
  text-align    : center;      /* 文字位置   */
  cursor        : pointer;     /* カーソル   */
  padding       : 12px 12px;   /* 余白       */
  background    : #C61313;     /* 背景色     */
  color         : #ffffff;     /* 文字色     */
  line-height   : 1em;         /* 1行の高さ  */
  transition    : .2s;         /* なめらか変化 */
  box-shadow    : 4px 4px #AAAAAA;  /* 影の設定 */
  width:350px;
}

#contents #form label {
	cursor:pointer;
}

#contents #form .button input:hover {
	box-shadow:none;
    opacity: 0.6;
    transition-duration: 0.2s;
}

#contents #form .add-control section {
	font-size:15px;
	text-align:left;
}

#contents #form .add-control a:link, a:visited, a:active {
    color: #000;
    text-decoration: underline;
    font-weight: bold;
}

#contents #form form .agree{
	margin:0 0 30px;
	text-align:center;
	padding:0;
}

#contents #form form .agree input {
	height:auto;
	width:auto;
}

#contents #form form .agree span {
	font-size:16px;
}

/* radio non-display */
.add-control .radio{
    display: none;
}
/* button control */
.add-control #close:checked ~ .btn-close {
    display: none;
}
.add-control #close:checked ~ .btn-open {
    display: table;
}
.add-control #open:checked ~ .btn-close {
    display: table;
}
.add-control #open:checked ~ .btn-open {
    display: none;
}
/* content control */
.add-control #close:checked ~ .box {
    display: none;
}
.add-control #open:checked ~ .box {
    display: block;
}
.add-control .btn {
    color: #fff;
    background-color:#222222;
    padding: .3em .5em;
/*    margin-bottom: .3em;*/
    border-radius: .3em;
    text-align: center;
    display: table; 
	width:300px;
	margin:0 auto 1%;
}
.btn:hover {
    cursor: pointer;    
	opacity: 0.8;
}

.btn:active {
}

.btn span {
	font-size:18px;
}

.box {
	margin-bottom:30px;
}

#contents #form .notes {
	width:1080px;
	max-width:95%;
	margin:5px auto 0;
	text-align:right;
}

.add-control {
	text-align:center;
}

footer {
	background-color:#222;
	text-align:center;
	font-size:12px;
	color:#fff;
	padding:25px 0;
}









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

	.pc {
		display:none;
	}
	
	.sp {
		display:block;
	}

	
	header {
		background:url(../img/top_sp.jpg)no-repeat center;
		background-size:cover;
		padding:50px 0;
	}
	
	header .top_title img {
		max-width:95%;
	}
	
	header .top_cta p {
		font-size:20px;
	}
	
	header .top_cta p span {
		font-size:24px;
	}
	
	header .top_cta p br {
		display:inline;
	}
	
	header .top_cta img {
		max-width:98%;
	}
	

	
	#contents .introduction {
		padding:30px 0;
	}
	
	#contents .introduction .intro_white {
		padding:30px 10px;
	}
	
	#contents .introduction .intro_white p {
		font-size:16px;
	}
	
	#contents .introduction .intro_white p.present span {
		font-size:16px;
	}
	
	#contents .introduction .intro_white p span {
		font-size:14px;
	}
	
	#contents .introduction p.notes {
		font-size:14px;
	}
	
	#contents .introduction p.notes br {
		display:inline;
	}
	
	#contents .textbook {
		padding:50px 0;
	}
	
	#contents .textbook .textbook_contents h3 {
		font-size:22px;
		padding:10px;
	}
	
	#contents .textbook .textbook_contents .image {
		justify-content:space-between;
		max-width:95%!important;
		width:auto;
		align-items: flex-start;
		margin:30px 0;
	}
	
	#contents .textbook .textbook_contents .image img {
		margin:0 3px;
		width:33%;
		max-width:100%;
		align-self: flex-start;
	}
	
	#contents .textbook .textbook_contents p {
		font-size:16px;
	}
	
	#contents #form {
		padding:50px 0;
	}
	
	#contents #form .form {
		padding:20px 5px;
	}
	
	#contents #form .form_title {
		
	}
	
	
	
	
	#contents #form .title {
		font-size: 20px;
	}
	
	#contents #form .entryItem {
		position: relative;
		display: block;
		background-color: #ece7d0;
	}
	
	#contents #form .entryItem li {
		box-sizing: border-box;
		width: 94.2029%;
		margin: 0 auto;
		padding: 6.15385% 0;
		text-align: left;
		font-weight: bold;
		font-size: 1.5rem;
	}
	
	#contents #form .entryItem li+li {
		border-top: 1px solid #000;
	}
	
	#contents #form .entryItem::before {
		display:none;
	}
	
	#contents #form .radioList li label {
		position: relative;
		display: inline;
		margin: 0;
		padding-left: 1rem;
		line-height: 1.6;
		white-space: normal;
		font-size:16px;
	}
	
	#contents #form .subItem {
		width: 95%;
		margin: 0 auto;
		padding: 2.89855% 0;
		font-weight: bold;
		font-size: 1.3rem;
		transition: 1s;
	}
	
	#contents #form .subItem.radioList li label {
		line-height:1.5em;
		font-size:14px;
		padding-left:0;
	}
	
	#contents #form .date {
		width: 95%;
		margin: 0 auto;
		padding: 2.89855% 0 10%;
		font-weight: bold;
		font-size: 1.3rem;
		transition: 1s;
	}

	#contents #form #other_job p {
		font-size:18px;
	}
	
	#contents #form form dl {
		max-width: 95%;
	}
	
	#contents #form form dd {
		margin:0;
		height:auto;
	}
	
	#contents #form form dt {
		font-size: 16px;
		float: none;
		padding: 0;
		margin-top:15px;
	}
	
	#contents #form #mailformpro .privacy {
		font-size:18px;
		margin-top: 10%;
	}
	
	#contents #form #privacy {
		max-width: 95%;
	}
	
	#contents #form .button input {
		max-width: 350px;
		width: 98%;
	}
	
	.add-control .btn {
		box-sizing: border-box;
		width:98%;
		max-width:300px;
	}
	
	#contents #form form ul {
		font-size:14px;
	}
	
	#contents #form form p {
		font-size:14px;
	}
	
	#contents #form form .agree {
		font-size:16px;
	}

	#contents #form .notes {
		font-size:14px;
		text-align:left;
	}
	
	#contents #form form ol {
		margin-left:2em;
	}
	
input[type="submit"] {
	   -webkit-appearance: none;
	   border-radius: 0;
	}
	
	
}