﻿@charset "utf-8";

/* TOP CSS */

/* --------------------------------------

Base settings

---------------------------------------*/

.fixhtml{ position: fixed; width: 100%; height: 100%;}

html {
  /* overflow: auto; */
  height: 100%;
}


body
{
    padding-top: 52px;
    overflow-x: hidden;
    width: 100%;
    height: 100%;
    word-break: break-all;
    -webkit-overflow-scrolling: touch;
    -webkit-text-size-adjust:100%
}

.sp-hyde
{
    display: none;
}

.pc-hyde
{
    display: block;
}

.font28
{
    font-size: 24px;
}
.font20
{
    font-size: 18px;
}



.top20
{
    margin-top:10px; 
}

.bottom30
{
    margin-bottom: 10px;
}

.bottom40,
.bottom50,
.bottom60,
.bottom80,
.bottom90,
.bottom120
{
    margin-bottom: 20px;
}

/*-------- headline --------*/

h2 {
    font-size: 22px;
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 1px solid #b92623;
    border-image: none;
    border-image-slice: 0;
}

h3, h4 {
    font-size: 20px;
    margin-bottom: 10px;
}

.arrowttl {
    padding: 16px 0;
    border-bottom: 1px solid #b92623!important;
    border-image: none!important;
    border-image-slice: 0!important;
}

.labelttl {
    padding: 10px;
    margin-bottom: 10px;
}

/*-------- box --------*/

.wrapper
{
    width:92%;
	margin:0 auto;
	position:relative;
}

.box {
    padding-top: 20px;
    padding-bottom: 20px;
}

.borderbox {
    padding-bottom: 16px;
    margin-bottom: 16px;
}

.yellowbox
{
    padding: 20px;
}

.flexbox.col4.start
{
    -webkit-justify-content: space-between; /* Safari */
	justify-content:         space-between;
	-webkit-flex-wrap: wrap; /* Safari */
    flex-wrap:         wrap;
}

.flowbox .item
{
    margin-bottom: 30px;
}

.flowbox .item:after
{
    border-width: 10px 8px 0 8px;
    border-color: #b92523 transparent transparent transparent;
    top: auto;
    -webkit-transform: none;
    transform: none;
    bottom: -20px;
    margin: 0 auto;
    left: 0;
    right: 0;
}

.flowbox .item:last-of-type
{
    margin-bottom: 0;
}

.thumbbox .thumbnail
{
    width: 20%;
}

.thumbbox .detail {
    width: 76%;
}
.thumbbox .detail p.bottom10
{
    line-height: 1.3;
    font-size: 14px;
    margin-bottom: 6px;
    letter-spacing: -1px;
}

/* tablebox */


/* flowbox */


/* cautionbox */


/* yellowbox */


/* item */

.col2 > .item,
.col3 > .item
{
    width: 100%;
}

.col4 > .item
{
    width: 49%;
}

.flexbox.start.col4 .item
{
    margin-right: 0;
}

/*-------- btn --------*/

.top20 .btn
{margin-bottom: 20px;}

/* big */

.btn.big {
    padding: 10px 0;
    font-size: 16px;
}

/* anchor */

.anchor
{
    margin-bottom: 10px;
}

.anchor .btn {
    padding: 10px 0;
    margin-bottom: 10px
}

/* conv */

.btn.conv {
    font-size: 16px;
    padding: 10px 0;
}

/* news btn */

.btn.prev:after {
    content: "";
    display: block;
    width: 10px;
    height: 15px;
    background: url(../img/ico/arrow-r.svg) no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 50%;
    left: auto;
    right: 4%;
    margin-top: auto;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 99;
}

.btn.prev, .btn.center, .btn.next {
    width: 100%;
    display: inline-block;
    margin-top: 10px;
    text-align: left;
    padding-left: 4%
}

.btntop {
    width: 50px;
    height: 50px;
    line-height: 50px;
    right: 4vw;
    bottom: 4vw;
    filter: drop-shadow(3px 3px 4px rgba(0,0,0,.2));
    z-index: 99;
}

.btntop:hover
{
    opacity: 1!important;
    background: #fff;
}
/*-------- list --------*/


