@charset "UTF-8";
.form_trap {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

#request h1 {
  background: url(../images/request/visual.jpg) center center/cover no-repeat;
}

#request h1 > div {
  background-image: url(../images/request/header2.svg);
}

#request .intro {
  text-align: center;
  max-width: 1164px;
  margin: auto;
}

#request .intro p {
  margin-bottom: 40px;
  padding: 012px;
  line-height: 28px;
}

@media screen and (min-width: 769px) {
  #request .intro p {
    margin-bottom: 80px;
  }
}

#request .intro figure {
  margin: 0 12px 48px;
  padding: 0 0 48px;
  position: relative;
}

@media screen and (min-width: 769px) {
  #request .intro figure {
    margin: 0 0 72px;
    padding: 0 0 72px;
  }
}

#request .intro figure:after {
  content: '';
  display: block;
  width: 124px;
  height: 1px;
  background: #d2d2d2;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

#request .intro figure img {
  max-width: 641px;
  margin: 0 auto;
}

#request .intro section {
  position: relative;
  margin: 0 12px 48px;
  padding: 0 0 48px;
}

@media screen and (min-width: 769px) {
  #request .intro section {
    display: flex;
    margin: 0 0 72px;
    padding: 0 0 72px;
  }
  #request .intro section.reverse {
    flex-direction: row-reverse;
  }
}

#request .intro section:after {
  content: '';
  display: block;
  width: 124px;
  height: 1px;
  background: #d2d2d2;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

#request .intro section h2 {
  font-size: 20px;
  margin: 0 0 12px;
}

#request .intro section h2:after, #request .intro section h2:before {
  display: none;
}

@media screen and (min-width: 769px) {
  #request .intro section h2 {
    margin: 0;
    width: 50%;
    font-size: 26px;
  }
}

#request .intro section .contents_body {
  box-sizing: border-box;
}

@media screen and (min-width: 769px) {
  #request .intro section .contents_body {
    width: 50%;
  }
}

#request .pic {
  margin-bottom: 48px;
}

@media screen and (min-width: 769px) {
  #request .pic {
    margin-bottom: 124px;
  }
}

#request #subjects {
  padding: 24px 0;
  background: #e3e7ef;
}

@media screen and (min-width: 769px) {
  #request #subjects {
    padding: 48px 0;
  }
}

#request  p.faculty {
  color: #2e3647;
  margin: -30px 0 30px 0;
  padding: 0;
  text-align:center;
    font-size: 18px;
}



#request #subjects h2:before, #request #subjects h2:after {
  display: none;
}

@media screen and (min-width: 769px) {
  #request #subjects h2 {
    margin: 0 0 48px;
  }
}

@media screen and (min-width: 769px) {
  #request #subjects .container {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
  }
}

#request #subjects .container section {
  margin-bottom: 36px;
}

@media screen and (min-width: 769px) {
  #request #subjects .container section {
    width: calc(50% - 16px);
    margin-bottom: 48px;
  }
}

#request #subjects .container section h3 {
  margin: 0 0 18px;
  padding: 0 12px 4px 12px;
  font-size: 18px;
  text-align: left;
  border-bottom: 1px solid #a50319;
}

@media screen and (min-width: 769px) {
  #request #subjects .container section h3 {
    font-size: 24px;
  }
}

#request #subjects .container section .copy {
  padding: 0 12px;
  margin: 0 0 18px;
  font-size: 16px;
}

@media screen and (min-width: 769px) {
  #request #subjects .container section .copy {
    font-size: 20px;
    font-family: "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", serif;
  }
}

#request #subjects .container section .contents_body {
  margin: 0 0 18px;
  padding: 0 12px;
}

#request #subjects .container section .subjects {
  padding: 0 12px;
}

@media screen and (min-width: 769px) {
  #request #subjects .container section .subjects {
    display: flex;
  }
}

#request #subjects .container section section {
  min-width: 50%;
  flex-grow: 1;
  margin: 0;
}

#request #subjects .container section section h4 {
  color: #a50319;
  font-size: 16px;
}

#request #subjects .container section section .contents_body {
  padding: 0;
  margin: 0;
}

#request #subjects .container img {
  margin-bottom: 48px;
}

@media screen and (min-width: 769px) {
  #request #subjects .container img {
    width: calc(50% - 16px);
  }
}

