.clearfix {
    display: block;
}
.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
    line-height: 0;
    font-size: 0;
}
.clear {
    clear: both;
}
.html-area {
    margin-bottom: 0;
}
div.table-area {
    clear: both;
    margin: 0 0 10px 0;
}
div.table-area table {
  width: 100%;
  border-top: #E5DECB 1px solid;
  border-right: #E5DECB 1px solid;
  /*ボックスモデル*/
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
div.table-area table th,
div.table-area table td {
  border-left: #E5DECB 1px solid;
  border-bottom: #E5DECB 1px solid;
  padding: 13px 19px 12px;
  font-weight: 400;
}

@media screen and (max-width: 767px) {
  div.table-area table th,
  div.table-area table td {
    font-size: 14px;
    padding: 6px 7px;
    line-height: 1.6;
  }
}

div.table-area table th {
  background-color: #F1ECDF;
  vertical-align: middle;
}

div.table-area table td {
  vertical-align: middle;
  background: #fff;
}

div.table-area table th.title {
  text-align: right;
}

div.table-area table td.align-right {
  text-align: right;
}


.img-area .cap {
    font-size: 92%;
    margin-bottom: 0;
}
.img-area .cap-c {
    text-align: center;
}
.img-area .img {
    margin-bottom: 5px;
}
@media screen and (max-width: 767px) {
    .img-area .cap {
        margin-bottom: 0;
    }
}





.l-contents_winter {
	background: #F9F9F9;
}
@media screen and (max-width: 767px) {
  .l-contents_winter {
    width: auto;
    padding: 0 10px 0;
  }
}

.main-contents {
	width: 1200px;
    margin: 0 auto 10px;
    padding: 20px 0 40px;
	color: #222;
	font-family: 'Noto Sans Japanese', 'メイリオ', Meiryo, "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", sans-serif;
	letter-spacing: normal;
	line-height: 1.8;
}
@media screen and (max-width: 1199px) {
  .main-contents {
    width: auto;
    padding: 20px 20px 0;
  }
}

@media screen and (max-width: 767px) {
  .main-contents {
    width: auto;
    padding: 20px 0 0;
  }
}


.breadcrumb-area {
    padding: 15px 0;
    margin: 0 auto;
    background-color: #f0ad69;
}
.breadcrumb-area_inner {
	width: 1100px;
    margin: 0 auto;
}
.breadcrumb {
	font-size: 15px;
    padding: 0;
}
.breadcrumb a {
	color: #003686;
	text-decoration: underline !important;
}
.breadcrumb ul {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
}
.breadcrumb li:not(:last-child)::after {
    display: inline-block;
    margin: 0 .25rem;
    content: ">";
}
@media (max-width: 1199px) {
  .breadcrumb-area {
    padding: 5px 0;
  }
.breadcrumb-area_inner {
	width: 100%;
	max-width: 1100px;
    margin: 0 auto;
}	
  .breadcrumb {
    font-size: 12px;
	padding: 5px 10px;  
  }
}


span.color-04 {
    color: #000080;
}
span.strong {
    font-weight: bold;
}


.h1-area {
  margin-bottom: 30px;
}
hr {
    border-top: none !important;
}
hr.mgb-sp010 {
    margin: 0 0 10px 0;
}
hr.mgb-sp020 {
    margin: 0 0 20px 0;
}
hr.mgb-sp030 {
    margin: 0 0 30px 0;
}
hr.mgb-sp040 {
    margin: 0 0 40px 0;
}
@media screen and (max-width: 767px) {
  hr.mgb-sp010,
  hr.mgb-sp020,
  hr.mgb-sp030,
  hr.mgb-sp040,
  hr.mgb-sp050,
  hr.mgb-sp060,
  hr.mgb-sp070,
  hr.mgb-sp080,
  hr.mgb-sp090,
  hr.mgb-sp100 {
    display: none;
  }
}



@media screen and (max-width: 767px) {
  .h1-area {
    margin-bottom: 20px;
  }
}

.h1-area-in {
  padding: 18px 20px 16px 20px;
  position: relative;
}

@media screen and (max-width: 767px) {
   .h1-area-in {
    padding: 18px 14px 16px 15px;
  }
}

.h1-area-in::before {
  content: "";
  width: 100%;
  height: 2px;
  background: #DEDBD7;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
}
.h1-area-in::after {
  content: "";
  width: 25%;
  height: 2px;
  background: #7D0007;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
}
.h1-area-in h1 {
  font-family: 'Shippori Mincho', serif;
  font-weight: 500;
  font-size: 32px;
  letter-spacing: 0.05em;
  line-height: 1.6;
  display:flex;	
  justify-content: space-between;			
}
@media screen and (max-width: 767px) {
  .h1-area-in h1 {
    font-size: 22px;
  }
}

.h1-area-in_child {
  width: 50%;
}
.h1-area-in_child_r {
  font-size: 20px;
  text-align: right;	
  width: 50%;
  padding-top: 8px;	
}
@media screen and (max-width: 767px) {
  .h1-area-in_child {
	width: 40%;  
  }	
  .h1-area-in_child_r {
    font-size: 13px;
	width: 60%;   
  }
}



/* Heading_h2
=============================================================================*/
.h2-area {
  margin-bottom: 10px;
  padding-top: 20px;
  /*コンテンツブロックと見出しの間に余白をつける*/
}

@media screen and (max-width: 767px) {
  .h2-area {
    margin-bottom: 10px;
    padding-top: 15px;
  }
}

.h2-area-in {
  padding: 22px 29px 18px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .h2-area-in {
    padding: 11px 15px 10px;
  }
}

.h2-area-in::before {
  content: "";
  width: 100%;
  height: 2px;
  background: #92793E;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
}

.h2-area-in::after {
  content: "";
  width: 51%;
  height: 2px;
  background: #640106;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
}

.h2-area-in h2 {
  font-family: 'Shippori Mincho', serif;
  font-weight: 500;
  font-size: 26px;
  letter-spacing: 0.05em;
  line-height: 1.6;
}

@media screen and (max-width: 767px) {
  .h2-area-in h2 {
    font-size: 20px;
  }
}





/* Photo
=============================================================================*/
.pat-img-area02,
.pat-img-area {
  margin-bottom: 10px;
  text-align: center;	
}


/* Photo+Photo
=============================================================================*/
.pat-img-area02 {
  text-align: center;
}

.pat-img-area02 .photo-left {
  float: left;
}

.pat-img-area02 .photo-right {
  float: right;
}

.pat-img-area02 .photo-right img,
.pat-img-area02 .photo-left img {
  max-width: 100% !important;
  /*max-width:380px !important; キャプションに装飾をつけたい場合*/
}

.pat-img-area02 .img-area-in {
  /*display:inline-block; キャプションに装飾をつけたい場合*/
}

.pat-img-area02 .img-area,
.column1 .pat-img-area02 .photo-left,
.column1 .pat-img-area02 .photo-right {
  width: calc((100% - 36px) / 2);
}

@media screen and (max-width: 1199px) {
  .pat-img-area02 .img-area,
  .column1 .pat-img-area02 .photo-left,
  .column1 .pat-img-area02 .photo-right {
    width: calc((100% - 22px) / 2);
  }
}

@media screen and (max-width: 767px) {
  .pat-img-area02 .img-area,
  .column1 .pat-img-area02 .photo-left,
  .column1 .pat-img-area02 .photo-right {
    width: 48%;
  }
}


/* デフォルトボタン要素
=============================================================================*/
.html-area .button {
  display: block;
  padding: 13px 60px 13px 20px;
  text-decoration: none;
  font-family: 'Shippori Mincho', serif;
  font-weight: 500;
  font-size: 18px;
  letter-spacing: 0.1em;
  text-align: center;
  position: relative;
}

@media screen and (max-width: 767px) {
  .html-area .button {
    font-size: 16px;
  }
}

.html-area .button.button-inline {
  display: inline-block;
}

.html-area .button::after {
  content: '';
  width: 30px;
  height: 5px;
  background: url(/high-school/2024summer/images/contents-ar006.svg) no-repeat 0 0/contain;
  position: absolute;
  right: 20px;
  top: calc(50% - 2px);
  display: block;
  transition: all .3s;
}

.html-area .button--type1 {
  color: #222;
  background: #fff;
  border: 1px solid #888;
}

.html-area .button--type1:hover {
  color: #fff;
  background: #7D0007;
  border: solid 1px #7D0007;
  opacity: 1;
}

.html-area .button--type1:hover::after {
  background: url(/high-school/2024summer/images/contents-ar007.svg) no-repeat 0 0/contain;
}

.html-area .button--type2 {
  color: #7D0007;
  background: #fff;
  border: 1px solid #7D0007;
}

.html-area .button--type2::after {
  background: url(../../image/contents-ar008.svg) no-repeat 0 0/contain;
}

.html-area .button--type2:hover {
  color: #fff;
  background: #7D0007;
  opacity: 1;
}

.html-area .button--type2:hover::after {
  background: url(../../image/contents-ar007.svg) no-repeat 0 0/contain;
}

.html-area .button--type1_off {
  display: block;
  padding: 13px 20px 13px 20px;
  text-decoration: none;
  font-weight: 500;
  font-size: 18px;
  letter-spacing: 0.1em;
  text-align: center;	
  color: #fff;
  background: #9fa0a0;
  border: 1px solid #9fa0a0;
}

.html-area .button--type1_off:hover {
  color: #fff;
  background: #676868;
  border: solid 1px #676868;
  opacity: 1;
}
.html-area .button--type1_off::after {
  display: block;
  transition: all .3s;
}

.html-area .button.inactive {
  color: #aaa;
  border: 1px solid #aaa;
  pointer-events: none;
}

.html-area .button.inactive::after {
  background: url(../../image/contents-ar011.svg) no-repeat 0 0/contain;
}

/*blank*/
.html-area .button[target="_blank"]::after {
  position: absolute;
  right: 30px;
  top: calc(50% - 8px);
  content: '';
  display: block;
  width: 16px;
  height: 16px;
  background: url("../../image/blank-ic002.svg") no-repeat 0 0/contain;
}

#wrapper-under .html-area .button--type1[target="_blank"]:hover::after {
  background: url("../../image/blank-ic001.svg") no-repeat 0 0/contain;
}