/*-------- img --------*/

.thumbnail img
{
    width: 100%;
    height: auto;
}

/*-------- input --------*/


/*-------- label --------*/

.label {
    width: 100px;
    margin: 0 4px;
    font-size: 12px;
}






/* --------------------------------------

header

---------------------------------------*/

header
{
    background: #fff;
}


/*-------- cnav --------*/

header .cnav
{
    display: none;
}

header .cnav .wrapper
{
    width: 100%;
    padding: 0;
}

header .cnav ul li a
{
    font-size: 12px;
}

header .cnav ul li:first-child a
{
    border-left: 0;
}

header .cnav ul li:last-child a
{
    border-right:0 
}



/*-------- logoarea --------*/

header .logoarea
{
    padding: 14px 0;
    position: relative;
}

header .logoarea .logo
{
    margin: 0;
}

header .logoarea .logo img
{
    height: 24px;
    width: auto;
}

/* toggle */

header .square
{
	position: absolute;
	display:block;
	width:50px;
	height:52px;
	top:0px;
	right:0;
	z-index:9999; 
}

header #toggle {
	width: 30px;
	top: 0;
	right:0;
	left:0;
	margin:18px auto 0;
	display: block
}
.menu-trigger, .menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box
}
.menu-trigger {
	position: relative;
	width: 100%;
	height: 20px
}
.menu-trigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #fff;
	border-radius: 4px
}
.btn-facebook a, .btn-twitter a {
	border-radius: 3px;
	line-height: 30px
}
.menu-trigger span:nth-of-type(1) {
	top: 0
}
.menu-trigger span:nth-of-type(2) {
	top: 6px
}
.menu-trigger span:nth-of-type(3) {
	top: 12px
}
.menu-trigger::after {
	position: absolute;
	left: 0;
	bottom: -22px;
	/*content: 'MENU';*/
	display: block;
	width: 100%;
	color: #fff;
	font-size: 11px;
	text-decoration: none;
	text-align: center;
	transition: all .4s
}

.menu-trigger.active::after {
	/*content: 'CLOSE';*/
	bottom: -22px
}

.menu-trigger.active span:nth-of-type(3) {
	top: 16px
}
.menu-trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(8px) rotate(-45deg);
	transform: translateY(8px) rotate(-45deg)
}
.menu-trigger.active span:nth-of-type(2) {
	opacity: 0
}
.menu-trigger.active span:nth-of-type(3) {
	-webkit-transform: translateY(-8px) rotate(45deg);
	transform: translateY(-8px) rotate(45deg)
}

/* gnav */


header .gnav
{
    display: none;
    margin-top: 14px;
    width: 100%;
    position: relative;
    top: 0;
    bottom: 0;
    overflow-x: hidden;
    overflow-y: scroll;
    height:100vh;
    padding-bottom: 300px;
}


header .gnav > ul.flexbox
{
    display: block;
    width: 100%;
    -webkit-justify-content: space-between; /* Safari */
	justify-content:         space-between;
	-webkit-flex-wrap: wrap; /* Safari */
    flex-wrap:         wrap;
    position: relative;
    width: 100vw;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}

/* pc scrollbar対策 */

html.pc header .gnav > ul.flexbox
{
    width: 100%;
    left: auto;
    right: auto;
    margin-left: auto;
    margin-right: auto;
}

html.pc header .gnav > ul.flexbox .wrapper
{
    width: 100%;
}


header .gnav > ul.flexbox > li
{
    width: 100%;
    text-align: left;
    padding: 0;
    border-bottom: 1px dashed #ddd;
}

header .gnav ul.flexbox li a
{
    display: block;
    padding: 10px 4%
}

header .gnav > ul > li.has-child > a:after
{
    display: none;
}

header .gnav > ul > li.pc-hyde
{
    display: block;
}


/* snav */

header .gnav > ul > li.has-child .snav
{
    display: block;
    width: 100%;
    position: relative;
    top: 0;
    padding: 0 4%　16px
}

header .gnav > ul > li.has-child .snav .box
{
    padding-bottom: 0
}