#request #subjects .container .eng {
  background: #fff;
  box-sizing: border-box;
  margin: 0 12px;
  padding: 12px;
}

@media screen and (min-width: 769px) {
  #request #subjects .container .eng {
    display: flex;
    margin: 0;
    padding: 32px;
    justify-content: space-between;
  }
}

#request #subjects .container .eng section {
  margin: 0;
}

#request #subjects .container .eng table.base {
  margin-top: 18px;
}

#request #business {
  padding: 60px 0;
  background: #e3e7ef;
}

#request #training {
  padding: 60px 0;
  background: #e3e7ef;
}

#request #suspension {
  padding: 60px 0;
  background: #e3e7ef;
}

#request #suspension p{
  line-height:24px;
  margin-bottom: 18px;
}

.pickup{
	width: 50%;
	display: -webkit-flex;
	display: flex;
	justify-content: space-between;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	margin:0px auto;
	line-height:24px;
}


.exSide{
	text-align:left;
	padding:0 20px 20px;
	width:  50%;
}

img.pamph {
	margin:20px auto;
	width:  30%;
}


.exSide h3{
  color: #ae0319;
  font-size:18px;
  margin: 0px auto 15px;
}


  @media screen and (max-width: 768px) {
.pickup {
    display: block;
	width: 60%;
}

 
.exSide{
	width:  94%;
    margin: 20px auto;
	padding:10px 0;
}


img.pamph {
	margin:20px auto;
	width:  60%;
}

}

#request .btns {
  margin: 0 0 40px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

@media screen and (min-width: 769px) {
  #request .btns {
    margin: 0 -16px;
  }
}

#request .btns li {
  width: 100%;
/*  border-bottom: 1px solid #616a7f;*/
}

@media screen and (min-width: 769px) {
  #request .btns li {
    width: 33.33%;
    padding: 16px;
    border: none;
    box-sizing: border-box;
  }
}

#request .btns li a {
  display: block;
  color: #fff;
  font-size: 16px;
  background: #2e3647;
  text-decoration: none;
  position: relative;
  padding: 12px;
  box-sizing: border-box;
}

#request .btns li a:after {
  content: '';
  display: block;
  width: 7px;
  height: 12px;
  transform: translateY(-50%);
  background: url(../images/common/arrow_white.svg) center center/100% no-repeat;
  position: absolute;
  top: 50%;
  right: 12px;
}

@media screen and (min-width: 769px) {
  #request .btns li a {
    padding: 32px 0 32px 32px;
    transition-duration: 0.3s;
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    backface-visibility: hidden;
    opacity: 1.0;
    height:100px;
  }
  #request .btns li a:after {
    content: '';
    display: block;
    width: 8px;
    height: 14px;
    transform: translateY(-50%);
    background: url(../images/common/arrow_white.svg) center center/100% no-repeat;
    position: absolute;
    top: 50%;
    left: 12px;
  }
}

#request .btns li a:hover {
  opacity: 0.9;
}


#request #intro {
 margin-bottom:20px;
 margin-top:-40px;
}

#request #intro p {
 text-align:left;
}

@media screen and (min-width: 769px) {

#request #intro {
 margin-bottom:20px;
 margin-top:-80px;
}

#request #intro p {
 text-align:center;
}

}

#category_smp {
	display:block;
}

#category {
	display:none;
}

@media screen and (min-width: 769px) {

#category_smp {
	display:none;
}

#category {
	display:block;
}


}


/******************************************************************************/

table.base {
  display: block;
  width: 100%;
  border-top: 2px solid #a60312;
  border-bottom: 2px solid #a60312;
  margin:50px auto 20px;
  line-height:30px;
}

table.base th.item {
 border:none;
  border-bottom: 1px solid #a60312;
}



@media print, screen and (min-width: 769px) {
  table.base {
    display: table;
    border-collapse: collapse;
  max-width: 1200px;
  }

table.base th {
  border-bottom: 1px solid #a60312;
  font-size:18px;
}


table.base td {
  border-bottom: 1px solid #a60312;
  border-left: 1px solid #a60312;
}

}

@media screen and (max-width: 768px) {
  table.base tr.none {
    display: none;
  }
}
table.base thead {
  display: none;
}

.categoryIcon {
    background: #82be28;
    color:#fff;
    padding: 2px 8px;
    width:100px;
    text-align: center;
}




@media print, screen and (min-width: 769px) {
  table.base thead {
    display: table-header-group;
  }
}