#wrapper-under .html-area .button--type2[target="_blank"]::after {
  background: url("../../image/blank-ic003.svg") no-repeat 0 0/contain;
}

#wrapper-under .html-area .button--type2[target="_blank"]:hover::after {
  background: url("../../image/blank-ic001.svg") no-repeat 0 0/contain;
}

#wrapper-under .html-area .button.inactive[target="_blank"]::after {
  background: url("../../image/blank-ic004.svg") no-repeat 0 0/contain;
}





/* Text
=============================================================================*/
.txt-area {
  margin-bottom: 10px;
}
.txt-area1 {
  margin-top: 40px;	
  margin-bottom: 40px;
  text-align: center;	
}

span.center-justification {
    display: block;
    text-align: center;
}

/* Column（カラムレイアウト設定）
=============================================================================*/
/*カラムサイズ変更*/
/*2カラム（1:1）*/
.column2-11 .column-left {
  float: left;
}

.column2-11 .column-right {
  float: right;
}

.column2-11 .column-left,
.column2-11 .column-right {
  width: calc((100% - 36px) / 2);
}

@media screen and (max-width: 1199px) {
  .column2-11 .column-left,
  .column2-11 .column-right {
    width: calc((100% - 22px) / 2);
  }
}

@media screen and (max-width: 767px) {
  .column2-11 .column-left,
  .column2-11 .column-right {
    width: auto;
    float: none;
  }
}