header .gnav ul.flexbox >li.has-child .snav h3
{
    font-size: 16px;
}


header .gnav > ul > li.has-child .snav .flexbox.start.col3 .item
{
    margin-bottom: 20px;
}

header .gnav ul.flexbox >li.has-child .snav > li
{
    padding: 10px 0;
}

header .gnav ul.flexbox >li.has-child .snav li a
{
    padding: 10px 4%;
}




/* --------------------------------------

mainvisual

---------------------------------------*/


/* front */



/* sub */

.sub .mainvisual
{
    padding: 16px 0;
}

.sub .mainvisual h1, .sub .mainvisual .ttl
{
    font-size: 24px;
}

/* sub - products */



/* --------------------------------------

breadcrumb

---------------------------------------*/

/* sub */

.sub main .breadcrumb
{
    padding: 5px 0;
    font-size: 11px
}

/* sub - products */

.sub.products main .breadcrumb
{
    padding-bottom: 0;
}

.sub.products main .breadcrumb .txtlink
{
    position: relative;
    top: auto;
    -webkit-transform: none;
    transform: none;
    text-align: center;
    display: -webkit-flex; /* Safari */
	display: flex;
    -webkit-justify-content: space-between; /* Safari */
	justify-content:         space-between;
	-webkit-flex-wrap: wrap; /* Safari */
  flex-wrap:         wrap;
    width: 100vw;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
    border-top: 1px dashed #555;
    margin-top: 6px;
}

.sub.products main .breadcrumb .txtlink a
{
    margin-left: 0;
    font-size: 12px;
    width: 50%;
    padding: 10px 0;
}


.sub.products.dracad main .breadcrumb .txtlink a
{
    margin-left: 0;
    font-size: 12px;
    width: auto;
    padding: 10px 7px;
}


.sub.products.iarm main .breadcrumb .txtlink a
{
    margin-left: 0;
    font-size: 12px;
    width: auto;
    padding: 10px 7px;
}


.sub.products main .point4 .point h3:before
{
    width: 1.1em;
}

/* --------------------------------------

main

---------------------------------------*/

main {
    border-top: 3px solid #b92623;
    border-image:none;
    border-image-slice: 0;
}

main .detail
{
    padding: 20px;
}

main .infoarea li a
{
    font-size: 14px;
    padding: 10px 4% 10px 0;
}
main .infoarea li a strong
{
    display: block;
    line-height: 1.5;
    padding-top: 4px;
}

main .productbox h3 img {
    height: 24px;
}

/* front */

.front main .topnews .wrapper .fa
{
    display: none;
}

.front main .promoarea.bg-gray
{
    padding: 20px 0;
}

.front main .promoarea.bg-gray .item
{
    margin-bottom: 10px;
}

.front main .promoarea.bg-gray .item:last-of-type
{
    margin-bottom: 0;
}

.front main .topnews .wrapper
{
    font-size: 13px;
    padding: 10px 0 0 0;
}

.front main .topnews .notice
{
    margin-top: 10px;
    position: relative;
    width: 100vw;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
    line-height: 1.8;
    padding: 10px 4%;
    text-align: left;
}

.front main .topnews .notice .fa
{
    display: inline-block;
}

.front main .productarea .item
{
    width: 100%;
    text-align: center;
    margin-bottom: 10px;
}

.front main .productarea .item.flexbox
{
    -webkit-justify-content: space-between; /* Safari */
	justify-content:         space-between;
	-webkit-flex-wrap: wrap; /* Safari */
    flex-wrap:         wrap;
}

.front main .productarea .item.flexbox .item
{
    width: 100%;
}

.front main .col2.productbox
{
    margin-bottom: 0;
}

.front main .col2.productbox .shadow
{
    position: relative;
    padding-top: 20vw;
}

.front main .col2.productbox .shadow .item
{
    margin-bottom: 0;
}

.front main .col2.productbox .shadow p.item
{
    position: absolute;
    display: block;
    width: 100%;
    height: 20vw;
    top: 0;
    left: 0;
}


.front main .col2.productbox .shadow .detail
{
    min-height: inherit;
}