@media print, screen and (min-width: 769px) {
  table.base thead th {
    text-align: left;
    color: #fff;
    background: #007236;
    padding: 8px;
  }
}

table.base tbody {
  display: block;
  width: 100%;
}




@media print, screen and (min-width: 769px) {
  table.base tbody {
    display: table-row-group;
  }
}

table.base tbody tr {
  display: block;
}

@media print, screen and (min-width: 769px) {
  table.base tbody tr {
    display: table-row;
  }
  table.base tbody tr:nth-child(even) td {
    background: #fff;
  }
  table.base tbody tr:nth-child(even) th {
    background: #fff;
  }
}

table.base tbody th,
table.base tbody td {
  display: block;
  padding: 8px 3%;
}

@media print, screen and (min-width: 769px) {
  table.base tbody th,
  table.base tbody td {
    display: table-cell;
  }
}

table.base tbody th {
  display: block;
  color: #000;
background-color:#eee;

  text-align: left;
  width:94%;
}

@media print, screen and (min-width: 769px) {
table.base tbody th {
  display: block;
  color: #000;
  background: #fff;
  text-align: left;
  width:30%;
}
}


@media print, screen and (min-width: 769px) {
  table.base tbody th {
    display: table-cell;
  }
}

table.base tbody th span.head {
  display: inline-block;
  margin-right: 8px;
}

table.base input[type="text"] ,
table.base input[type="email"] {
height: 30px;
border:solid #ddd 1px;
    margin: 5px auto;
}

table.base select{
height: 30px;
border:solid #ddd 1px;
    margin: 5px auto;
}

table.base textarea {
border:solid #ddd 1px;
    margin: 5px auto;
}

textarea::placeholder {
  color: #666;
  font-size: 14px;
  font-style: italic;
}

.red {
	color:#f00;
}

img.none {
    display: block;
	width:auto;
    margin: 0;
    padding: 0;
}

span.require {
	background:#a60311;
	color:#fff;
	font-weight:normal;
	vertical-align: middle;
	padding:2px 4px;
	margin-left:10px;
	font-size:60%;
}

br.sp {
	display:none;
}

div.exp {
	color:#FF0000;
}

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

span.require {
	font-size:80%;
}

table.base textarea {
width: 90%;
height: 5em;
}

br.sp {
	display:block;
}

table.base input[type="text"],
table.base input[type="email"] {
width: 90%;
}

table.base input[type="text"].small{
width: auto;
}
}

input:focus {
	background-color: #F7CFE1;
}

textarea:focus {
	background-color: #F7CFE1;
}

select:focus {
	background-color: #F7CFE1;
}

article .note{border:1px solid #0d3b40;border-top:3px solid #0d3b40;margin:36px 0;padding:12px}article .note:last-of-type{margin-bottom:0}article .note .title{min-width:188px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:#0d3b40;transform:translateX(-24px);font-size:16px}@media screen and (min-width: 768px){article .note .title{font-size:18px}}article .note .note_body{padding:12px;font-size:13x;line-height:24px}@media screen and (min-width: 768px){article .note .note_body{font-size:15px;line-height:28px}}

.btn{
  position: relative;
  display: block;
  border-radius: 5px;
  background-color: green;
  padding: 15px;
  text-align: center;
  color: white;
  width: 300px;
  font-size: 15px;
  cursor: pointer;
  margin:10px auto;
}
.btn:after{
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  width: 6px;
  height: 6px;
  margin: -4px 0 0 0;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.btn2{
  position: relative;
  display: inline-block;
  border-radius: 5px;
  background-color: #707070;
  padding: 15px;
  text-align: center;
  color: white;
  width: 300px;
  font-size: 15px;
cursor: pointer;
}
.btn2:after{
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  width: 6px;
  height: 6px;
  margin: -4px 0 0 0;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.btn:hover, .btn2:hover {
	opacity:0.8;
}

div.info2 {
	width:90%;
	max-width:860px;
	background:#fff;
	border:solid 1px #ddd;
	margin:20px auto;
	padding:15px 5%;
	line-height:200%;
}

div.info {
	width:90%;
	max-width:800px;
	background:#f5f5f5;
	border:solid 1px #ddd;
	margin:20px auto;
	padding:15px 10px;
	line-height:200%;
}



div.info .big {
	font-size:150%;
}

div.info .sign {
	color:#a60311;
}