/*3カラム（1:1:1）*/
.column3 .column-left {
  float: left;
  margin-right: 36px;
}

@media screen and (max-width: 1199px) {
  .column3 .column-left {
    float: left;
    margin-right: 22px;
  }
}

@media screen and (max-width: 767px) {
  .column3 .column-left {
    float: none;
    margin-right: 0;
  }
}

.column3 .column-center {
  float: left;
}

@media screen and (max-width: 1199px) {
  .column3 .column-center {
    float: left;
  }
}

@media screen and (max-width: 767px) {
  .column3 .column-center {
    float: none;
  }
}

.column3 .column-right {
  float: right;
}

@media screen and (max-width: 1199px) {
  .column3 .column-right {
    float: right;
  }
}

@media screen and (max-width: 767px) {
  .column3 .column-right {
    float: none;
  }
}

.column3 .column-box {
  width: calc((100% - (36px * 2)) / 3);
}

@media screen and (max-width: 1199px) {
  .column3 .column-box {
    width: calc((100% - (22px * 2)) / 3);
  }
}

@media screen and (max-width: 767px) {
  .column3 .column-box {
    width: auto;
  }
}

/*3カラム用詰め防止*/
.cms-artis .cms-artis-page .cms-border-none .column-area .column3 .column-box {
  padding: 0 0 1px 0 !important;
}