.front main .col2.productbox .shadow .detail .btn
{
    position: relative;
    bottom: auto;
    left: auto;
    width: 100%;
}
.front main .productarea .col4 .item:last-of-type
{
    margin-bottom: 0;
}

.front main .col2.productbox .shadow .thumbnail img,
.front main .col4 .shadow .thumbnail img
{
    height: 20vw;
}

.front main .col2.productbox .shadow .thumbnail.dracad img,
.front main .col2.productbox .shadow .thumbnail.iarm img
{
  -webkit-transform: translate(0, -30%);
  transform: translate(0, -30%);
  max-width: 100%;
  max-height: 300%;
  width: auto;
  height: auto;

}

.front main .col4.productbox .shadow .detail strong br
{
    display: none;
}

.front main .casearea
{
    border: none;
}

.front main .casearea,
.front main .youtubearea
{
    display: block;
    width: 100%;
    flex: auto!important;

}


.front main .casearea h2,
.front main .youtubearea h2
{
    border: none!important;
}

main .infoarea h3
{
    font-size: 18px;
    padding-left: 0;
    padding-right: 0;
    width: 100%;
}

main .infoarea .ttl
{
    padding: 14px 4%;
}

.front main .infoarea .txtlink
{
    top: -38px;
    font-size: 14px;
}

.front main .infoarea .txtlink:after
{
    margin-left: 8px;
}

main .infoarea .ttl {
    border-bottom: 1px solid #b92623!important;
    border-image: none!important;
    border-image-slice: 0!important;
}

/* sub */

.sub main .contents
{
    padding-top:20px; 
}

.sub main .tbscroll
{
    width: 100%;
    overflow-x: scroll;
}

.sub main .tbscroll table
{
    width: 700px;
}

.sub main .tbscroll th
{
    width:inherit;
}


.sub main table th
{
    width: 30%;
}

.sub main table td, table th
{
    padding: 8px;
    font-size: 14px;
    border-bottom: 1px dashed #ddd;
}

.sub main iframe
{
    max-width: 100%;
    height: auto;
}

.sub main a.beige
{
    margin-bottom: 10px
}

/*.sub main article .formarea h2
{
    padding-bottom: 20px;
    font-size: 24px!important;
}*/

.sub main .flexbox.col2.borderbox .thumbbox
{
    margin-bottom: 10px;
}



/* sub - case */

.sub.case main .detail
{
    padding: 20px;
}

.sub.case main .col2,
.sub.case main .col2 > .item
{
    display: block;
}

.sub.case main .noborder
{
    border-bottom: none;
}

/* sub - products */

.sub main .productbox.flexbox.col2 > .item
{
    margin-bottom: 10px;
}

.sub main .productbox.flexbox.col2 > .item:last-of-type
{
    margin-bottom: 0;
}
.sub main .productbox .flexbox.col3 .btn
{
    margin-bottom: 10px;
}

.sub main .productbox .flexbox.col3 .item:last-of-type .btn
{
    margin-bottom: 0;
}
.sub.products main .important a:before
{
   content: "\f0a1 \ 重要なおしらせ";
    font-family: FontAwesome;
    font-size: 16px;
    padding: 0 8px;
    line-height: 32px;
    position: relative;
    top: 0px;
    left: 0px;
    display: block;
    text-align: center;
    background: #ffe157;
    color: #313131;
    margin-bottom: 10px
}

.sub.products main .important a
{
    padding: 10px 4%;
    line-height: 1.5
}

.sub.products main .important a:after
{
    display: none;
}

.sub.products main .campain a:before
{
   content: "\f0a1 \ キャンペーン情報";
    font-family: FontAwesome;
    font-size: 16px;
    padding: 0 8px;
    line-height: 32px;
    position: relative;
    top: 0px;
    left: 0px;
    display: block;
    text-align: center;
    background: #ffe157;
    color: #313131;
    margin-bottom: 10px
}

.sub.products main .campain a
{
    padding: 10px 4%;
    line-height: 1.5
}

.sub.products main .campain a:after
{
    display: none;
}

.sub.products main .recommend a:before
{
   content: "\f0a1 \ おすすめ情報";
    font-family: FontAwesome;
    font-size: 16px;
    padding: 0 8px;
    line-height: 32px;
    position: relative;
    top: 0px;
    left: 0px;
    display: block;
    text-align: center;
    background: #ffe157;
    color: #313131;
    margin-bottom: 10px
}

.sub.products main .recommend a
{
    padding: 10px 4%;
    line-height: 1.5
}

.sub.products main .recommend a:after
{
    display: none;
}

.sub.products .mainvisual .wrapper {
    height: 26vw;
}

.sub.products .mainvisual h1
{
    margin-bottom: 0
}

.sub.products .mainvisual h1 strong {
    padding-bottom: 0px;
    font-size: 15px;
    letter-spacing: -1px;
}

.sub.products .mainvisual h1 img
{
    width: auto;
    height: 8vw;
}

.sub.products .mainvisual h1 .en
{
    font-size: 20px
}

.sub.products main h2.faq {
    position: relative;
    font-size: 20px;
}

.sub.products main h2.faq:before {
    margin-right: 10px;
}

.sub.products main .flexbox .btn.conv
{
    margin-bottom: 10px;
}

.sub.products main .convarea
{
    position: relative;
    padding: 20px 0 20px;
}

.sub.products main .convarea h2 {
    font-size: 20px;
    padding: 0 4% 30px 4%;
}


.sub.products main .convareaSub
{
    position: relative;
    padding: 20px 0 20px;
}

.sub.products main .convareaSub h2 {
    font-size: 20px;
    padding: 0 4% 30px 4%;
}


.sub.products main .pnav ul
{
    width: 100%;
    padding: 0;
}

.sub.products main .pnav .item a
{
    font-size: 12px;
    line-height: 1.5
}

.sub.products main .case .flexbox
{
    display:block;
	-webkit-flex-direction: row; /* Safari */
  flex-direction:         row;
  -webkit-flex-wrap: wrap; /* Safari */
  flex-wrap:         wrap;
}

.sub.products main .case .flexbox .item
{
    width: 100%;
    flex: auto;
}

.sub.products main .case .thumbnail img
{
    width: 100%;
    height: auto;
    object-fit:none;
    font-family:inherit;
    position: absolute;
    top: auto;
    left: auto;
    -webkit-transform: none;
    transform: none;
    position: relative;
}

.sub.products main #movie .ttl
{
	font-size:20px;
	padding-bottom:10px;
    line-height: 1.5;    
}

.sub.products main #movie .col2 .item:nth-of-type(1)
{
    margin-bottom: 10px;
}

/* sub - products - dracad */

.sub.products.dracad main .btn.beige .vmiddle
{
     position: relative;
    top: auto;
    -webkit-transform: none;
    transform: none;
}

.sub.products.dracad main #asprice .item.bg-gray
{
    margin-bottom: 10px;
}

.sub.products.dracad main #asprice .item.bg-gray:last-of-type
{
    margin-bottom: 0;
}

/* sub - products - iarm */
.sub.products.iarm main .yellowbox.col2 .item .vmiddle
{
    position: relative;
    top: auto;
    -webkit-transform: none;
    transform: none;
}


/* sub - products - save - building */

.sub.products.save main .subvisual h2
{
    padding-bottom: 20px
}

.sub.products.save main .flexbox.col2 > .item:nth-of-type(1)
{
    margin-bottom: 10px;
}

.sub.products.save main .subvisual .col3
{
    display:block;
	-webkit-flex-direction: row; /* Safari */
  flex-direction:         row;
  -webkit-flex-wrap: wrap; /* Safari */
  flex-wrap:         wrap;
}
.sub.products.save main .subvisual .col3 .item
{
    width: 100%;
    border: none;
    margin-bottom: 20px;
    padding: 0
}

.sub.products.save main .subvisual .col3 .item:last-of-type
{
    margin-bottom: 0;
}

.sub.products.save main .mainvisual h1,
.sub.products.house main .mainvisual h1
{
    margin-bottom: -4px
}

.sub.products.save main .mainvisual a,
.sub.products.house main .mainvisual a
{
    font-size: 16px;
}

/* sub - products - other */


/* sub - single */