.column3 .column-box {
  padding-bottom: 1px;
}

/*2カラム（小）*/
.column3 .photo-noresize,
.column3 .photo-noresize img {
  max-width: calc((1200px - (36px * 2)) / 3);
}

@media screen and (max-width: 1199px) {
  .column3 .photo-noresize,
  .column3 .photo-noresize img {
    max-width: calc((710px - (22px * 2)) / 3);  
  }
}

.column3 .txt-area .img {
    margin: 15px 0;
}

.photo-noresize p {
    text-align: center;
}
@media screen and (max-width: 767px) {
    .photo-noresize, .photo-noresize img {
        max-width: 100% !important;
    }
}

.flow_box-wrap *{box-sizing: border-box;}
.flow_box-wrap{
max-width:1100px;
margin:auto;
border:#E5DECB 1px solid;
border-top:none;
border-right:none;
}
.flow_inner{
display: flex;
flex-wrap: wrap;
}
.flow_inner > div:nth-child(1){
display: flex;
flex-wrap: wrap;
width:150px;
background-color:#F1ECDF;
border:#E5DECB 1px solid;
border-left:none;
border-bottom:none;
}
.flow_inner > div:nth-child(1) span{
display:block;
margin:auto;
}
.flow_inner > div:nth-child(2){
width:calc(100% - 150px);
padding:15px 20px;
background-color:#fff;
border:#E5DECB 1px solid;
border-left:none;
border-bottom:none;
}
.flow_inner > div:nth-child(2) div:nth-child(1){
padding-bottom:4px;
}
.flow_inner div a{
display: inline-block;
margin-right: 10px;
background-color: #7D0007;
color: #fff;
font-size:15px;
text-decoration: none;
padding: 3px 10px;
border: 1px #7D0007 solid;
border-radius: 5px;
transition: .2s;
}

@media screen and ( min-width:768px) {.flow_inner div a:hover{
color: #7D0007;background-color: rgba(255, 255, 255, 0);}}

@media screen and ( max-width:767px) {
.flow_inner > div:nth-child(1){
width:100%;
padding:5px 0;}
.flow_inner > div:nth-child(2){
text-align:center;
width:100%;}
.flow_inner > div:nth-child(2) > div:nth-child(2){
display:flex;
flex-wrap:wrap;
justify-content: center;
}
.flow_inner div a{
display:block;
text-align:center;
width:calc(50% - 10px);
margin-bottom:5px;}
.flow_inner > div:nth-child(2) > div:nth-child(2) a:nth-child(even){
margin-right:0;
}
}

.heading_winter {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 26px;
	text-align: center;
}

.heading_winter::before,
.heading_winter::after {
	content: '';
	width: 70px;
	height: 3px;
	background-color: #e3bf00;
}

.heading_winter::before {
	margin-right: 20px;
}
.heading_winter::after {
	margin-left: 20px;
}

.heading_winter_inner{
font-weight:500;
font-size:28px;
margin-left:0.3rem;
}
.inquiry_btn{
display:flex;
justify-content:space-between;
}

.inquiry_wrap{
text-align:center;
}

.inquiry_wrap a{
display: inline-block;
vertical-align: middle;
margin-top:3px;	
margin-right:3px;
background-color:#EC9301;
color: #fff;
height: 40px;
line-height: 1;
font-size:15px;
text-decoration: none;
padding: 3px 10px;
border: 1px #EC9301C solid;
border-radius: 5px;
transition: .2s;
}