.sub.single main article .ttl h1
{
    font-size: 24px;
    line-height: 1.3;
    margin-bottom: 6px;
    padding: 0 4%
}

.sub.single .yellowbox.col2
{
    -webkit-justify-content: space-between; /* Safari */
	justify-content:         space-between;
	-webkit-flex-wrap: wrap; /* Safari */
    flex-wrap:         wrap;
}

.sub.single .yellowbox.col2 .item
{
    width: 100%;
}

.sub.single .yellowbox.col2 .item strong
{
    margin-bottom: 10px;
    display: block;
    line-height: 1.5;
    text-align: center
}

.sub.single .yellowbox.col2 .item .vmiddle
{
    position: relative;
    top: auto;
    -webkit-transform: none;
    transform: none;
}

/* sub - single */

.sub.single.case main article aside.col3.wrapper .item,
.sub.single.post main article aside.col3.wrapper .item
{
    width: 100%;
    display: block;
}

/* sub - corporate */

.sub.corporate main .subvisual .wrapper
{
    min-height: auto;
}

.sub.corporate main .subvisual .detail,
.sub.corporate.recruit main .subvisual .detail
{
    padding: 20px;
    position: relative;
    top: auto;
    -webkit-transform: none;
    transform: none;
    background: rgba(255,255,255,.8);
    
}

.sub.corporate main .subvisual nav
{
    position: relative;
    width: 100%;
    bottom: -0px;
    margin-top: 20px;
}

.sub.corporate main .subvisual nav .item
{
    width:49%;
}

.sub.corporate main .subvisual nav .btn
{
    padding: 10px 0
}


.sub.corporate main .subvisual nav .flexbox
{
    -webkit-justify-content: space-between; /* Safari */
	justify-content:         space-between;
	display: -webkit-flex; /* Safari */
	display: flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:         wrap;

}

.sub.corporate.recruit main #statue h2, .sub.corporate.recruit main #flow h2 {
    margin-top: -20px;
    z-index: -1;
}


.sub.corporate.recruit main #statue .flexbox.col2 .item
{
    min-height: auto;
}



.sub.corporate.recruit main #statue .flexbox.col2 .item .vmiddle
{
    position: relative;
    top: auto;
    -webkit-transform: none;
    transform: none;
    width: 100%;
}

.sub.corporate.recruit main #statue .flexbox.col2 .item .vmiddle p
{
    font-size: 14px;
}

.sub.corporate.recruit main #statue h3 .txtgrad
{
    display: block;
    padding-right: 6px;
    font-size: 40px;
}

.sub.corporate.recruit main #statue .flexbox.col2 .item img
{
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover;';
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.sub.corporate.recruit main #recruitment .tab .item
{
    width: 24%;
}

.sub.corporate.recruit main #recruitment .tab .item a
{
    font-size: 14px;
    letter-spacing: -1px;
    line-height: 1.5;
    padding: 6px 0;
}

.sub.corporate.recruit main .bg-grad h2
{
    margin-bottom: 0
}

.sub.corporate.recruit main .bg-grad p.text-center
{
    text-align: left;
    line-height: 1.5;
}

.sub.corporate.recruit main #entry .flexbox.col2 .item:nth-of-type(1)
{
    margin-bottom: 10px;
}

.sub.corporate.recruit main #entry .flexbox.col2 .item:nth-of-type(2) p
{
    text-align: left;
}

/* sub - seminar_school */

.sub.seminar_school main .borderbox.flexbox,
.sub.single.seminar_school main article aside.col3.wrapper
{
    display:block;
	-webkit-flex-direction: row; /* Safari */
  flex-direction:         row;
  -webkit-flex-wrap: wrap; /* Safari */
  flex-wrap:         wrap;
}

.sub.seminar_school main .borderbox.flexbox .item,
.sub.seminar_school main .borderbox.flexbox .item.detail,
.sub.seminar_school main .borderbox.flexbox .item.date,
.sub.seminar_school main .borderbox.flexbox .item.detail.long
{
    width: 100%;
}

.sub.seminar_school main .borderbox.flexbox .item .vmiddle
{
    position: relative;
    top: auto;
    -webkit-transform: none;
    transform: none;
}

/* sub - single - seminar_school */

.sub.seminar_school main #school .detail
{
    padding: 16px 10px;
}

.sub.single.seminar_school main article .ttl .borderbox
{
    padding-bottom: 10px;
    margin-bottom: 10px;
}

.sub.single.seminar_school main article .ttl h1
{
    font-size: 24px;
}
.sub.single.seminar_school main article .ttl .font24
{
    padding: 0 4%;
    font-size: 18px;
    margin-bottom: 6px
}

.sub.single.seminar_school main article aside.col3.wrapper .item
{
    width: 100%;
    display: block
}

.sub.single.seminar_school main article aside.col3.wrapper .thumbbox
{
    margin-bottom: 10px;
}

.sub.single.seminar_school main article aside.col3.wrapper .btn
{
    padding: 10px 0;
    margin-top: 10px;
}



/* sub - press */

.sub.press main .flexbox .btn.conv
{
    margin-bottom: 10px;
}

.sub.press main .convarea
{
    position: relative;
    padding: 20px 0 20px;
}

.sub.press main .convarea h2 {
    font-size: 20px;
    padding: 0 4% 30px 4%;
}

.sub.press main .pnav ul
{
    width: 100%;
    padding: 0;
}

.sub.press main .pnav .item a
{
    font-size: 12px;
    line-height: 1.5
}

/* sub - information */

.sub.information main .flexbox .btn.conv
{
    margin-bottom: 10px;
}

.sub.information main .convarea
{
    position: relative;
    padding: 20px 0 20px;
}

.sub.information main .convarea h2 {
    font-size: 20px;
    padding: 0 4% 30px 4%;
}

.sub.information main .pnav ul
{
    width: 100%;
    padding: 0;
}

.sub.information main .pnav .item a
{
    font-size: 12px;
    line-height: 1.5
}



/* support */

.sub.support main a.beige .item
{
    font-size: 40px
}

.sub.support main a.beige .item img
{
    width: 90%;
    height: auto;
}

.sub.support main a.beige .detail
{
    font-size: 14px;
    width: 77%;
    padding: 16px;
    text-align: left;
}

/* --------------------------------------

footer

---------------------------------------*/

/*-------- aside.bg-grad --------*/

footer aside.bg-grad .wrapper
{
    padding: 0!important;
}

footer aside.bg-grad .col3
{
    -webkit-justify-content: space-between; /* Safari */
	justify-content:         space-between;
	-webkit-flex-wrap: wrap; /* Safari */
    flex-wrap:         wrap;
}

footer aside.bg-grad .col3 .item
{
    width: 100%;
    text-align: left;
    border-bottom: 1px dashed #fff;
    padding: 10px 0
}

footer aside.bg-grad .col3 .item:last-of-type
{
    border: none;
}

footer aside.bg-grad .col3 .item h3
{
    display: none;
}

footer aside.bg-grad .col3 .item p
{
    display: inline-block;
    vertical-align: middle;
}

footer aside.bg-grad .col3 .item .fa
{
    font-size: 30px;
    vertical-align: middle;
    margin-bottom: 0;
    width: 40px;
}

footer aside.bg-grad .col3 .item .btn
{
    border: none!important;
    width: calc(100vw - 80px);
    text-align: left
}

footer aside.bg-grad .col3 .item .btn:after
{
    right: 0;
}



/*-------- aside.bg-bk --------*/

footer aside.bg-bk ul li .btn:after
{
    display: none;
}

footer aside.bg-bk ul li:nth-child(1),
footer aside.bg-bk ul li:nth-child(2)
{
    margin-bottom: 10px;
}

/*-------- sns --------*/


/*-------- nav.bg-bk --------*/

footer nav.bg-bk
{
    padding: 10px 4%;
}

footer nav.bg-bk .wrapper
{
    width: 100%;
    padding: 0;
    text-align: center;
    font-size: 12px;
}

footer nav.bg-bk small
{
    font-size: 12px;
    display: block;
    margin: 10px auto 0;
    width: 100%;
    border-top: 1px dashed #555;
    padding: 20px 0 10px;
    
}
