@charset "UTF-8";

/* ------------------------------------------------------------------
kv
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
  .kv{
    position: relative;
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-image: url("../images/sample/kv_1920320_04.jpg")
  }
	.kv:before{
		content: "";
		position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
		z-index: 2;
    -webkit-transition: all 0.6s ease;
    transition: all 0.6s ease;
		-webkit-animation: kv-bg 1s ease-in-out both;
		animation: kv-bg 1s ease-in-out both;
	}
  .kv .kv-in{
    position: relative;
		max-width: 1160px;
		height: 300px;
    padding: 0 20px;
    margin: auto;
		box-sizing: border-box;
  }
	.kv .content{
		position: absolute;
    top: 60%;
    left: 0;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
		width: 100%;
		-webkit-animation: kv-txt 1s ease-in-out both;
		animation: kv-txt 1s ease-in-out both;
  	-webkit-animation-delay: 1.0s;
		animation-delay: 1.0s;
    z-index: 3;
	}
	.kv .content h1{
    font-size: 3.2rem;
    line-height: 1.4;
    color: #fff;
	}
  .kv .content h1 .s{
    display: block;
    font-size: 1.8rem;
  }
	.kv .content p{
		margin: 10px 0 0 0.2em;
    font-size: 1.8rem;
    color: #fff;
	}
  .kv .icon{
    margin: 0 0 15px;
  }
  #reform .kv .kv-in,
  #business .kv .kv-in{
		height: 560px;
  }
	#reform .kv .content h1,
  #business .kv .content h1{
    font-size: 3.6rem;
	}
  #contest .kv .content,
  #reform .kv .content,
  #business .kv .content{
    text-align: center;
  }
}
@media only screen and (max-width:767.98px) {
  .kv{
    position: relative;
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-image: url("../images/sample/kv_750320_04.jpg");
  }
	.kv:before{
		content: "";
		position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
		z-index: 2;
    -webkit-transition: all 0.6s ease;
    transition: all 0.6s ease;
		-webkit-animation: kv-bg 1s ease-in-out both;
		animation: kv-bg 1s ease-in-out both;
	}
  .kv .kv-in{
    position: relative;
		width: 80%;
		height: 160px;
    margin: auto;
		box-sizing: border-box;
  }
	.kv .content{
		position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
		width: 100%;
		-webkit-animation: kv-txt-sp 1s ease-in-out both;
		animation: kv-txt-sp 1s ease-in-out both;
  	-webkit-animation-delay: 1.0s;
		animation-delay: 1.0s;
    z-index: 3;
	}
	.kv .content h1{
    font-size: 2.0rem;
    line-height: 1.4;
    color: #fff;
	}
  .kv .content h1 .s{
    display: block;
    font-size: 1.4rem;
  }
	.kv .content p{
		margin: 5px 0 0 0.2em;
    font-size: 1.4rem;
    color: #fff;
	}
  .kv .icon{
    width: 60px;
    margin: 0 auto 10px;
  }
  #reform .kv .kv-in,
  #business .kv .kv-in{
		height: 280px;
  }
	#reform .kv .content h1,
  #business .kv .content h1{
    font-size: 2.4rem;
	}
  #contest .kv .content,
  #reform .kv .content,
  #business .kv .content{
    text-align: center;
  }
}

@-webkit-keyframes kv-bg {
  0% {
		opacity: 0;
  } 100% { 
		opacity: 1;
  }
}
@keyframes kv-bg {
  0% {
		opacity: 0;
  } 100% { 
		opacity: 1;
  }
}
@-webkit-keyframes kv-txt {
  0% {
		opacity: 0;
    top: 60%;
  } 100% { 
		opacity: 1;
    top: 55%;
  }
}
@keyframes kv-txt {
  0% {
		opacity: 0;
    top: 60%;
  } 100% { 
		opacity: 1;
    top: 55%;
  }
}
@-webkit-keyframes kv-txt-sp {
  0% {
		opacity: 0;
    top: 45%;
  } 100% { 
		opacity: 1;
    top: 50%;
  }
}
@keyframes kv-txt-sp {
  0% {
		opacity: 0;
    top: 45%;
  } 100% { 
		opacity: 1;
    top: 50%;
  }
}

/* ------------------------------------------------------------------
kv-link
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
  .kv-link{
    padding: 20px 0;
    text-align: center;
  }
  #reform .kv-link{
    background: #3da1cd;
  }
  #business .kv-link{
    background: #25b7aa;
  }
  .kv-link .content{
    display: inline-block;
    letter-spacing: normal;
    width: 600px;
  }
  .kv-link a{
    display: table-cell;
    width: 600px;
    vertical-align: middle;
  }
  .kv-link p{
    position: relative;
    font-size: 2.0rem;
    font-weight: 600;
    background: #fff;
    height: 80px;
    line-height: 80px;
    padding: 0 20px;
    border-radius: 10px;
    transition: all 0.3s ease;
  }
  .kv-link img{
    position: absolute;
    top: 50%;
    left: 20px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    width: 60px;
    height: auto;
  }
	.kv-link i{
		position: absolute;
		top: 50%;
		right: 20px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
	}
  .kv-link a:hover{
    opacity: 0.75;
  }
}
@media only screen and (max-width:767.98px) {
  .kv-link{
    padding: 10px;
    text-align: center;
  }
  #reform .kv-link{
    background: #3da1cd;
  }
  #business .kv-link{
    background: #25b7aa;
  }
  .kv-link .content{
  }
  .kv-link a{
    display: block;
  }
  .kv-link p{
    position: relative;
    font-size: 4.2vw;
    font-weight: 600;
    background: #fff;
    height: 50px;
    line-height: 52px;
    padding: 0 15px 0 25px;
    border-radius: 10px;
    transition: all 0.3s ease;
  }
  .kv-link img{
    position: absolute;
    top: 50%;
    left: 15px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    width: 40px;
    height: auto;
  }
	.kv-link i{
		position: absolute;
		top: 50%;
		right: 15px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
	}
  .kv-link a.hover{
    opacity: 0.75;
  }
}

/* ------------------------------------------------------------------
about-top
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.about-top{
    padding: 60px 0 80px;
	}
	.about-top-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
	}
  .about-top .catch{
    margin: 0 0 80px;
  }
  .about-top .catch h2{
    font-size: 2.4rem;
    line-height: 1.4;
    margin: 0 0 20px;
  }
  .about-top .catch p{
    line-height: 1.8;
  }
  .about-top .ttl{
    background-color: #25b7aa;
    color: #fff;
    padding: 20px;
    font-size: 2.0rem;
    text-align: center;
    border-top-left-radius: 10px;
    border-bottom-right-radius: 10px;
    margin: 0 0 80px;
  }
}
@media only screen and (max-width:767.98px) {
	.about-top{
    padding: 30px 0 40px;
	}
	.about-top-in{
		width: 90%;
		margin: 0 auto;
	}
  .about-top .catch{
    margin: 0 0 40px;
  }
  .about-top .catch h2{
    font-size: 1.8rem;
    line-height: 1.4;
    margin: 0 0 10px;
  }
  .about-top .catch p{
    line-height: 1.6;
  }
  .about-top .ttl{
    background-color: #25b7aa;
    color: #fff;
    padding: 10px;
    font-size: 1.6rem;
    text-align: center;
    border-top-left-radius: 10px;
    border-bottom-right-radius: 10px;
    margin: 0 0 40px;
  }
}

/* ------------------------------------------------------------------
about-epub
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.about-epub{
    padding: 60px 0 80px;
	}
	.about-epub-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
	}
  .about-epub .list{
  }
  .about-epub .list ul{
  }
  .about-epub .list ul li{
    position: relative;
    border-top: 1px solid #ddd;
    box-sizing: border-box;
    padding: 30px 240px 30px 15px;
  }
  .about-epub .list ul li:last-of-type{
    border-bottom: 1px solid #ddd;
  }
  .about-epub .list .sub{
    font-size: 2.0rem;
    font-weight: 700;
    line-height: 1.4;
  }
  .about-epub .list .desc{
    font-size: 1.6rem;
    line-height: 1.8;
    margin: 5px 0 0;
  }
  .about-epub .list .desc a{
    color: #0d90ca;
    text-decoration: underline;
  }
  .about-epub .list .morebtn{
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
  }
  .about-epub .list .morebtn a{
    width: 200px;
  }
}
@media only screen and (max-width:767.98px) {
	.about-epub{
    padding: 30px 0 40px;
	}
	.about-epub-in{
		width: 90%;
		margin: 0 auto;
	}
  .about-epub .list{
  }
  .about-epub .list ul{
  }
  .about-epub .list ul li{
    position: relative;
    border-top: 1px solid #ddd;
    box-sizing: border-box;
    padding: 15px 0;
  }
  .about-epub .list ul li:last-of-type{
    border-bottom: 1px solid #ddd;
  }
  .about-epub .list .sub{
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.4;
  }
  .about-epub .list .desc{
    font-size: 1.2rem;
    line-height: 1.8;
    margin: 5px 0 0;
  }
  .about-epub .list .desc a{
    color: #0d90ca;
    text-decoration: underline;
  }
  .about-epub .list .morebtn{
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
  }
  .about-epub .list .morebtn a{
    width: 100px;
    font-size: 1.2rem;
  }
  .about-epub .list .morebtn i{
    right: 10px;
  }
}

/* ------------------------------------------------------------------
about-officer
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.about-officer{
    padding: 60px 0 80px;
	}
	.about-officer-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
	}
  .about-officer .ttl{
    position: relative;
    text-align: center;
    margin: 0 0 60px;
  }
  .about-officer .ttl h2{
    font-size: 2.0rem;
    line-height: 1.4;
    margin: 0 0 15px;
  }
  .about-officer .ttl .en{
    font-size: 6.0rem;
    margin: 0 0 15px;
  }
  .about-officer .ttl .catch{
    font-size: 2.0rem;
    font-weight: 700;
    line-height: 1.8;
  }
  .about-officer .ttl .sub{
    border-top: 2px solid #222;
    padding: 15px 0 0;
    margin: 15px 0 0;
    font-size: 2.4rem;
    font-weight: 700;
  }
  .about-officer .ttl .logo_jerco{
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
    width: 100px;
  }
  .about-officer .ttl .logo_kokudo{
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
    width: 120px;
  }
  .about-officer .graph{
    text-align: center;
    margin: 0 0 60px;
  }
  .about-officer .list dl{
    display: table;
    width: 100%;
    border: 1px solid #ddd;
    border-bottom: none;
    box-sizing: border-box;
  }
  .about-officer .list dl:last-of-type{
    border: 1px solid #ddd;
  }
  .about-officer .list dl dt{
    display: table-cell;
    width: 20%;
    padding: 10px 15px;
    border-right: 1px solid #ddd;
    box-sizing: border-box;
  }
  .about-officer .list dl dt.position{
    background-color: #ebf5fa;
  }
  .about-officer .list dl dt.name{
    background-color: #f9f9f9;
  }
  .about-officer .list dl dd{
    display: table-cell;
    padding: 15px;
  }
}
@media only screen and (max-width:767.98px) {
	.about-officer{
    padding: 30px 0 40px;
	}
	.about-officer-in{
		width: 90%;
		margin: 0 auto;
	}
  .about-officer .ttl{
    position: relative;
    text-align: center;
    margin: 0 0 40px;
  }
  .about-officer .ttl h2{
    font-size: 1.6rem;
    line-height: 1.4;
    margin: 0 0 10px;
  }
  .about-officer .ttl .en{
    font-size: 4.8rem;
    margin: 0 0 15px;
  }
  .about-officer .ttl .catch{
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.6;
    margin: 15px 0 0;
  }
  .about-officer .ttl .sub{
    border-top: 2px solid #222;
    padding: 15px 0 0;
    margin: 15px 0 0;
    font-size: 1.8rem;
    font-weight: 700;
  }
  .about-officer .ttl .logo_jerco{
    display: inline-block;
    vertical-align: middle;
    width: 80px;
    margin: 0 10px;
  }
  .about-officer .ttl .logo_kokudo{
    display: inline-block;
    vertical-align: middle;
    width: 80px;
    margin: 0 10px;
  }
  .about-officer .graph{
    text-align: center;
    margin: 0 0 40px;
  }
  .about-officer .list dl{
    border: 1px solid #ddd;
    padding: 10px;
    border-bottom: none;
    box-sizing: border-box;
    line-height: 1.6;
  }
  .about-officer .list dl:last-of-type{
    border: 1px solid #ddd;
  }
  .about-officer .list dl dt.position{
    font-size: 1.2rem;
  }
  .about-officer .list dl dt.name{
    font-size: 1.6rem;
    font-weight: 700;
  }
  .about-officer .list dl dd{
  }
}

/* ------------------------------------------------------------------
about-structure
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.about-structure{
    padding: 60px 0 80px;
	}
	.about-structure-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
	}
  .about-structure .lead{
    margin: 0 0 40px;
  }
  .about-structure .lead h2{
    font-size: 2.4rem;
    line-height: 1.4;
    margin: 0 0 20px;
  }
  .about-structure .lead p{
    line-height: 1.8;
  }
  .about-structure .declaration{
    position: relative;
    background-color: #ebf5fa;
    padding: 50px;
    border-radius: 10px;
    text-align: center;
    margin: 0 0 80px;
  }
  .about-structure .declaration:before{
    content: "";
    position: absolute;
    top: 15px;
    left: 15px;
    right: 15px;
    bottom: 15px;
    border: 2px solid #3da1cd;
    border-radius: 8px;
  }
  .about-structure .declaration h3{
    font-size: 2.4rem;
    line-height: 1.4;
    margin: 0 0 20px;
  }
  .about-structure .declaration ul{
    display: inline-block;
    list-style: disc;
    font-size: 1.8rem;
    line-height: 1.8;
    font-weight: 700;
  }
  .about-structure .declaration ul li{
    text-align: left;
  }
  .about-structure .structure .item{
    margin: 0 0 80px;
  }
  .about-structure .structure .item:last-of-type{
    margin: 0;
  }
  .about-structure .structure .ttl{
    position: relative;
    margin: 0 0 20px;
    padding: 0 0 15px 100px;
    border-bottom: 4px solid #e60019;
    font-size: 2.0rem;
    line-height: 1.4;
  }
  .about-structure .structure .ttl i{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 80px;
  }
  .about-structure .structure p{
    line-height: 1.8;
    margin: 0 0 40px;
  }
  .about-structure .structure .circle{
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 40px;
    box-sizing: border-box;
  }
  .about-structure .structure .circle img{
    display: block;
    width: 640px;
    margin: auto;
  }
  .about-structure .structure .network{
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 40px;
    box-sizing: border-box;
  }
  .about-structure .structure .network .wrap{
    width: 800px;
    margin: 0 auto 20px;
    overflow: hidden;
  }
  .about-structure .structure .network .icon{
    width: 30%;
    float: left;
  }
  .about-structure .structure .network ul{
    width: 64%;
    float: right;
    line-height: 1.8;
    list-style: disc;
    margin: 16px 0 0;
  }
  .about-structure .structure .network ul li{
    width: 33.333333%;
    float: left;
  }
  .about-structure .structure .map{
    text-align: center;
  }
  .about-structure .support{
    border: 2px solid #222;
    border-radius: 10px;
    padding: 30px;
    box-sizing: border-box;
    line-height: 2;
    overflow: hidden;
  }
  .about-structure .support li{
    width: 50%;
    float: left;
  }
}
@media only screen and (max-width:767.98px) {
	.about-structure{
    padding: 30px 0 40px;
	}
	.about-structure-in{
		width: 90%;
		margin: 0 auto;
	}
  .about-structure .lead{
    margin: 0 0 20px;
  }
  .about-structure .lead h2{
    font-size: 1.8rem;
    line-height: 1.4;
    margin: 0 0 10px;
  }
  .about-structure .lead p{
    line-height: 1.8;
  }
  .about-structure .declaration{
    position: relative;
    background-color: #ebf5fa;
    padding: 30px;
    border-radius: 10px;
    text-align: center;
    margin: 0 0 40px;
  }
  .about-structure .declaration:before{
    content: "";
    position: absolute;
    top: 10px;
    left: 10px;
    right: 10px;
    bottom: 10px;
    border: 2px solid #3da1cd;
    border-radius: 8px;
  }
  .about-structure .declaration h3{
    font-size: 1.8rem;
    line-height: 1.4;
    margin: 0 0 10px;
  }
  .about-structure .declaration ul{
    display: inline-block;
    list-style: disc;
    font-size: 1.4rem;
    line-height: 1.8;
    font-weight: 700;
    margin: 0 0 0 20px;
  }
  .about-structure .declaration ul li{
    text-align: left;
  }
  .about-structure .structure .item{
    margin: 0 0 40px;
  }
  .about-structure .structure .item:last-of-type{
    margin: 0;
  }
  .about-structure .structure .ttl{
    position: relative;
    margin: 0 0 15px;
    padding: 0 0 10px;
    border-bottom: 4px solid #e60019;
    font-size: 1.6rem;
    line-height: 1.4;
  }
  .about-structure .structure .ttl i{
    display: block;
    width: 60px;
    margin: 0 auto 10px;
  }
  .about-structure .structure p{
    line-height: 1.8;
    margin: 0 0 20px;
  }
  .about-structure .structure .circle{
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 20px;
    box-sizing: border-box;
  }
  .about-structure .structure .network{
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 20px;
    box-sizing: border-box;
  }
  .about-structure .structure .network .wrap{
    width: 300px;
    margin: 0 auto 20px;
    overflow: hidden;
  }
  .about-structure .structure .network .icon{
    width: 200px;
    margin: 0 auto 20px;
  }
  .about-structure .structure .network ul{
    line-height: 1.8;
    list-style: disc;
    margin: 0 0 0 30px;
  }
  .about-structure .structure .network ul li{
    width: 50%;
    float: left;
  }
  .about-structure .structure .map{
    text-align: center;
  }
  .about-structure .support{
    list-style: disc;
    border: 2px solid #222;
    border-radius: 10px;
    padding: 20px;
    box-sizing: border-box;
    line-height: 1.8;
    overflow: hidden;
  }
  .about-structure .support li{
    margin: 0 0 0 20px;
  }
}

/* ------------------------------------------------------------------
about-greeting
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.about-greeting{
    padding: 60px 0 80px;
	}
	.about-greeting-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
	}
  .about-greeting h2{
    font-size: 3.0rem;
    line-height: 1.4;
    margin: 0 0 40px;
    text-align: center;
  }
  .about-greeting .pic{
    width: 20%;
    float: left;
  }
  .about-greeting .pic .name{
    margin: 20px 0 0;
  }
  .about-greeting .pic .name .s{
    font-size: 1.4rem;
    line-height: 1.6;
  }
  .about-greeting .pic .name .l{
    display: block;
    font-size: 2.0rem;
    font-weight: 700;
    margin: 5px 0 0;
  }
  .about-greeting .txt{
    width: 76%;
    float: right;
    line-height: 1.8;
  }
  .about-greeting .txt p{
    margin: 0 0 30px;
  }
  .about-greeting .txt p:last-child{
    margin: 0;
  }
  .about-greeting .txt ol{
    list-style: decimal;
    margin: 0 0 30px 25px;
  }
  .about-greeting .txt ul{
    list-style: disc;
    margin: 0 0 30px 25px;
  }
}
@media only screen and (max-width:767.98px) {
	.about-greeting{
    padding: 30px 0 40px;
	}
	.about-greeting-in{
		width: 90%;
		margin: 0 auto;
	}
  .about-greeting h2{
    font-size: 1.8rem;
    line-height: 1.4;
    margin: 0 0 20px;
  }
  .about-greeting .pic{
    width: 200px;
    margin: 0 auto 20px;
  }
  .about-greeting .pic .name{
    margin: 20px 0 0;
  }
  .about-greeting .pic .name .s{
    font-size: 1.2rem;
    line-height: 1.6;
  }
  .about-greeting .pic .name .l{
    display: block;
    font-size: 1.8rem;
    font-weight: 700;
    margin: 5px 0 0;
  }
  .about-greeting .txt{
    line-height: 1.8;
  }
  .about-greeting .txt p{
    margin: 0 0 20px;
  }
  .about-greeting .txt p:last-child{
    margin: 0;
  }
  .about-greeting .txt ol{
    list-style: decimal;
    margin: 0 0 20px 20px;
  }
  .about-greeting .txt ul{
    list-style: disc;
    margin: 0 0 20px 20px;
  }
}

/* ------------------------------------------------------------------
about-vision
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.about-vision{
    padding: 60px 0 0;
	}
	.about-vision-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
	}
  .about-vision .ttl{
    margin: 0 0 40px;
  }
  .about-vision .ttl .logo{
    border-bottom: 4px solid #2660ad;
    margin: 0 0 20px;
  }
  .about-vision .ttl h2{
    font-size: 3.0rem;
  }
  .about-vision .profile{
    display: table;
    border: 1px solid #ddd;
    border-radius: 10px;
    overflow: hidden;
    margin: 40px 0 0;
  }
  .about-vision .profile .pic{
    display: table-cell;
    vertical-align: middle;
    width: 10%;
  }
  .about-vision .profile .name{
    display: table-cell;
    vertical-align: middle;
    width: 90%;
    padding: 30px;
    box-sizing: border-box;
  }
  .about-vision .profile .name .s{
    display: block;
    font-size: 1.4rem;
    line-height: 1.4;
    margin: 0 0 10px;
  }
  .about-vision .profile .name .l{
    display: block;
    font-size: 2.4rem;
    font-weight: 700;
  }
}
@media only screen and (max-width:767.98px) {
	.about-vision{
    padding: 30px 0 0;
	}
	.about-vision-in{
		width: 90%;
		margin: 0 auto;
	}
  .about-vision .ttl{
    margin: 0 0 30px;
  }
  .about-vision .ttl .logo{
    border-bottom: 4px solid #2660ad;
    margin: 0 0 10px;
  }
  .about-vision .ttl .logo img{
    width: 240px;
  }
  .about-vision .ttl h2{
    font-size: 2.0rem;
    line-height: 1.4;
  }
  .about-vision .profile{
    display: table;
    border: 1px solid #ddd;
    border-radius: 10px;
    overflow: hidden;
    margin: 20px 0 0;
  }
  .about-vision .profile .pic{
    display: table-cell;
    vertical-align: middle;
    width: 25%;
  }
  .about-vision .profile .name{
    display: table-cell;
    vertical-align: middle;
    width: 75%;
    padding: 10px 20px;
    box-sizing: border-box;
  }
  .about-vision .profile .name .s{
    display: block;
    font-size: 1.2rem;
    line-height: 1.4;
    margin: 0 0 5px;
  }
  .about-vision .profile .name .l{
    display: block;
    font-size: 1.8rem;
    font-weight: 700;
  }
}

/* ------------------------------------------------------------------
about-history
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.about-history{
    padding: 60px 0 80px;
	}
	.about-history-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
	}
  .about-history .lead{
    line-height: 1.8;
    margin: 0 0 40px;
  }
  .about-history .history dl{
    display: table;
    width: 100%;
    border: 1px solid #ddd;
    border-bottom: none;
    box-sizing: border-box;
  }
  .about-history .history dl:last-of-type{
    border: 1px solid #ddd;
  }
  .about-history .history dl dt{
    display: table-cell;
    vertical-align: top;
    width: 110px;
    padding: 20px;
    background-color: #ebf5fa;
    border-right: 1px solid #ddd;
    box-sizing: border-box;
    font-size: 1.4rem;
    text-align: center;
  }
  .about-history .history dl dt span{
    font-size: 2.4rem;
    color: #0d90ca;
  }
  .about-history .history dl dd{
    display: table-cell;
    vertical-align: top;
    box-sizing: border-box;
  }
  .about-history .history dl dd li{
    border-bottom: 1px solid #ddd;
    padding: 20px;
    line-height: 1.6;
    overflow: hidden;
  }
  .about-history .history dl dd li:last-of-type{
    border: none;
  }
  .about-history .history dl dd li p{
    float: left;
  }
  .about-history .history dl dd li p .s{
    font-size: 1.2rem;
  }
  .about-history .history dl dd li .pic{
    width: 180px;
    float: right;
    border-radius: 5px;
    overflow: hidden;
    text-align: center;
    margin: 0 0 0 20px;
  }
  .about-history .history dl dd li .pic.l{
    width: 300px;
  }
  .about-history .history dl dd li .video_wrap{
    width: 180px;
    float: right;
    border-radius: 5px;
    overflow: hidden;
    margin: 0 0 0 20px;
  }
  .about-history .history dl dd li .video{
    position: relative;
    width: 100%;
    padding-top: 66.25%;
  }
  .about-history .history dl dd li .video iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
  }
}
@media only screen and (max-width:767.98px) {
	.about-history{
    padding: 30px 0 40px;
	}
	.about-history-in{
		width: 90%;
		margin: 0 auto;
	}
  .about-history .lead{
    line-height: 1.8;
    margin: 0 0 20px;
  }
  .about-history .history dl{
    display: table;
    width: 100%;
    border: 1px solid #ddd;
    border-bottom: none;
    box-sizing: border-box;
  }
  .about-history .history dl:last-of-type{
    border: 1px solid #ddd;
  }
  .about-history .history dl dt{
    display: table-cell;
    vertical-align: top;
    width: 90px;
    padding: 15px;
    background-color: #ebf5fa;
    border-right: 1px solid #ddd;
    box-sizing: border-box;
    font-size: 1.2rem;
    text-align: center;
  }
  .about-history .history dl dt span{
    font-size: 1.8rem;
    color: #0d90ca;
  }
  .about-history .history dl dd{
    display: table-cell;
    vertical-align: top;
    box-sizing: border-box;
  }
  .about-history .history dl dd li{
    border-bottom: 1px solid #ddd;
    padding: 15px;
    line-height: 1.6;
    overflow: hidden;
  }
  .about-history .history dl dd li:last-of-type{
    border: none;
  }
  .about-history .history dl dd li p{
  }
  .about-history .history dl dd li p .s{
    font-size: 1.0rem;
  }
  .about-history .history dl dd li .pic{
    width: 180px;
    margin: 10px auto 0;
    text-align: center;
  }
  .about-history .history dl dd li .pic.l{
    width: 100%;
  }
  .about-history .history dl dd li .video_wrap{
    width: 180px;
    margin: 10px auto 0;
  }
  .about-history .history dl dd li .video{
    position: relative;
    width: 100%;
    padding-top: 56.25%;
  }
  .about-history .history dl dd li .video iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
  }
}

/* ------------------------------------------------------------------
about-partner
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.about-partner{
    padding: 60px 0 80px;
	}
	.about-partner-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
	}
  .about-partner .list{
    margin: 0 0 60px;
  }
  .about-partner .list:last-child{
    margin: 0;
  }
  .about-partner .list li{
    border-bottom: 1px solid #ddd;
    box-sizing: border-box;
  }
  .about-partner .list li:first-child{
    border-top: 1px solid #ddd;
  }
  .about-partner .list li a{
    position: relative;
    display: table;
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
  }
  .about-partner .list li a:hover{
    opacity: 0.5;
  }
  .about-partner .list li a:before{
    position: absolute;
    top: 50%;
    right: 20px;
    content: "";
    border-top: 1px solid #222;
    border-right: 1px solid #222;
    width: 10px;
    height: 10px;
    -webkit-transform: translate(0%, -50%) rotate(45deg);
    transform: translate(0%, -50%) rotate(45deg);
  }
  .about-partner .list li .bnr{
    display: table-cell;
    vertical-align: middle;
    width: 25%;
    height: 60px;
  }
  .about-partner .list li .bnr img{
    width: auto;
    max-height: 40px;
  }
  .about-partner .list li .name{
    display: table-cell;
    vertical-align: middle;
    width: 75%;
    height: 60px;
  }
}
@media only screen and (max-width:767.98px) {
	.about-partner{
    padding: 30px 0 40px;
	}
	.about-partner-in{
		width: 90%;
		margin: 0 auto;
	}
  .about-partner .list{
    margin: 0 0 40px;
  }
  .about-partner .list:last-child{
    margin: 0;
  }
  .about-partner .list li{
    border-bottom: 1px solid #ddd;
    box-sizing: border-box;
  }
  .about-partner .list li:first-child{
    border-top: 1px solid #ddd;
  }
  .about-partner .list li a{
    position: relative;
    display: table;
    width: 100%;
    padding: 10px 40px 10px 0;
    box-sizing: border-box;
  }
  .about-partner .list li a.hover{
    opacity: 0.5;
  }
  .about-partner .list li a:before{
    position: absolute;
    top: 50%;
    right: 10px;
    content: "";
    border-top: 1px solid #222;
    border-right: 1px solid #222;
    width: 8px;
    height: 8px;
    -webkit-transform: translate(0%, -50%) rotate(45deg);
    transform: translate(0%, -50%) rotate(45deg);
  }
  .about-partner .list li .bnr{
    display: table-cell;
    vertical-align: middle;
    width: 30%;
    height: 60px;
  }
  .about-partner .list li .bnr img{
    width: auto;
    max-height: 40px;
  }
  .about-partner .list li .name{
    display: table-cell;
    vertical-align: middle;
    width: 70%;
    height: 60px;
    padding: 0 0 0 20px;
    font-size: 1.2rem;
    line-height: 1.6;
  }
}

/* ------------------------------------------------------------------
admission-top
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.admission-top{
    padding: 60px 0 80px;
	}
	.admission-top-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
	}
  .admission-top .catch{
    margin: 0 0 40px;
  }
  .admission-top .catch h2{
    font-size: 2.4rem;
    line-height: 1.4;
    margin: 0 0 20px;
  }
  .admission-top .catch p{
    line-height: 1.8;
  }
}
@media only screen and (max-width:767.98px) {
	.admission-top{
    padding: 30px 0 40px;
	}
	.admission-top-in{
		width: 90%;
		margin: 0 auto;
	}
  .admission-top .catch{
    margin: 0 0 20px;
  }
  .admission-top .catch h2{
    font-size: 1.8rem;
    line-height: 1.4;
    margin: 0 0 10px;
  }
  .admission-top .catch p{
    line-height: 1.6;
  }
}

/* ------------------------------------------------------------------
admission-joininfo
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.admission-joininfo{
    padding: 60px 0 80px;
	}
	.admission-joininfo-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
	}
  .admission-joininfo .catch{
    margin: 0 0 60px;
  }
  .admission-joininfo .catch h2{
    font-size: 2.4rem;
    line-height: 1.4;
    margin: 0 0 20px;
  }
  .admission-joininfo .catch p{
    line-height: 1.8;
  }
  .admission-joininfo .images{
    display: flex;
    margin: 0 0 40px;
  }
  .admission-joininfo .images .col{
    position: relative;
    width: 48.5%;
    float: left;
    background-color: #ebf5fa;
    padding: 60px 30px 30px;
    border-radius: 10px;
    box-sizing: border-box;
  }
  .admission-joininfo .images .col:last-of-type{
    margin: 0 0 0 3%;
  }
  .admission-joininfo .images .col h3{
    position: absolute;
    top: -0.5em;
    left: 30px;
    font-size: 2.4rem;
    line-height: 1.4;
  }
  .admission-joininfo .images .col h3 .s{
    display: block;
    font-size: 1.6rem;
  }
  .admission-joininfo .images .col ul{
    position: absolute;
    bottom: 30px;
    left: 30px;
    line-height: 1.6;
    padding: 15px 20px;
    background: rgba(255,255,255,0.8);
    border-radius: 5px;
  }
  .admission-joininfo .images .col ul li span{
    display: inline-block;
    width: 9em;
  }
  .admission-joininfo .images .col ul li span:after{
    content: "：";
  }
  .admission-joininfo .btnpdf{
    margin: 0 0 60px;
  }
  .admission-joininfo .btnpdf i{
    display: inline-block;
    vertical-align: middle;
    margin: -6px 0 0 10px;
  }
  .admission-joininfo .btnpdf a{
    display: block;
    font-size: 2.0rem;
    color: #0d90ca;
    border: 4px solid #3da1cd;
    border-radius: 10px;
    padding: 30px;
    text-align: center;
    box-sizing: border-box;
  }
  .admission-joininfo .btnpdf a:hover{
    opacity: 0.75;
  }
  .admission-joininfo .btns .btn{
    width: 48.5%;
    float: left;
  }
  .admission-joininfo .btns .btn:last-of-type{
    float: right;
  }
  .admission-joininfo .btns .btn a{
    display: block;
    margin: auto;
    position: relative;
    color: #fff;
    font-size: 2.0rem;
    font-weight: 700;
    text-align: center;
    border-radius: 10px;
    height: 60px;
    line-height: 60px;
    padding: 0 10px 0 0;
    box-sizing: border-box;
  }
  .admission-joininfo .btns .btn.join a{
    background: #25b7aa;
  }
  .admission-joininfo .btns .btn.contact a{
    background-color: #3da1cd;
  }
  .admission-joininfo .btns .btn a i{
    content: "";
    position: absolute;
    top: 50%;
    right: 25px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
  .admission-joininfo .btns .btn a:hover{
    opacity: 0.75;
  }
}
@media only screen and (max-width:767.98px) {
	.admission-joininfo{
    padding: 30px 0 40px;
	}
	.admission-joininfo-in{
		width: 90%;
		margin: 0 auto;
	}
  .admission-joininfo .catch{
    margin: 0 0 40px;
  }
  .admission-joininfo .catch h2{
    font-size: 1.8rem;
    line-height: 1.4;
    margin: 0 0 10px;
  }
  .admission-joininfo .catch p{
    line-height: 1.8;
  }
  .admission-joininfo .images{
    margin: 0 0 30px;
  }
  .admission-joininfo .images .col{
    position: relative;
    background-color: #ebf5fa;
    padding: 30px 15px 15px;
    border-radius: 10px;
    box-sizing: border-box;
    margin: 0 0 30px;
  }
  .admission-joininfo .images .col:last-of-type{
    margin: 0;
  }
  .admission-joininfo .images .col h3{
    position: absolute;
    top: -0.5em;
    left: 15px;
    font-size: 1.8rem;
    line-height: 1.4;
  }
  .admission-joininfo .images .col h3 .s{
    display: block;
    font-size: 1.2rem;
  }
  .admission-joininfo .images .col ul{
    line-height: 1.6;
    padding: 10px 15px;
    background: rgba(255,255,255,0.8);
    border-radius: 5px;
    margin: 15px 0 0;
  }
  .admission-joininfo .images .col ul li span{
    display: inline-block;
    width: 9em;
  }
  .admission-joininfo .images .col ul li span:after{
    content: "：";
  }
  .admission-joininfo .btnpdf{
    margin: 0 0 20px;
  }
  .admission-joininfo .btnpdf i{
    display: inline-block;
    vertical-align: middle;
    margin: -6px 0 0 10px;
  }
  .admission-joininfo .btnpdf a{
    display: block;
    font-size: 1.6rem;
    color: #0d90ca;
    border: 4px solid #3da1cd;
    border-radius: 10px;
    height: 50px;
    line-height: 42px;
    text-align: center;
    box-sizing: border-box;
  }
  .admission-joininfo .btnpdf a:hover{
    opacity: 0.75;
  }
  .admission-joininfo .btns .btn{
    margin: 0 0 20px;
  }
  .admission-joininfo .btns .btn:last-of-type{
    margin: 0;
  }
  .admission-joininfo .btns .btn a{
    display: block;
    margin: auto;
    position: relative;
    color: #fff;
    font-size: 1.8rem;
    font-weight: 700;
    text-align: center;
    border-radius: 10px;
    height: 50px;
    line-height: 50px;
    padding: 0 10px 0 0;
    box-sizing: border-box;
  }
  .admission-joininfo .btns .btn.join a{
    background: #25b7aa;
  }
  .admission-joininfo .btns .btn.contact a{
    background-color: #3da1cd;
  }
  .admission-joininfo .btns .btn a i{
    content: "";
    position: absolute;
    top: 50%;
    right: 20px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
  .admission-joininfo .btns .btn a.hover{
    opacity: 0.75;
  }
}

/* ------------------------------------------------------------------
members-staff
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.members-staff{
    padding: 60px 0 80px;
	}
	.members-staff-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
	}
  .members-staff .wrap{
    /* overflow: hidden; */
  }
  .members-staff .wrap.w1 {
    display: flex;
    justify-content: space-between;
  }
  .members-staff .item{
    position: relative;
    width: 47%;
  }
  .members-staff .item.s1{
    position: relative;
    margin: 0 2% 40px 0;
    width: 47%;
  }
  .members-staff .item.s1:nth-of-type(2){
    margin-right: 20%;
  }
  .members-staff .item.s2{
    margin: 0 0 80px 5%;
  }
  .members-staff .item.s3{
    width: 23.5%;
    float: left;
    margin: 0 2% 0 0;
  }
  .members-staff .item.s3:after{
    content: "";
    position: absolute;
    top: -40px;
    left: 50%;
    -webkit-transform: translate(-50%, 0%);
    transform: translate(-50%, 0%);
    width: 2px;
    height: 40px;
    background: #79ab00;
  }
  .members-staff .item:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border: 20px solid transparent;
    border-top-color: rgba(255,255,255,0.2);
    border-left-color: rgba(255,255,255,0.2);
    border-top-left-radius: 10px;
  }
  .members-staff .item.s3:last-of-type{
    margin: 0;
  }
  .members-staff .item .label{
    display: table-cell;
    vertical-align: middle;
    width: 900px;
    height: 180px;
    padding: 30px;
    line-height: 1.6;
    font-weight: 700;
    color: #fff;
    box-sizing: border-box;
    border-radius: 10px;
  }
  .members-staff .item.s1:nth-of-type(1) .label{
    background-color: #25b7aa;
  }
  .members-staff .item.s1:nth-of-type(2) .label{
    background-color: #25b7aa;
  }
  .members-staff .item.s2 .label{
    background-color: #25b7aa;
  }
  .members-staff .item.s3 .label{
    background-color: #79ab00;
  }
  .members-staff .item .label .position{
    font-size: 1.2rem;
  }
  .members-staff .item .label .name{
    font-size: 2.4rem;
    margin: 0 0 10px;
  }
  .members-staff .item .label .mail{
    font-size: 1.2rem;
  }
  .members-staff .item .label .mail a{
    color: #fff;
  }
  .members-staff .item.s1 .work{
    position: absolute;
    top: 60%;
    right: -106%;
    width: 100%;
  }
  .members-staff .item.s2 .work{
    position: absolute;
    top: 0;
    right: -106%;
    width: 100%;
  }
  .members-staff .item.s3 .work{
    margin: 10px 0 0;
  }
  .members-staff .item .work ul{
    list-style: disc;
    margin: 0 0 0 25px;
    line-height: 1.8;
  }
  .members-staff .item .work li .-sm{
    display: block;
    line-height: 1.2;
    font-size: .8em;
  }
  .members-staff .wrap{
    position: relative;
  }
  .members-staff .wrap.w1{
    padding: 40px 0 0;
    width: 50%;
  }
  .members-staff .wrap.w2{
    padding: 0 0 40px;
    width: 50%;
    margin-left: auto;
  }
  .members-staff .wrap.w3{
    padding: 40px 0 0;
    height: 40rem;
  }
  .members-staff .wrap.w1:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 100%;
    width: 2px;
    height: 100%;
    background: #79ab00;
  }
  .members-staff .wrap.w1:after {
    content: "";
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 0;
    width: 100%;
    height: 2px;
    background: #79ab00;
  }
  .members-staff .wrap.w2:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0%;
    width: 2px;
    height: 100%;
    background: #79ab00;
  }
  .members-staff .wrap.w2:after {
    content: "";
    position: absolute;
    z-index: -1;
    top: 30%;
    left: 0;
    width: 50%;
    height: 2px;
    background: #79ab00;
  }
  .members-staff .wrap.w3:before {
    content: "";
    position: absolute;
    top: 0;
    left: 11.75%;
    width: 76.5%;
    height: 2px;
    background: #79ab00;
  }
}

@media screen and (min-width: 767.99px) and (max-width: 850px) {
	.members-staff .item .label {
    padding: 10px;
  }
  .members-staff .item .work{
    font-size: 14px;
  }
}
@media only screen and (max-width:767.98px) {
	.members-staff{
    padding: 30px 0 40px;
	}
	.members-staff-in{
		width: 90%;
		margin: 0 auto;
	}
  .members-staff .wrap{
  }
  .members-staff .item{
    position: relative;
    padding: 0 0 20px 0;
  }
  .members-staff .item:last-of-type:after{
    display: none;
  }
  .members-staff .item .label{
    position: relative;
    height: 105px;
    padding: 15px 20px;
    line-height: 1.6;
    font-weight: 700;
    color: #fff;
    box-sizing: border-box;
    border-radius: 10px;
  }
  .members-staff .item.s1:first-of-type .label{
    background-color: #3da1cd;
  }
  .members-staff .item.s1:last-of-type .label{
    background-color: #25b7aa;
  }
  .members-staff .item.s2 .label{
    background-color: #25b7aa;
  }
  .members-staff .item.s3 .label{
    background-color: #79ab00;
  }
  .members-staff .item .label .position{
    font-size: 1.2rem;
  }
  .members-staff .item .label .name{
    font-size: 2.0rem;
    margin: 0 0 5px;
  }
  .members-staff .item .label .mail{
    font-size: 1.2rem;
  }
  .members-staff .item .label .mail a{
    color: #fff;
  }
  .members-staff .item .work{
    margin: 10px 0 0;
  }
  .members-staff .item .work ul{
    list-style: disc;
    margin: 0 0 0 25px;
    line-height: 1.8;
  }
  .members-staff .item .work li {
    line-height: 1.5;
  }
  .members-staff .item .work li .-sm{
    display: block;
    line-height: 1.4;
    font-size: .8em;
  }
}

/* ------------------------------------------------------------------
members-top
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.members-top{
    padding: 60px 0 80px;
	}
	.members-top-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
	}
  .members-top .catch{
    margin: 0 0 60px;
  }
  .members-top .catch .logo{
    width: 140px;
    float: left;
  }
  .members-top .catch p{
    line-height: 1.8;
    margin: 0 0 20px;
    padding: 0 0 0 180px;
  }
  .members-top .catch p:last-of-type{
    margin: 0;
  }
}
@media only screen and (max-width:767.98px) {
	.members-top{
    padding: 30px 0 40px;
	}
	.members-top-in{
		width: 90%;
		margin: 0 auto;
	}
  .members-top .catch{
    margin: 0 0 20px;
  }
  .members-top .catch .logo{
    width: 140px;
    margin: 0 auto 20px;
  }
  .members-top .catch h2{
    font-size: 1.8rem;
    line-height: 1.4;
    margin: 0 0 10px;
  }
  .members-top .catch p{
    line-height: 1.8;
    margin: 0 0 10px;
  }
  .members-top .catch p:last-of-type{
    margin: 0;
  }
}

/* ------------------------------------------------------------------
lowerlist
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.lowerlist{
    margin: 0 0 60px;
	}
  .lowerlist:last-child{
    margin: 0;
  }
  .lowerlist .item{
    position: relative;
    width: 48.5%;
    margin: 0 3% 80px 0;
    padding: 40px 40px 60px;
    border-radius: 10px;
    box-sizing: border-box;
    float: left;
  }
  .lowerlist.member .item{
    margin: 0 3% 40px 0;
  }
  .lowerlist .item:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border: 20px solid transparent;
    border-top-left-radius: 10px;
  }
  .lowerlist .item:nth-of-type(2n){
    margin: 0 0 80px;
  }
  .lowerlist.member .item:nth-of-type(2n){
    margin: 0 0 40px;
  }
  .lowerlist .item:nth-last-child(-n+2){
    margin-bottom: 0;
  }
  .lowerlist .item a{
    display: block;
  }
  .lowerlist .item a:hover{
    opacity: 0.75;
  }
  .lowerlist .item .pic{
    position: absolute;
    top: -30px;
    right: 30px;
    border-radius: 50%;
    overflow: hidden;
  }
  .lowerlist .item .icon{
    position: absolute;
    top: 30px;
    right: 30px;
    border-radius: 50%;
    width: 100px;
    overflow: hidden;
  }
  .lowerlist .item .sub{
    display: table-cell;
    vertical-align: middle;
    width: 600px;
    height: 100px;
    padding: 0 180px 0 0;
  }
  .lowerlist .item .sub .ja{
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.4;
    color: #0d90ca;
  }
  .lowerlist .item .sub .en{
    font-size: 1.8rem;
    line-height: 1.4;
    color: #0d90ca;
    margin: 5px 0 0;
  }
  .lowerlist .item .txt{
    margin: 30px 0 0;
    height: 6.8em;
  }
  .lowerlist .item .txt p{
    font-size: 1.4rem;
    line-height: 1.6;
  }
	.lowerlist .item .btn{
    position: absolute;
    bottom: 0;
    right: 0;
    width: 240px;
    background: #3da1cd;
    color: #fff;
    font-weight: 700;
    border-top-left-radius: 20px;
    border-bottom-right-radius: 10px;
    height: 40px;
    line-height: 40px;
    padding: 0 20px;
    box-sizing: border-box;
  }
  .lowerlist .item .btn i{
    content: "";
    position: absolute;
    top: 50%;
    right: 20px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
}
@media only screen and (max-width:767.98px) {
	.lowerlist{
    margin: 0 0 40px;
	}
  .lowerlist:last-child{
    margin: 0;
  }
  .lowerlist .item{
    position: relative;
    margin: 0 0 40px;
    padding: 20px 20px 50px;
    border-radius: 10px;
    box-sizing: border-box;
  }
  .lowerlist.member .item{
    margin: 0 0 20px;
  }
  .lowerlist .item:last-of-type{
    margin: 0;
  }
  .lowerlist .item:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border: 15px solid transparent;
    border-top-left-radius: 10px;
  }
  .lowerlist .item a{
    display: block;
  }
  .lowerlist .item a.hover{
    opacity: 0.75;
  }
  .lowerlist .item .pic{
    position: absolute;
    top: -10px;
    right: 20px;
    border-radius: 50%;
    width: 80px;
    overflow: hidden;
  }
  .lowerlist .item .icon{
    position: absolute;
    top: 20px;
    right: 20px;
    border-radius: 50%;
    width: 60px;
    overflow: hidden;
  }
  .lowerlist .item .sub{
    display: table-cell;
    vertical-align: middle;
    width: 600px;
    height: 60px;
    padding: 0 90px 0 0;
  }
  .lowerlist .item .sub .ja{
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.4;
    color: #0d90ca;
  }
  .lowerlist .item .sub .en{
    font-size: 1.2rem;
    line-height: 1.4;
    color: #0d90ca;
    margin: 3px 0 0;
  }
  .lowerlist .item .txt{
    margin: 10px 0 0;
  }
  .lowerlist .item .txt p{
    font-size: 1.2rem;
    line-height: 1.6;
  }
	.lowerlist .item .btn{
    position: absolute;
    bottom: 0;
    right: 0;
    width: 140px;
    background: #3da1cd;
    color: #fff;
    font-size: 1.2rem;
    font-weight: 700;
    border-top-left-radius: 20px;
    border-bottom-right-radius: 10px;
    height: 30px;
    line-height: 30px;
    padding: 0 15px;
    box-sizing: border-box;
  }
  .lowerlist .item .btn i{
    content: "";
    position: absolute;
    top: 50%;
    right: 15px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
}
.lowerlist.blue .item{
  background: #ebf5fa;
}
.lowerlist.green .item{
  background: #e9f8f6;
}
.lowerlist.yellow .item{
  background: #f6f9ed;
}
.lowerlist.blue .item:before{
  border-top-color: #c8e4f1;
  border-left-color: #c8e4f1;
}
.lowerlist.green .item:before{
  border-top-color: #c2ebe7;
  border-left-color: #c2ebe7;
}
.lowerlist.yellow .item:before{
  border-top-color: #e6efce;
  border-left-color: #e6efce;
}
.lowerlist.blue .item .sub .ja,
.lowerlist.blue .item .sub .en{
  color: #0d90ca;
}
.lowerlist.green .item .sub .ja,
.lowerlist.green .item .sub .en{
  color: #01b9a9;
}
.lowerlist.yellow .item .sub .ja,
.lowerlist.yellow .item .sub .en{
  color: #79ab00;
}
.lowerlist.blue .item .btn{
  background: #3da1cd;
}
.lowerlist.green .item .btn{
  background: #25b7aa;
}
.lowerlist.yellow .item .btn{
  background: #a5c851;
}
.lowerlist.green .item .btn i.arr.arrblue:before {
  border-top: 1px solid #25b7aa;
  border-right: 1px solid #25b7aa;
}
.lowerlist.green .item .btn i.arr.arrblue:before {
  border-top: 1px solid #a5c851;
  border-right: 1px solid #a5c851;
}

/* ------------------------------------------------------------------
sublowerlist
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.sublowerlist{
    display: flex;
    flex-wrap: wrap;
	}
  .sublowerlist .item{
    position: relative;
    width: 48.5%;
    min-height: 230px;
    margin: 0 3% 40px 0;
    border-radius: 10px;
    border: 1px solid #ddd;
    background: rgba(255,255,255,0.5);
    box-sizing: border-box;
    overflow: hidden;
    float: left;
  }
  .sublowerlist .item:nth-of-type(2n){
    margin: 0 0 40px;
  }
  .sublowerlist .item:nth-last-child(-n+2){
    margin-bottom: 0;
  }
  .sublowerlist .item a{
    display: block;
  }
  .sublowerlist .item a:hover{
    opacity: 0.75;
  }
  .sublowerlist .item .pic{
    position: absolute;
    top: 30px;
    right: 30px;
    border-radius: 50%;
    width: 120px;
    border: 1px solid #ddd;
    box-sizing: border-box;
    overflow: hidden;
  }
  .sublowerlist .item .txt{
    padding: 30px 180px 30px 30px;
  }
  .sublowerlist .item .txt .sub{
    padding: 0 0 0 20px;
    box-sizing: border-box;
  }
  .sublowerlist .item .txt .ja{
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.4;
    color: #0d90ca;
  }
  .sublowerlist .item .txt .en{
    font-size: 1.6rem;
    line-height: 1.4;
    color: #0d90ca;
    margin: 3px 0 0;
  }
  .sublowerlist .item .txt .note{
    font-size: 1.4rem;
    line-height: 1.6;
    margin: 10px 0 0;
    padding: 0 0 0 20px;
  }
	.sublowerlist .item .btn{
    position: absolute;
    bottom: 0;
    right: 0;
    width: 200px;
    background: #3da1cd;
    color: #fff;
    font-weight: 700;
    border-top-left-radius: 20px;
    border-bottom-right-radius: 10px;
    height: 40px;
    line-height: 40px;
    padding: 0 20px;
    box-sizing: border-box;
  }
  .sublowerlist .item .btn i{
    content: "";
    position: absolute;
    top: 50%;
    right: 20px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
}
@media only screen and (max-width:767.98px) {
	.sublowerlist{
	}
  .sublowerlist .item{
    position: relative;
    margin: 0 0 20px;
    padding: 20px 20px 40px;
    border-radius: 10px;
    border: 1px solid #ddd;
    background: rgba(255,255,255,0.5);
    box-sizing: border-box;
    overflow: hidden;
  }
  .sublowerlist .item:last-of-type{
    margin: 0;
  }
  .sublowerlist .item a{
    display: block;
  }
  .sublowerlist .item a.hover{
    opacity: 0.75;
  }
  .sublowerlist .item .pic{
    border-radius: 50%;
    width: 80px;
    border: 1px solid #ddd;
    box-sizing: border-box;
    overflow: hidden;
    float: right;
    margin: 0 0 10px 10px;
  }
  .sublowerlist .item .txt{
  }
  .sublowerlist .item .txt .sub{
    padding: 0 0 0 10px;
    box-sizing: border-box;
  }
  .sublowerlist .item .txt .ja{
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.4;
    color: #0d90ca;
  }
  .sublowerlist .item .txt .en{
    font-size: 1.2rem;
    line-height: 1.4;
    color: #0d90ca;
    margin: 3px 0 0;
  }
  .sublowerlist .item .txt .note{
    font-size: 1.2rem;
    line-height: 1.6;
    margin: 10px 0 0;
  }
	.sublowerlist .item .btn{
    position: absolute;
    bottom: 0;
    right: 0;
    width: 140px;
    background: #3da1cd;
    color: #fff;
    font-size: 1.2rem;
    font-weight: 700;
    border-top-left-radius: 20px;
    border-bottom-right-radius: 10px;
    height: 30px;
    line-height: 30px;
    padding: 0 15px;
    box-sizing: border-box;
  }
  .sublowerlist .item .btn i{
    content: "";
    position: absolute;
    top: 50%;
    right: 15px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
}
.sublowerlist.blue .item{
  background: #f9f9f9;
}
.sublowerlist.green .item{
  background: #f9f9f9;
}
.sublowerlist.yellow .item{
  background: #f9f9f9;
}
.sublowerlist.blue .item .ja,
.sublowerlist.blue .item .en{
  color: #0d90ca;
}
.sublowerlist.green .item .ja,
.sublowerlist.green .item .en{
  color: #01b9a9;
}
.sublowerlist.yellow .item .ja,
.sublowerlist.yellow .item .en{
  color: #79ab00;
}
.sublowerlist.blue .item .btn{
  background: #3da1cd;
}
.sublowerlist.green .item .btn{
  background: #25b7aa;
}
.sublowerlist.yellow .item .btn{
  background: #a5c851;
}
.sublowerlist.green .item .btn i.arr.arrblue:before {
  border-top: 1px solid #25b7aa;
  border-right: 1px solid #25b7aa;
}
.sublowerlist.green .item .btn i.arr.arrblue:before {
  border-top: 1px solid #a5c851;
  border-right: 1px solid #a5c851;
}
.sublowerlist.blue .item .txt .sub{
  border-left: 4px solid #3da1cd;
}
.sublowerlist.green .item .txt .sub{
  border-left: 4px solid #25b7aa;
}
.sublowerlist.yellow .item .txt .sub{
  border-left: 4px solid #a5c851;
}


/* ------------------------------------------------------------------
about companies-top
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.companies-top{
    padding: 60px 0 80px;
	}
	.companies-top-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
	}
  .companies-top .item{
    position: relative;
    border: 1px solid #3da1cd;
    border-radius: 5px;
    margin: 0 0 40px;
    overflow: hidden;
    box-sizing: border-box;
  }
  .companies-top .item:last-of-type{
    margin: 0;
  }
  .companies-top .item .ttl{
    position: relative;
    background: #d9ecf5;
    padding: 20px 190px 20px 20px;
  }
  .companies-top .item .ttl .name{
    font-size: 2.0rem;
    font-weight: 700;
  }
  .companies-top .item .ttl .link{
    position: absolute;
    top: 50%;
    right: 20px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
  .companies-top .item .ttl .link a{
    display: block;
    background: #fff;
    padding: 10px 50px 10px 20px;
    font-weight: 700;
    border-radius: 5px;
  }
  .companies-top .item dl{
    display: table;
    width: 100%;
    border-bottom: 1px solid #3da1cd;
    line-height: 1.8;
  }
  .companies-top .item dl:last-of-type{
    border-bottom: none;
  }
  .companies-top .item dl dt{
    display: table-cell;
    width: 30%;
    vertical-align: top;
    background: #ebf5fa;
    padding: 20px;
  }
  .companies-top .item dl dd{
    position: relative;
    display: table-cell;
    width: 70%;
    padding: 20px;
  }
  .companies-top .item dl dd a.maplink{
    position: relative;
    display: inline-block;
    vertical-align: middle;
    border: 1px solid #3da1cd;
    box-sizing: border-box;
    color: #0d90ca;
    font-size: 1.4rem;
    font-weight: 700;
    padding: 5px 50px 5px 20px;
    border-radius: 5px;
    margin: 0 0 0 20px;
    float: right;
  }
  .companies-top .item dl dd ul{
    list-style: disc;
    margin: 0 0 0 25px;
  }
  .companies-top .item dl dd .btn a{
    position: relative;
    display: block;
    vertical-align: middle;
    background: #3da1cd;
    color: #fff;
    font-weight: 700;
    width: 300px;
    padding: 5px 50px 5px 20px;
    border-radius: 5px;
    box-sizing: border-box;
  }
  .companies-top .item i{
    position: absolute;
    top: 50%;
    right: 10px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
  .companies-top a:hover{
    opacity: 0.75;
  }
}
@media only screen and (max-width:767.98px) {
	.companies-top{
    padding: 30px 0 40px;
	}
	.companies-top-in{
		width: 90%;
		margin: 0 auto;
	}
  .companies-top .item{
    position: relative;
    border: 1px solid #3da1cd;
    border-radius: 5px;
    margin: 0 0 30px;
    overflow: hidden;
    box-sizing: border-box;
  }
  .companies-top .item:last-of-type{
    margin: 0;
  }
  .companies-top .item .ttl{
    position: relative;
    background: #d9ecf5;
    padding: 15px;
  }
  .companies-top .item .ttl .name{
    font-size: 1.6rem;
    font-weight: 700;
  }
  .companies-top .item .ttl .link{
    margin: 10px 0 0;
  }
  .companies-top .item .ttl .link a{
    position: relative;
    display: block;
    background: #fff;
    padding: 10px 20px 10px 10px;
    font-size: 1.2rem;
    font-weight: 700;
    border-radius: 5px;
  }
  .companies-top .item dl{
    display: table;
    width: 100%;
    line-height: 1.8;
  }
  .companies-top .item dl:last-of-type{
    border-bottom: none;
  }
  .companies-top .item dl dt{
    background: #ebf5fa;
    padding: 5px 15px;
  }
  .companies-top .item dl dd{
    position: relative;
    padding: 15px;
  }
  .companies-top .item dl dd a.maplink{
    position: relative;
    display: block;
    vertical-align: middle;
    border: 1px solid #3da1cd;
    box-sizing: border-box;
    color: #0d90ca;
    font-size: 1.4rem;
    font-weight: 700;
    padding: 5px 50px 5px 20px;
    border-radius: 5px;
    margin: 20px 0 0 0;
  }
  .companies-top .item dl dd ul{
    list-style: disc;
    margin: 0 0 0 20px;
  }
  .companies-top .item dl dd .btn a{
    position: relative;
    display: block;
    vertical-align: middle;
    background: #3da1cd;
    color: #fff;
    font-weight: 700;
    width: 300px;
    padding: 5px 50px 5px 20px;
    border-radius: 5px;
    box-sizing: border-box;
  }
  .companies-top .item i{
    position: absolute;
    top: 50%;
    right: 10px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
  .companies-top a:hover{
    opacity: 0.75;
  }
}

/* ------------------------------------------------------------------
about companies-lower
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.companies-lower{
    padding: 60px 0 80px;
	}
	.companies-lower-in{
    position: relative;
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
	}
  .companies-lower .backlink{
    text-align: right;
  }
  .companies-lower .backlink:first-of-type{
    position: absolute;
    top: -10px;
    right: 20px;
  }
	.companies-lower .backlink a{
    display: inline-block;
    width: 400px;
    position: relative;
    background: #3da1cd;
    color: #fff;
    font-weight: 700;
    text-align: center;
    border-radius: 10px;
    height: 50px;
    line-height: 50px;
    padding: 0 10px 0 0;
    box-sizing: border-box;
  }
  .companies-lower .backlink a:hover{
    opacity: 0.5;
  }
  .companies-lower .backlink a i{
    content: "";
    position: absolute;
    top: 50%;
    right: 25px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
  .companies-lower .list{
    margin: 40px 0;
    border: 1px solid #3da1cd;
    border-radius: 10px;
    overflow: hidden;
  }
  .companies-lower dl{
    display: table;
    width: 100%;
    border-bottom: 1px solid #3da1cd;
    line-height: 1.6;
  }
  .companies-lower dl:last-of-type{
    border: none;
  }
  .companies-lower dl.label{
    background: #d9ecf5;
  }
  .companies-lower dl dt{
    display: table-cell;
    width: 30%;
    padding: 20px;
    border-right: 1px solid #3da1cd;
    box-sizing: border-box;
  }
  .companies-lower dl dd{
    display: table-cell;
    width: 20%;
    padding: 20px;
    box-sizing: border-box;
  }
  .companies-lower dl dd:first-of-type{
    width: 50%;
    border-right: 1px solid #3da1cd;
  }
  .companies-lower dl a{
    color: #3da1cd;
    text-decoration: underline;
  }
  .companies-lower dl a:hover{
    text-decoration: none;
  }
}
@media only screen and (max-width:767.98px) {
	.companies-lower{
    padding: 30px 0 40px;
	}
	.companies-lower-in{
		width: 90%;
		margin: 0 auto;
	}
  .companies-lower .backlink{
    text-align: right;
  }
	.companies-lower .backlink a{
    display: inline-block;
    width: 220px;
    position: relative;
    background: #3da1cd;
    color: #fff;
    font-weight: 700;
    text-align: center;
    border-radius: 10px;
    height: 44px;
    line-height: 44px;
    padding: 0 10px 0 0;
    box-sizing: border-box;
  }
  .companies-lower .backlink a.hover{
    opacity: 0.5;
  }
  .companies-lower .backlink a i{
    content: "";
    position: absolute;
    top: 50%;
    right: 15px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
  .companies-lower .list{
    margin: 30px 0;
    border: 1px solid #3da1cd;
    border-radius: 5px;
    overflow: hidden;
  }
  .companies-lower dl{
    line-height: 1.6;
    padding: 10px;
    border-bottom: 1px solid #3da1cd;
  }
  .companies-lower dl:last-of-type{
    border: none;
  }
  .companies-lower dl.label{
    background: #d9ecf5;
    letter-spacing: -.4em;
  }
  .companies-lower dl.label dt{
    display: inline-block;
    letter-spacing: normal;
  }
  .companies-lower dl.label dd{
    display: inline-block;
    letter-spacing: normal;
  }
  .companies-lower dl.label dd:before{
    content: "/";
    margin: 0 5px;
  }
  .companies-lower dl dt{
    font-weight: 700;
    margin: 0 0 5px;
  }
  .companies-lower dl dd:first-of-type{
    margin: 0 0 5px;
  }
  .companies-lower dl a{
    color: #3da1cd;
    text-decoration: underline;
  }
  .companies-lower dl a:hover{
    text-decoration: none;
  }
}

/* ------------------------------------------------------------------
about supportmember
------------------------------------------------------------------ */
.supportmember.parts{
  padding: 0!important;
}
@media print,screen and (min-width:768px) {
	.supportmember{
    padding: 60px 0 80px;
	}
	.supportmember-in{
    position: relative;
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
	}
  .supportmember .lead{
    margin: 0 0 40px;
  }
  .supportmember .lead p{
    line-height: 1.8;
    margin: 0 0 20px;
  }
  .supportmember .lead p:last-child{
    margin: 0;
  }
  .supportmember .lead a{
    color: #0d90ca;
    text-decoration: underline;
  }
  .supportmember .section{
    border: 1px solid #3da1cd;
    border-radius: 5px;
    margin: 0 0 20px;
  }
  .supportmember .pagetop{
    text-align: right;
    margin: 0 0 40px;
  }
  .supportmember .pagetop a{
    font-weight: 700;
    color: #0d90ca;
    text-decoration: underline;
  }
  .supportmember .item{
  }
  .supportmember .item h3{
    position: relative;
    background: #d9ecf5;
    padding: 15px;
    font-size: 1.8rem;
    font-weight: 700;
  }
  .supportmember .item ul{
    padding: 15px;
    line-height: 1.8;
    list-style: disc;
    margin: 0 0 0 25px;
  }
  .supportmember .item ul li{
    margin: 0 0 10px;
  }
  .supportmember .item ul li:last-of-type{
    margin: 0;
  }
  .supportmember .item ul li a{
    color: #0d90ca;
    text-decoration: underline;
  }
}
@media only screen and (max-width:767.98px) {
	.supportmember{
    padding: 30px 0 40px;
	}
	.supportmember-in{
		width: 90%;
		margin: 0 auto;
	}
  .supportmember .lead{
    margin: 0 0 20px;
  }
  .supportmember .lead p{
    line-height: 1.8;
    margin: 0 0 20px;
  }
  .supportmember .lead p:last-child{
    margin: 0;
  }
  .supportmember .lead a{
    color: #0d90ca;
    text-decoration: underline;
  }
  .supportmember .section{
    border: 1px solid #3da1cd;
    border-radius: 5px;
    margin: 0 0 20px;
  }
  .supportmember .pagetop{
    text-align: right;
    margin: 0 0 40px;
  }
  .supportmember .pagetop a{
    font-weight: 700;
    color: #0d90ca;
    text-decoration: underline;
  }
  .supportmember .item{
  }
  .supportmember .item h3{
    position: relative;
    background: #d9ecf5;
    padding: 10px;
    font-size: 1.5rem;
    font-weight: 700;
  }
  .supportmember .item ul{
    padding: 10px;
    line-height: 1.8;
    list-style: disc;
    margin: 0 0 0 25px;
  }
  .supportmember .item ul li{
    margin: 0 0 10px;
  }
  .supportmember .item ul li:last-of-type{
    margin: 0;
  }
  .supportmember .item ul li a{
    color: #0d90ca;
    text-decoration: underline;
  }
}

/* ------------------------------------------------------------------
reform-top
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.reform-heart{
    padding: 60px 0 40px;
    text-align: center;
	}
	.reform-heart .bnr{
    width: 420px;
    margin: auto;
	}
	.reform-heart .youtube{
    width:600px;
		margin: 0 auto;
	}
	.reform-heart .youtube .area{
		width: 100%;
    padding-top: 56.25%;
    margin-top: 2rem;
		position: relative;
	}
	.reform-heart .youtube iframe{
		position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
	}
	.reform-heart .youtube_up{
    width:800px;
		margin: 4rem auto 0;
		text-align:center;
	}
	.reform-heart .youtube_up h2{
		font-size:3rem;
	}
	.reform-heart .youtube_up p{
		font-size: 2rem;
    padding-top: 2rem;
	}
	.reform-consider{
    padding: 60px 0 80px;
    background: #ebf5fa;
	}
  .reform-consider-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
  }
  .reform-consider .wrap{
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
  }
  .reform-consider .nav{
    width: 50%;
    float: left;
  }
  .reform-consider .nav ul{
    padding: 30px 30px 0;
  }
  .reform-consider .nav li{
    margin: 0 0 15px;
  }
  .reform-consider .nav li:last-of-type{
    margin: 0;
  }
  .reform-consider .nav li a{
    position: relative;
    display: block;
    padding: 23px;
    border: 1px solid #3da1cd;
    border-radius: 5px;
    background: #ebf5fa;
    font-size: 1.8rem;
    font-weight: 700;
  }
  .reform-consider .nav li a:hover{
    opacity: 0.75;
  }
  .reform-consider .nav li i{
		position: absolute;
		top: 50%;
		right: 20px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    color: #0d90ca;
  }
  .reform-consider .map{
    width: 50%;
    float: right;
  }
}
@media only screen and (max-width:767.98px) {
	.reform-heart{
    padding: 30px 0;
    text-align: center;
	}
	.reform-heart .bnr{
    width: 240px;
    margin: auto;
	}
	.reform-heart .youtube{
    width:90%;
		margin: 0 auto;
	}
	.reform-heart .youtube .area{
		width: 100%;
    padding-top: 56.25%;
    margin-top: 2rem;
		position: relative;
	}
	.reform-heart .youtube iframe{
		position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
	}
	.reform-consider{
    padding: 30px 0 40px;
    background: #ebf5fa;
	}
  .reform-consider-in{
  }
  .reform-consider .map{
  }
  .reform-consider .wrap{
  }
  .reform-consider .nav{
    padding: 20px 0 0;
  }
  .reform-consider .nav ul{
    width: 90%;
    margin: auto;
  }
  .reform-consider .nav li{
    margin: 0 0 10px;
  }
  .reform-consider .nav li:last-of-type{
    margin: 0;
  }
  .reform-consider .nav li a{
    position: relative;
    display: block;
    padding: 15px;
    border: 1px solid #3da1cd;
    border-radius: 5px;
    background: #fff;
    font-size: 1.4rem;
    font-weight: 700;
  }
  .reform-consider .nav li a.hover{
    opacity: 0.75;
  }
  .reform-consider .nav li i{
		position: absolute;
		top: 50%;
		right: 15px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    color: #0d90ca;
  }
}

/* ------------------------------------------------------------------
reform-current
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.reform-current{
    padding: 60px 0 0;
	}
  .reform-current .lead{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
  }
  .reform-current h2{
    font-size: 1.8rem;
    line-height: 1.8;
    margin: 0 0 40px;
  }
  .reform-current .item{
    background: #ebf5fa;
    padding: 60px 0;
  }
  .reform-current .item:nth-child(odd){
    background: #fff;
  }
  .reform-current .item-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
    overflow: hidden;
  }
  .reform-current .pic{
    width: 48.5%;
    float: left;
  }
  .reform-current .txt{
    width: 48.5%;
    float: right;
  }
  .reform-current .txt p{
    margin: 0 0 20px;
    line-height: 1.8;
  }
  .reform-current .txt .morebtn a{
    margin: 0 0 0 auto;
  }
}
@media only screen and (max-width:767.98px) {
	.reform-current{
    padding: 30px 0 0;
	}
  .reform-current .lead{
    width: 90%;
    margin: auto;
  }
  .reform-current h2{
    font-size: 1.4rem;
    line-height: 1.8;
    margin: 0 0 20px;
  }
  .reform-current .item{
    background: #ebf5fa;
    padding: 30px 0;
  }
  .reform-current .item:nth-child(odd){
    background: #fff;
  }
  .reform-current .item-in{
    width: 90%;
    margin: auto;
  }
  .reform-current .pic{
    margin: 0 0 20px;
  }
  .reform-current .txt{
  }
  .reform-current .txt p{
    margin: 0 0 20px;
    line-height: 1.8;
  }
  .reform-current .txt p:last-child{
    margin: 0;
  }
  .reform-current .txt .morebtn a{
    margin: 0 0 0 auto;
  }
}

/* ------------------------------------------------------------------
reform-select
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.reform-select{
    padding: 60px 0 0;
	}
  .reform-select .lead{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
  }
  .reform-select h2{
    font-size: 1.8rem;
    line-height: 1.8;
    margin: 0 0 40px;
    text-align: center;
  }
  .reform-select .item{
    padding: 40px 0 60px;
    margin: 0 0 2px;
  }
  .reform-select .item-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
    overflow: hidden;
  }
  .reform-select .ttl{
    position: relative;
  }
  .reform-select .ttl h3{
    display: table-cell;
    vertical-align: middle;
    width: 1200px;
    height: 80px;
    padding: 0 0 0 100px;
    font-size: 2.4rem;
    line-height: 1.4;
    box-sizing: border-box;
  }
  .reform-select .ttl h3 .s{
    display: block;
    font-size: 1.4rem;
    margin: 5px 0 0;
  }
  .reform-select .ttl .icon{
    position: absolute;
    top: 0px;
    left: 0px;
    border-radius: 50%;
    overflow: hidden;
  }
  .reform-select .ttl .icon div{
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    width: 80px;
    height: 80px;
    color: #fff;
  }
  .reform-select .ttl .icon span{
    display: block;
    font-size: 3.0rem;
    margin: 3px 0 0;
  }
  .reform-select .wrap{
    padding: 0 0 0 100px;
  }
  .reform-select dl{
    border-bottom: 1px solid #ddd;
    padding: 20px 0;
    line-height: 1.6;
  }
  .reform-select dl dt{
    position: relative;
    padding: 0 0 0 30px;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.4;
  }
  .reform-select dl dt label{
    cursor: pointer;
  }
  .reform-select .checkbox + .checkbox-icon:before {
    font-size: 2.2rem;
  }
  .reform-select dl dd{
    padding: 0 0 0 40px;
    margin: 10px 0 0;
  }
  .reform-select dl dd p{
    position: relative;
    margin: 0 0 10px;
    padding: 0 0 0 20px;
  }
  .reform-select dl dd p:last-child{
    margin: 0;
  }
  .reform-select dl dd p:before{
    content: "";
    position: absolute;
    top: 8px;
    left: 0;
    width: 8px;
    height: 8px;
    border-radius: 4px;
    background: #222;
  }
  .reform-select dl dd ul{
    background: rgba(255,255,255,0.8);
    padding: 15px 30px;
    line-height: 1.6;
    letter-spacing: -.4em;
  }
  .reform-select dl dd ul li{
    display: inline-block;
    letter-spacing: normal;
    min-width: 25%;
  }
  .reform-select dl dd .bnr span{
    display: block;
    margin: 5px 0 0;
  }
}
@media only screen and (max-width:767.98px) {
	.reform-select{
    padding: 30px 0 0;
	}
  .reform-select .lead{
    width: 90%;
    margin: auto;
  }
  .reform-select h2{
    font-size: 1.4rem;
    line-height: 1.8;
    margin: 0 0 20px;
  }
  .reform-select .item{
    padding: 30px 0;
  }
  .reform-select .item-in{
    width: 90%;
    margin: auto;
  }
  .reform-select .ttl{
    text-align: center;
  }
  .reform-select .ttl h3{
    font-size: 1.8rem;
    line-height: 1.4;
    margin: 10px 0 0;
  }
  .reform-select .ttl h3 .s{
    display: block;
    font-size: 1.2rem;
    margin: 5px 0 0;
  }
  .reform-select .ttl .icon{
    width: 50px;
    margin: auto;
    border-radius: 50%;
    overflow: hidden;
  }
  .reform-select .ttl .icon div{
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    width: 50px;
    height: 50px;
    font-size: 1.0rem;
    color: #fff;
  }
  .reform-select .ttl .icon span{
    display: block;
    font-size: 1.8rem;
    margin: 2px 0 0;
  }
  .reform-select .wrap{
    padding: 20px 0 0;
  }
  .reform-select dl{
    border-bottom: 1px solid #ddd;
    padding: 20px 0;
    line-height: 1.6;
  }
  .reform-select dl dt{
    position: relative;
    padding: 0 0 0 25px;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.4;
  }
  .reform-select dl dt label{
    cursor: pointer;
  }
  .reform-select .checkbox + .checkbox-icon:before {
    font-size: 1.8rem;
  }
  .reform-select dl dd{
    margin: 10px 0 0;
    padding: 0 0 0 4px;
  }
  .reform-select dl dd p{
    position: relative;
    margin: 0 0 10px;
    padding: 0 0 0 15px;
    font-size: 1.2rem;
  }
  .reform-select dl dd p:last-child{
    margin: 0;
  }
  .reform-select dl dd p:before{
    content: "";
    position: absolute;
    top: 6px;
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 3px;
    background: #222;
  }
  .reform-select dl dd ul{
    background: rgba(255,255,255,0.8);
    padding: 15px 30px;
    line-height: 1.6;
  }
  .reform-select dl dd ul li{
    list-style: disc;
    margin: 0 0 0 10px;
  }
  .reform-select dl dd .bnr span{
    display: block;
    margin: 5px 0 0;
  }
}
.reform-select .item.c1{
  background: #ebf5fa;
}
.reform-select .item.c2{
  background: #e9f8f6;
}
.reform-select .item.c3{
  background: #f6f9ed;
}
.reform-select .item.c4{
  background: #fcf5ec;
}
.reform-select .item.c5{
  background: #fcf2ef;
}
.reform-select .item.c1 .icon{
  background: #3da1cd;
}
.reform-select .item.c2 .icon{
  background: #25b7aa;
}
.reform-select .item.c3 .icon{
  background: #a5c851;
}
.reform-select .item.c4 .icon{
  background: #e0a045;
}
.reform-select .item.c5 .icon{
  background: #de7e61;
}
.reform-select .item.c1 dl{
  border-bottom: 1px dotted #3da1cd;
}
.reform-select .item.c2 dl{
  border-bottom: 1px dotted #25b7aa;
}
.reform-select .item.c3 dl{
  border-bottom: 1px dotted #a5c851;
}
.reform-select .item.c4 dl{
  border-bottom: 1px dotted #e0a045;
}
.reform-select .item.c5 dl{
  border-bottom: 1px dotted #de7e61;
}
.reform-select .item.c1 dl:first-of-type{
  border-top: 1px dotted #3da1cd;
}
.reform-select .item.c2 dl:first-of-type{
  border-top: 1px dotted #25b7aa;
}
.reform-select .item.c3 dl:first-of-type{
  border-top: 1px dotted #a5c851;
}
.reform-select .item.c4 dl:first-of-type{
  border-top: 1px dotted #e0a045;
}
.reform-select .item.c5 dl:first-of-type{
  border-top: 1px dotted #de7e61;
}
.reform-select .checkbox {
  display: none;
}
.reform-select .checkbox + .checkbox-icon {
  position: absolute;
  top: 0;
  left: 0;
}
.reform-select .checkbox + .checkbox-icon:before {
  font-family: "Font Awesome 5 Free";
  font-weight: 400;
  font-style: normal;
  line-height: 1;
  content: "\f0c8";
}
.reform-select .checkbox:checked + .checkbox-icon:before {
  content: "\f14a";
}

/* ------------------------------------------------------------------
reform-korekara
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.reform-korekara{
    padding: 60px 0 80px;
	}
  .reform-korekara-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
  }
  .reform-korekara .mainpic{
    text-align: center;
    margin: 0 0 40px;
  }
  .reform-korekara .section{
    margin: 0 0 60px;
  }
  .reform-korekara .section:last-child{
    margin: 0;
  }
  .reform-korekara .lead{
    line-height: 1.8;
    margin: 0 0 40px;
  }
  .reform-korekara .lead:last-child{
    margin: 0;
  }
  .reform-korekara .flow{
    display:flex;
    margin: 0 0 20px;
  }
  .reform-korekara .flow li{
    width: 32%;
    margin: 0 2% 0 0;
    border: 4px solid #3da1cd;
    border-radius: 10px;
    padding: 20px;
    box-sizing: border-box;
  }
  .reform-korekara .flow li:last-of-type{
    margin: 0;
  }
  .reform-korekara .flow li i{
    display: block;
    width: 50px;
    height: 50px;
    line-height: 50px;
    border-radius: 25px;
    text-align: center;
    margin: 0 auto 10px;
    background: #3da1cd;
    font-size: 3.0rem;
    color: #fff;
  }
  .reform-korekara .flow li p{
    text-align: center;
  }
  .reform-korekara .flow li .txt{
    font-weight: 700;
    line-height: 1.6;
  }
  .reform-korekara .flow li .s{
    font-size: 1.2rem;
    line-height: 1.6;
    margin: 5px 0 0;
  }
  .reform-korekara .flow li .tel{
    line-height: 26px;
    margin: 5px 0 0;
  }
  .reform-korekara .flow li .tel .tel-link,
  .reform-korekara .flow li .tel .tel-link a{
    font-size: 3.0rem;
    font-weight: 700;
    color: #eb6100;
  }
  .reform-korekara .flow li .tel .tel-link:before{
    content: "TEL.";
    font-size: 1.8rem;
    color: #222;
  }
  .reform-korekara .about{
    display:flex;
    flex-wrap: wrap;
    margin: 0 0 -20px;
  }
  .reform-korekara .about li{
    width: 48.5%;
    margin: 0 2% 20px 0;
    border: 1px solid #ddd;
    background-color: #f9f9f9;
    border-radius: 10px;
    padding: 30px;
    line-height: 1.6;
    box-sizing: border-box;
  }
  .reform-korekara .about li:nth-of-type(2n){
    margin: 0 0 20px;
  }
  .reform-korekara .about li strong{
    display: block;
    font-size: 1.8rem;
    margin: 0 0 10px;
  }
  .reform-korekara .about li .s{
    display: block;
    font-size: 1.2rem;
    margin: 5px 0 0;
  }
  .reform-korekara .faq dl{
    margin: 0 0 30px;
  }
  .reform-korekara .faq dl:last-child{
    margin: 0;
  }
  .reform-korekara .faq dt{
    position: relative;
    margin: 0 0 10px;
  }
  .reform-korekara .faq dt p{
    font-size: 2.0rem;
    font-weight: 700;
    line-height: 1.6;
    padding: 0 0 0 30px;
  }
  .reform-korekara .faq dt i{
    position: absolute;
    top: 0;
    left: 0;
    font-size: 3.0rem;
    color: #0d90ca;
  }
  .reform-korekara .faq dd{
    position: relative;
    padding: 0 0 0 140px;
  }
  .reform-korekara .faq dd i{
    position: absolute;
    top: 0;
    left: 30px;
    width: 80px;
  }
  .reform-korekara .faq dd p{
    display: table-cell;
    vertical-align: middle;
    height: 100px;
    padding: 15px;
    border: 1px solid #ddd;
    border-radius: 10px;
    line-height: 1.6;
    box-sizing: border-box;
  }
}
@media only screen and (max-width:767.98px) {
	.reform-korekara{
    padding: 30px 0 40px;
	}
  .reform-korekara-in{
    width: 90%;
    margin: auto;
  }
  .reform-korekara .mainpic{
    text-align: center;
    margin: 0 0 30px;
  }
  .reform-korekara .section{
    margin: 0 0 40px;
  }
  .reform-korekara .section:last-child{
    margin: 0;
  }
  .reform-korekara .lead{
    line-height: 1.8;
    margin: 0 0 20px;
  }
  .reform-korekara .lead:last-child{
    margin: 0;
  }
  .reform-korekara .flow{
    margin: 0 0 20px;
  }
  .reform-korekara .flow li{
    border: 4px solid #3da1cd;
    border-radius: 10px;
    padding: 15px;
    box-sizing: border-box;
    margin: 0 0 20px;
  }
  .reform-korekara .flow li:last-of-type{
    margin: 0;
  }
  .reform-korekara .flow li i{
    display: block;
    width: 40px;
    height: 40px;
    line-height: 40px;
    border-radius: 20px;
    text-align: center;
    margin: 0 auto 10px;
    background: #3da1cd;
    font-size: 2.4rem;
    color: #fff;
  }
  .reform-korekara .flow li p{
    text-align: center;
  }
  .reform-korekara .flow li .txt{
    font-weight: 700;
    line-height: 1.6;
  }
  .reform-korekara .flow li .s{
    font-size: 1.2rem;
    line-height: 1.6;
    margin: 5px 0 0;
  }
  .reform-korekara .flow li .tel{
    line-height: 26px;
    margin: 5px 0 0;
  }
  .reform-korekara .flow li .tel .tel-link,
  .reform-korekara .flow li .tel .tel-link a{
    font-size: 3.0rem;
    font-weight: 700;
    color: #eb6100;
  }
  .reform-korekara .flow li .tel .tel-link:before{
    content: "TEL.";
    font-size: 1.8rem;
    color: #222;
  }
  .reform-korekara .about{
  }
  .reform-korekara .about li{
    margin: 0 0 20px;
    border: 1px solid #ddd;
    background-color: #f9f9f9;
    border-radius: 10px;
    padding: 15px;
    line-height: 1.6;
    box-sizing: border-box;
  }
  .reform-korekara .about li:last-of-type{
    margin: 0;
  }
  .reform-korekara .about li strong{
    display: block;
    font-size: 1.4rem;
    margin: 0 0 5px;
  }
  .reform-korekara .about li .s{
    display: block;
    font-size: 1.0rem;
    margin: 5px 0 0;
  }
  .reform-korekara .faq dl{
    margin: 0 0 30px;
  }
  .reform-korekara .faq dl:last-child{
    margin: 0;
  }
  .reform-korekara .faq dt{
    position: relative;
    margin: 0 0 10px;
  }
  .reform-korekara .faq dt p{
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.6;
    padding: 0 0 0 30px;
  }
  .reform-korekara .faq dt i{
    position: absolute;
    top: -6px;
    left: 0;
    font-size: 3.0rem;
    color: #0d90ca;
  }
  .reform-korekara .faq dd{
    position: relative;
    padding: 0 0 0 80px;
  }
  .reform-korekara .faq dd i{
    position: absolute;
    top: 0;
    left: 0;
    width: 60px;
  }
  .reform-korekara .faq dd p{
    display: table-cell;
    vertical-align: middle;
    padding: 15px;
    border: 1px solid #ddd;
    border-radius: 10px;
    line-height: 1.6;
    box-sizing: border-box;
  }
}

/* ------------------------------------------------------------------
process-top
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.process-top{
    padding: 60px 0 80px;
	}
  .process-top-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
  }
  .process-top h2{
    line-height: 1.8;
    margin: 0 0 40px;
  }
  .process-top .wrap{
    overflow: hidden;
  }
  .process-top .item{
    width: 48%;
    float: left;
  }
  .process-top .item:nth-of-type(2){
    float: right;
  }
  .process-top .pic{
    position: relative;
    margin: 0 0 20px;
  }
  .process-top .pic span{
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    padding: 20px;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.6;
    text-align: center;
    background:rgba(255,255,255,0.9);
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    box-sizing: border-box;
  }
  .process-top .pic a:hover{
    opacity: 0.75;
  }
  .process-top .txt p{
    line-height: 1.8;
    margin: 0 0 20px;
  }
  .process-top .txt ul{
    list-style: disc;
    margin: 0 0 0 25px;
    line-height: 1.6;
    height: 21.8em;
  }
  .process-top .txt ul li{
    margin: 0 0 5px;
  }
  .process-top .txt ul li:last-of-type{
    margin: 0;
  }
  .process-top .txt ul a{
    color: #0d90ca;
    font-size: 1.5rem;
    font-weight: 700;
  }
  .process-top .txt ul a:hover{
    text-decoration: underline;
  }
}
@media only screen and (max-width:767.98px) {
	.process-top{
    padding: 30px 0 40px;
	}
  .process-top-in{
    width: 90%;
    margin: auto;
  }
  .process-top h2{
    line-height: 1.8;
    margin: 0 0 20px;
  }
  .process-top .wrap{
    overflow: hidden;
  }
  .process-top .item{
    margin: 0 0 40px;
  }
  .process-top .item:nth-of-type(2){
    margin: 0;
  }
  .process-top .pic{
    position: relative;
    margin: 0 0 20px;
  }
  .process-top .pic span{
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    padding: 10px;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.6;
    text-align: center;
    background:rgba(255,255,255,0.9);
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    box-sizing: border-box;
  }
  .process-top .pic a.hover{
    opacity: 0.75;
  }
  .process-top .txt p{
    line-height: 1.8;
    margin: 0 0 20px;
  }
  .process-top .txt ul{
    list-style: disc;
    margin: 0 0 20px 25px;
    line-height: 1.6;
  }
  .process-top .txt ul li{
    margin: 0 0 5px;
  }
  .process-top .txt ul li:last-of-type{
    margin: 0;
  }
  .process-top .txt ul a{
    color: #0d90ca;
    font-weight: 700;
  }
  .process-top .txt ul a:hover{
    text-decoration: underline;
  }
}

/* ------------------------------------------------------------------
process-step
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.process-step{
    padding: 60px 0 80px;
	}
  .process-step-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
  }
  .process-step .nav{
    margin: 0 0 60px;
  }
  .process-step .nav ul{
    overflow: hidden;
  }
  .process-step .nav ul li{
    position: relative;
    width: 33.3%;
    float: left;
    padding: 0 15px 0 0;
    box-sizing: border-box;
  }
  .process-step .nav ul li:last-of-type{
    width: 33.4%;
  }
  .process-step .nav ul li a{
    display: block;
  }
  .process-step .nav ul li.next:after{
    content: "";
    position: absolute;
    top: 0;
    right: -0.5px;
    width: 16px;
    height: 45px;
  }
  .process-step .nav ul li.end:after{
    content: "";
    position: absolute;
    top: 0;
    right: -22px;
    width: 0;
    height: 0;
    border: solid 22.5px transparent;
    border-left: solid 15px transparent;
  }
  .process-step .nav ul li.end.p1:after{
    border-left-color: #3da1cd;
  }
  .process-step .nav ul li.end.p2:after{
    border-left-color: #25b7aa;
  }
  .process-step .nav ul li.end.p3:after{
    border-left-color: #a5c851;
  }
  .process-step .nav ul li.end.p4:after{
    border-left-color: #e0a045;
  }
  .process-step .nav ul li .arrow{
    display: table-cell;
    vertical-align: middle;
    width: 900px;
    height: 45px;
    padding: 0 15px;
    box-sizing: border-box;
    color: #fff;
    font-weight: 700;
    line-height: 1.3;
  }
  .process-step .nav ul li .arrow .s{
    display: block;
    font-size: 1.4rem;
  }
  .process-step .nav ul li .step{
    position: relative;
    border: 1px solid #ddd;
    margin: 20px 0 0;
    transition: all 0.3s ease;
  }
  .process-step .nav ul li a:hover .step{
    opacity: 0.75;
  }
  .process-step .nav ul li.active .step{
    background: #f3f3f3;
  }
  .process-step .nav ul li .step .wrap{
    display: table-cell;
    vertical-align: middle;
    width: 900px;
    height: 120px;
    padding: 20px 20px 20px 120px;
    box-sizing: border-box;
  }
  .process-step .nav ul li .step .icon{
    position: absolute;
    top: 20px;
    left: 20px;
    border-radius: 50%;
    overflow: hidden;
  }
  .process-step .nav ul li .step .icon div{
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    width: 80px;
    height: 80px;
    color: #fff;
  }
  .process-step .nav ul li .step .icon span{
    display: block;
    font-size: 3.0rem;
    margin: 3px 0 0;
  }
  .process-step .nav ul li .step p.txt{
    font-weight: 700;
    line-height: 1.6;
  }
  .process-step .content{
  }
  .process-step .content .wrap{
    margin: 0 0 40px;
    overflow: hidden;
  }
  .process-step .content .pic{
    width: 48.5%;
    float: left;
  }
  .process-step .content .txt{
    width: 48.5%;
    float: right;
  }
  .process-step .content .ttl{
    position: relative;
    margin: 0 0 20px;
  }
  .process-step .content .ttl h2{
    position: relative;
    display: table-cell;
    vertical-align: middle;
    width: 900px;
    height: 80px;
    padding: 0 0 0 100px;
    font-size: 2.0rem;
    line-height: 1.4;
    box-sizing: border-box;
  }
  .process-step .content .ttl .icon{
    position: absolute;
    top: 0px;
    left: 0px;
    border-radius: 50%;
    overflow: hidden;
  }
  .process-step .content .ttl .icon div{
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    width: 80px;
    height: 80px;
    color: #fff;
  }
  .process-step .content .ttl .icon span{
    display: block;
    font-size: 3.0rem;
    margin: 3px 0 0;
  }
  .process-step .content h4{
    font-size: 1.8rem;
    margin: 0 0 15px;
  }
  .process-step .content p{
    line-height: 1.8;
    margin: 0 0 30px;
  }
  .process-step .content ul{
    list-style: disc;
    margin: 0 0 30px 20px;
    line-height: 1.8;
  }
  .process-step .content *:last-child{
    margin-bottom: 0;
  }
}
@media only screen and (max-width:767.98px) {
	.process-step{
    padding: 30px 0 40px;
	}
  .process-step-in{
    width: 90%;
    margin: auto;
  }
  .process-step .nav{
    margin: 0 0 40px;
  }
  .process-step .nav ul{
  }
  .process-step .nav ul li{
    margin: 0 0 10px;
  }
  .process-step .nav ul li:last-of-type{
    margin: 0;
  }
  .process-step .nav ul li a{
    display: block;
  }
  .process-step .nav ul li .arrow p{
    padding: 5px 10px;
    box-sizing: border-box;
    color: #fff;
    font-weight: 700;
    line-height: 1.3;
  }
  .process-step .nav ul li .arrow .s{
    display: block;
    font-size: 1.2rem;
  }
  .process-step .nav ul li .step{
    position: relative;
    border: 1px solid #ddd;
    margin: 10px 0 0;
    transition: all 0.3s ease;
  }
  .process-step .nav ul li.active .step:before{
    content: "";
    position: absolute;
    top: 50%;
    left: -15px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    width: 0;
    height: 0;
    border: solid 10px transparent;
    border-left: solid 10px transparent;
  }
  .process-step .nav ul li.active.p1 .step:before{
    border-left-color: #3da1cd;
  }
  .process-step .nav ul li.active.p2 .step:before{
    border-left-color: #25b7aa;
  }
  .process-step .nav ul li.active.p3:before{
    border-left-color: #a5c851;
  }
  .process-step .nav ul li.active.p4:before{
    border-left-color: #e0a045;
  }
  .process-step .nav ul li a.hover .step{
    opacity: 0.75;
  }
  .process-step .nav ul li.active .step{
    background: #f3f3f3;
  }
  .process-step .nav ul li .step .wrap{
    display: table-cell;
    vertical-align: middle;
    width: 900px;
    height: 60px;
    padding: 10px 10px 10px 60px;
    box-sizing: border-box;
  }
  .process-step .nav ul li .step .icon{
    position: absolute;
    top: 10px;
    left: 10px;
    border-radius: 50%;
    overflow: hidden;
  }
  .process-step .nav ul li .step .icon div{
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    width: 40px;
    height: 40px;
    font-size: 1.0rem;
    color: #fff;
  }
  .process-step .nav ul li .step .icon span{
    display: block;
    font-size: 1.8rem;
    margin: 2px 0 0;
  }
  .process-step .nav ul li .step p.txt{
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.6;
  }
  .process-step .content{
  }
  .process-step .content .wrap{
    margin: 0 0 20px;
    overflow: hidden;
  }
  .process-step .content .pic{
    margin: 0 0 20px;
  }
  .process-step .content .txt{
  }
  .process-step .content .ttl{
    position: relative;
    margin: 0 0 20px;
  }
  .process-step .content .ttl h2{
    position: relative;
    display: table-cell;
    vertical-align: middle;
    width: 900px;
    height: 60px;
    padding: 0 0 0 70px;
    font-size: 1.8rem;
    line-height: 1.4;
    box-sizing: border-box;
  }
  .process-step .content .ttl .icon{
    position: absolute;
    top: 0px;
    left: 0px;
    border-radius: 50%;
    overflow: hidden;
  }
  .process-step .content .ttl .icon div{
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    width: 60px;
    height: 60px;
    color: #fff;
  }
  .process-step .content .ttl .icon span{
    display: block;
    font-size: 2.4rem;
    margin: 3px 0 0;
  }
  .process-step .content h4{
    font-size: 1.6rem;
    margin: 0 0 15px;
  }
  .process-step .content p{
    line-height: 1.8;
    margin: 0 0 20px;
  }
  .process-step .content ul{
    list-style: disc;
    margin: 0 0 20px 20px;
    line-height: 1.8;
  }
  .process-step .content *:last-child{
    margin-bottom: 0;
  }
}

.process-step .nav ul li.p1 .arrow,
.process-step .nav ul li.p1 .step .icon,
.process-step .nav ul li.p1.next:after,
.process-step .content.p1 .ttl .icon{
  background: #3da1cd;
}
.process-step .nav ul li.p2 .arrow,
.process-step .nav ul li.p2 .step .icon,
.process-step .nav ul li.p2.next:after,
.process-step .content.p2 .ttl .icon{
  background: #25b7aa;
}
.process-step .nav ul li.p3 .arrow,
.process-step .nav ul li.p3 .step .icon,
.process-step .nav ul li.p3.next:after,
.process-step .content.p3 .ttl .icon{
  background: #a5c851;
}
.process-step .nav ul li.p4 .arrow,
.process-step .nav ul li.p4 .step .icon,
.process-step .nav ul li.p4.next:after,
.process-step .content.p4 .ttl .icon{
  background: #e0a045;
}

/* ------------------------------------------------------------------
business-vision
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.business-vision{
    padding: 60px 0 0;
	}
  .business-vision-in{
		max-width: 900px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
  }
  .business-vision .ttl{
    margin: 0 0 40px;
  }
  .business-vision .ttl .logo{
    border-bottom: 4px solid #2660ad;
    margin: 0 0 20px;
  }
  .business-vision .ttl h2{
    font-size: 3.0rem;
  }
  .business-vision .txt p{
    line-height: 1.8;
  }
  .business-vision .bnr{
    margin: 40px 0 0;
    text-align: center;
  }
  .business-vision .morebtn{
    margin: 40px 0 0;
    text-align: center;
  }
  .business-vision .morebtn a{
    font-size: 2.0rem;
  }
	.business-about{
    padding: 60px 0 80px;
	}
  .business-about-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
  }
	.business-nav{
    padding: 60px 0 80px;
    background: #f9f9f9;
	}
  .business-nav-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
  }
  .business-nav .section.join{
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 30px;
    text-align: center;
    background: #fff;
  }
  .business-nav .section.join h3{
    font-size: 2.4rem;
    font-weight: 700;
    color: #01b9a9;
    margin: 0 0 30px;
  }
  .business-nav .section.join ul{
    letter-spacing: -.4em;
    text-align: center;
  }
  .business-nav .section.join ul li{
    display: inline-block;
    letter-spacing: normal;
    width: 23.5%;
    margin: 0 2% 0 0;
  }
  .business-nav .section.join ul li:nth-of-type(4n){
    margin: 0;
  }
  .business-nav .section.join ul li a{
    position: relative;
    display: table-cell;
    vertical-align: middle;
    width: 600px;
    height: 80px;
    border-radius: 5px;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.4;
    color: #01b9a9;
    border: 2px solid #25b7aa;
    background: #f9f9f9;
    padding: 0 20px;
    box-sizing: border-box;
  }
  .business-nav .section.join ul li a:hover{
    opacity: 0.75;
  }
  .business-nav .section.nav ul{
    letter-spacing: -.4em;
  }
  .business-nav .section.nav ul li{
    display: inline-block;
    letter-spacing: normal;
    width: 23.5%;
    margin: 20px 2% 0 0;
  }
  .business-nav .section.nav ul li:nth-of-type(4n){
    margin: 20px 0 0;
  }
  .business-nav .section.nav .l{
    width: 100%;
    margin: 20px 0 0;
    padding: 20px 0 0;
    border-top: 1px dotted #25b7aa;
  }
  .business-nav .section.nav .s{
    font-size: 1.4rem;
    margin: 0 0 0 10px;
  }
  .business-nav .section.nav .fas{
    margin: 0 0 0 10px;
  }
  .business-nav .section.nav a{
    position: relative;
    display: block;
    border-radius: 5px;
    font-size: 1.8rem;
    font-weight: 700;
    color: #01b9a9;
    border: 2px solid #25b7aa;
    background: #fff;
    padding: 20px;
  }
  .business-nav .section.nav a i.arr{
		position: absolute;
		top: 50%;
		right: 20px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
  .business-nav .section.nav a:hover{
    opacity: 0.75;
  }
	.business-members{
    padding: 60px 0 0;
	}
  .business-members-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
  }
  .business-members .section{
    margin: 0 0 40px;
    text-align: center;
  }
  .business-members .section:nth-of-type(2){
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 30px;
  }
  .business-members .section h3{
    font-size: 2.4rem;
    font-weight: 700;
    color: #01b9a9;
    margin: 0 0 10px;
  }
  .business-members .bnr{
    border-radius: 10px;
    overflow: hidden;
  }
  .business-members .bnr a:hover{
    opacity: 0.75;
  }
  .business-members ul{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    letter-spacing: -.4em;
    text-align: center;
  }
  .business-members ul li{
    display: inline-block;
    letter-spacing: normal;
    width: 23.5%;
    margin: 20px 2% 0 0;
  }
  .business-members ul li:nth-of-type(4n){
    margin: 20px 0 0;
  }
  .business-members ul li a{
    position: relative;
    display: block;
    border-radius: 5px;
    font-size: 1.8rem;
    font-weight: 700;
    color: #01b9a9;
    border: 2px solid #25b7aa;
    background: #f9f9f9;
    padding: 20px;
  }
  .business-members ul li a i{
		position: absolute;
		top: 50%;
		right: 20px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
  .business-members ul li a:hover{
    opacity: 0.75;
  }
  .business-members ul li a .-sm {
    line-height: 1.8;
    font-size: .8em;
  }
	.business-fb{
    padding: 60px 0 80px;
	}
  .business-fb-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
  }
  .business-fb ul{
    letter-spacing: -.4em;
    text-align: center;
  }
  .business-fb ul li{
    display: inline-block;
    letter-spacing: normal;
    width: 23.5%;
    margin: 0 2% 0 0;
  }
  .business-fb ul li:nth-of-type(4n){
    margin: 0;
  }
  .business-fb ul li a{
    position: relative;
    display: block;
    border-radius: 5px;
    font-size: 1.8rem;
    font-weight: 700;
    color: #fff;
    background: #25b7aa;
    padding: 20px;
  }
  .business-fb ul li a i{
		position: absolute;
		top: 50%;
		right: 20px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
  .business-fb ul li a:hover{
    opacity: 0.75;
  }
}
@media only screen and (max-width:767.98px) {
	.business-vision{
    padding: 30px 0 0;
	}
  .business-vision-in{
		width: 90%;
		margin: 0 auto;
  }
  .business-vision .ttl{
    margin: 0 0 20px;
  }
  .business-vision .ttl .logo{
    border-bottom: 4px solid #2660ad;
    margin: 0 0 10px;
  }
  .business-vision .ttl .logo img{
    width: 240px;
  }
  .business-vision .ttl h2{
    font-size: 2.0rem;
    line-height: 1.4;
  }
  .business-vision .txt p{
    line-height: 1.8;
  }
  .business-vision .bnr{
    margin: 30px 0 0;
    text-align: center;
  }
  .business-vision .morebtn{
    margin: 30px 0 0;
    text-align: center;
  }
  .business-vision .morebtn a{
    font-size: 1.8rem;
  }
	.business-about{
    padding: 30px 0 40px;
	}
  .business-about-in{
		width: 90%;
		margin: 0 auto;
  }
	.business-nav{
    padding: 30px 0 40px;
    background: #f9f9f9;
	}
  .business-nav-in{
		width: 90%;
		margin: 0 auto;
  }
  .business-nav .section.join{
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 20px;
    text-align: center;
    background: #fff;
  }
  .business-nav .section.join h3{
    font-size: 1.8rem;
    font-weight: 700;
    color: #01b9a9;
    margin: 0 0 20px;
  }
  .business-nav .section.join ul{
    text-align: center;
  }
  .business-nav .section.join ul li{
    margin: 0 0 10px;
  }
  .business-nav .section.join ul li:last-of-type{
    margin: 0;
  }
  .business-nav .section.join ul li a{
    display: block;
    border-radius: 5px;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.4;
    color: #01b9a9;
    border: 2px solid #25b7aa;
    background: #f9f9f9;
    padding: 10px;
    box-sizing: border-box;
  }
  .business-nav .section.join ul li a.hover{
    opacity: 0.75;
  }
  .business-nav .section.nav ul{
  }
  .business-nav .section.nav ul li{
    margin: 10px 0 0 0;
  }
  .business-nav .section.nav .l{
    margin: 15px 0 0;
    padding: 15px 0 0;
    border-top: 1px dotted #25b7aa;
  }
  .business-nav .section.nav .s{
    display: block;
    font-size: 1.0rem;
    margin: 5px 0 0;
  }
  .business-nav .section.nav .fas{
    margin: 0 0 0 10px;
  }
  .business-nav .section.nav a{
    position: relative;
    display: block;
    border-radius: 5px;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.4;
    color: #01b9a9;
    border: 2px solid #25b7aa;
    background: #fff;
    padding: 10px;
  }
  .business-nav .section.nav a i.arr{
		position: absolute;
		top: 50%;
		right: 15px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
  .business-nav .section.nav a:hover{
    opacity: 0.75;
  }
	.business-members{
    padding: 60px 0 0;
	}
  .business-members-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
  }
  .business-members .section{
    text-align: center;
    margin: 0 0 20px;
  }
  .business-members .section:last-of-type{
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 20px;
    margin: 0;
  }
  .business-members .section h3{
    font-size: 1.8rem;
    font-weight: 700;
    color: #01b9a9;
    margin: 0 0 20px;
  }
  .business-members ul{
    text-align: center;
  }
  .business-members ul li{
    margin: 0 0 10px;
  }
  .business-members ul li:last-of-type{
    margin: 0;
  }
  .business-members ul li a{
    display: block;
    border-radius: 5px;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.4;
    color: #01b9a9;
    border: 2px solid #25b7aa;
    background: #f9f9f9;
    padding: 10px;
    box-sizing: border-box;
  }
  .business-members ul li a i{
		position: absolute;
		top: 50%;
		right: 15px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
  .business-members ul li a.hover{
    opacity: 0.75;
  }
  .business-members ul li a .-sm {
    line-height: 1.8;
    font-size: .8em;
  }
  .business-members .bnr{
    border-radius: 10px;
    overflow: hidden;
  }
  .business-members .bnr a.hover{
    opacity: 0.75;
  }
	.business-fb{
    padding: 30px 0 40px;
	}
  .business-fb-in{
		width: 90%;
		margin: 0 auto;
  }
  .business-fb ul{
    text-align: center;
  }
  .business-fb ul li{
    margin: 0 0 10px;
  }
  .business-fb ul li:last-of-type{
    margin: 0;
  }
  .business-fb ul li a{
    position: relative;
    display: block;
    border-radius: 5px;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.4;
    color: #fff;
    background: #25b7aa;
    padding: 10px;
  }
  .business-fb ul li a i{
		position: absolute;
		top: 50%;
		right: 15px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
  .business-fb ul li a:hover{
    opacity: 0.75;
  }
}

/* ------------------------------------------------------------------
page-minnanomikata
------------------------------------------------------------------ */
@media only screen and (min-width:1000px) {
  .page-minnanomikata{
		padding: 40px 0 80px;
  }
  .page-minnanomikata-in{
		position: relative;
		max-width: 1200px;
		margin: auto;
		padding: 0 20px;
    box-sizing: border-box;
	}
  .page-minnanomikata .mainpic{
    margin: 0 0 40px;
  }
  .page-minnanomikata .about{
    margin: 0 0 20px;
  }
  .page-minnanomikata .about p{
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.8;
  }
  .page-minnanomikata .point{
    border: 8px solid #ebf5fa;
    padding: 30px;
    box-sizing: border-box;
    margin: 0 0 40px;
  }
  .page-minnanomikata .point dl{
    overflow: hidden;
    margin: 0 0 20px;
  }
  .page-minnanomikata .point dl:last-child{
    margin: 0;
  }
  .page-minnanomikata .point dt{
    width: 8%;
    float: left;
    font-size: 1.8rem;
    color: #0d90ca;
  }
  .page-minnanomikata .point dt .l{
    font-size: 2.4rem;
  }
  .page-minnanomikata .point dd{
    width: 92%;
    float: right;
  }
  .page-minnanomikata .point dd .sub{
    font-size: 2.0rem;
    font-weight: 700;
    color: #0d90ca;
    line-height: 1.4;
    margin: 0 0 5px;
  }
  .page-minnanomikata .point dd .txt{
    line-height: 1.8;
  }
  .page-minnanomikata .support{
    margin: 0 0 60px;
  }
  .page-minnanomikata .support h2{
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 30px;
    text-align: center;
  }
  .page-minnanomikata .support .wrap{
    overflow: hidden;
    margin: 0 0 40px;
  }
  .page-minnanomikata .support .pic{
    width: 40%;
    float: right;
  }
  .page-minnanomikata .support p{
    width: 56%;
    float: left;
    line-height: 1.8;
  }
  .page-minnanomikata .support .obi{
    background: #e8340c;
    color: #fff;
    font-size: 2.4rem;
    font-weight: 700;
    padding: 20px;
    text-align: center;
  }
  .page-minnanomikata .graph{
    width: 980px;
    margin: 0 auto 60px;
  }
  .page-minnanomikata .example{
    width: 980px;
    margin: 0 auto 60px;
    overflow: hidden;
  }
  .page-minnanomikata .example div{
    width: 48.5%;
    float: left;
  }
  .page-minnanomikata .example div:last-of-type{
    float: right;
  }
  .page-minnanomikata .schedule{
    width: 980px;
    margin: 0 auto 60px;
  }
  .page-minnanomikata .service{
    width: 980px;
    margin: 0 auto 40px;
  }
  .page-minnanomikata .morebtn{
    margin: 0 0 40px;
  }
  .page-minnanomikata .morebtn a{
    font-size: 2.0rem;
    height: 60px;
    line-height: 60px;
  }
  .page-minnanomikata .document{
    padding: 0 0 0 30px;
    margin: 0 0 40px;
  }
  .page-minnanomikata .document p{
    line-height: 1.8;
    margin: 0 0 20px;
  }
  .page-minnanomikata .document p:last-child{
    margin: 0;
  }
  .page-minnanomikata .document ul.decimal{
    list-style: decimal;
    margin: 0 0 20px 15px;
    line-height: 1.8;
  }
  .page-minnanomikata .document ul.decimal li{
    margin: 0 0 10px;
  }
  .page-minnanomikata .document ul.decimal li:last-child{
    margin: 0;
  }
  .page-minnanomikata .document a{
    text-decoration: underline;
    color: #d84619;
  }
  .page-minnanomikata .sche{
    padding: 0 0 0 30px;
    margin: 0 0 40px;
  }
  .page-minnanomikata .sche li{
    display: table;
    width: 100%;
    line-height: 1.8;
  }
  .page-minnanomikata .sche span{
    display: table-cell;
    width: 8%;
  }
  .page-minnanomikata .sche p{
    display: table-cell;
    width: 92%;
  }
  .page-minnanomikata .attachment{
    padding: 0 0 0 30px;
  }
  .page-minnanomikata .attachment ul{
    list-style: disc;
    margin: 0 0 0 15px;
    line-height: 1.8;
  }
  .page-minnanomikata .attachment ul li{
    margin: 0 0 10px;
  }
  .page-minnanomikata .attachment ul li:last-child{
    margin: 0;
  }
  .page-minnanomikata .attachment a{
    text-decoration: underline;
    color: #d84619;
  }
}
@media only screen and (max-width:999px) {
  .page-minnanomikata{
		padding: 20px 0 20px;
  }
  .page-minnanomikata-in{
		position: relative;
		width: 90%;
		margin: 0 auto;
  }
  .page-minnanomikata .mainpic{
    margin: 0 0 20px;
  }
  .page-minnanomikata .about{
    margin: 0 0 20px;
  }
  .page-minnanomikata .about p{
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.8;
  }
  .page-minnanomikata .point{
    border: 6px solid #ebf5fa;
    padding: 15px;
    box-sizing: border-box;
    margin: 0 0 20px;
  }
  .page-minnanomikata .point dl{
    overflow: hidden;
    margin: 0 0 20px;
  }
  .page-minnanomikata .point dl:last-child{
    margin: 0;
  }
  .page-minnanomikata .point dt{
    font-size: 1.4rem;
    color: #0d90ca;
    margin: 0 0 10px;
  }
  .page-minnanomikata .point dt .l{
    font-size: 2.0rem;
  }
  .page-minnanomikata .point dd{
  }
  .page-minnanomikata .point dd .sub{
    font-size: 1.6rem;
    font-weight: 700;
    color: #0d90ca;
    line-height: 1.4;
    margin: 0 0 5px;
  }
  .page-minnanomikata .point dd .txt{
    line-height: 1.8;
  }
  .page-minnanomikata .support{
    margin: 0 0 40px;
  }
  .page-minnanomikata .support h2{
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 10px;
    text-align: center;
  }
  .page-minnanomikata .support .wrap{
    overflow: hidden;
    margin: 0 0 20px;
  }
  .page-minnanomikata .support .pic{
  }
  .page-minnanomikata .support p{
    line-height: 1.8;
    margin: 0 0 20px;
  }
  .page-minnanomikata .support .obi{
    background: #e8340c;
    color: #fff;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.4;
    padding: 15px;
    text-align: center;
  }
  .page-minnanomikata .graph{
    margin: 0 0 30px;
  }
  .page-minnanomikata .example{
    margin: 0 0 30px;
  }
  .page-minnanomikata .example div{
    margin: 0 0 30px;
  }
  .page-minnanomikata .example div:last-of-type{
    margin: 0;
  }
  .page-minnanomikata .schedule{
    margin: 0 0 30px;
  }
  .page-minnanomikata .service{
    margin: 0 0 30px;
  }
  .page-minnanomikata .morebtn{
    margin: 0 0 30px;
  }
  .page-minnanomikata .document{
    margin: 0 0 30px;
  }
  .page-minnanomikata .document p{
    line-height: 1.8;
    margin: 0 0 20px;
  }
  .page-minnanomikata .document p:last-child{
    margin: 0;
  }
  .page-minnanomikata .document ul.decimal{
    list-style: decimal;
    margin: 0 0 20px 20px;
    line-height: 1.8;
  }
  .page-minnanomikata .document ul.decimal li{
    margin: 0 0 10px;
  }
  .page-minnanomikata .document ul.decimal li:last-child{
    margin: 0;
  }
  .page-minnanomikata .document a{
    text-decoration: underline;
    color: #d84619;
  }
  .page-minnanomikata .sche{
    margin: 0 0 30px;
  }
  .page-minnanomikata .sche li{
    display: table;
    width: 100%;
    line-height: 1.8;
  }
  .page-minnanomikata .sche span{
    font-size: 1.2rem;
  }
  .page-minnanomikata .sche p{
  }
  .page-minnanomikata .attachment{
  }
  .page-minnanomikata .attachment ul{
    list-style: disc;
    margin: 0 0 0 20px;
    line-height: 1.8;
  }
  .page-minnanomikata .attachment ul li{
    margin: 0 0 10px;
  }
  .page-minnanomikata .attachment ul li:last-child{
    margin: 0;
  }
  .page-minnanomikata .attachment a{
    text-decoration: underline;
    color: #d84619;
  }
}

/* ------------------------------------------------------------------
ref-search-top
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.ref-search-map{
    padding: 60px 0 80px;
	}
  .ref-search-map-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
  }
  .ref-search-map h2{
    font-size: 2.4rem;
    line-height: 1.8;
    text-align: center;
    margin: 0 0 40px;
  }
  .ref-search-map .wrap{
    background: #ebf5fa;
    border-radius: 10px;
    border: 1px solid #3da1cd;
    box-sizing: border-box;
    overflow: hidden;
    margin: 0 0 40px;
  }
  .ref-search-map .map{
    width: 50%;
    float: left;
  }
  .ref-search-map .nav{
    width: 50%;
    float: right;
    padding: 25px 30px 0px;
    box-sizing: border-box;
  }
  .ref-search-map .nav h3{
    font-size: 2.0rem;
    color: #0d90ca;
    margin: 0 0 25px;
  }
  .ref-search-map .nav dl{
    overflow: hidden;
    border-bottom: 1px dotted #3da1cd;
    margin: 0 0 12px;
    font-size: 1.5rem;
  }
  .ref-search-map .nav dl:last-of-type{
    border-bottom: none;
    margin: 0;
  }
  .ref-search-map .nav dl dt{
    width: 20%;
    float: left;
    font-size: 1.4rem;
    font-weight: 700;
    color: #0d90ca;
  }
  .ref-search-map .nav dl dt:before{
    content: "● ";
  }
  .ref-search-map .nav dl dd{
    width: 80%;
    float: right;
  }
  .ref-search-map .nav dl dd ul{
    letter-spacing: -.4em;
  }
  .ref-search-map .nav dl dd ul li{
    display: inline-block;
    letter-spacing: normal;
    margin: 0 10px 12px 0;
  }
  .ref-search-map .nav dl dd ul li:last-of-type{
    margin: 0 0 10px;
  }
  .ref-search-map .nav dl dd ul li a:hover{
    text-decoration: underline;
  }
	.ref-search-about{
    padding: 60px 0 80px;
    background: #ebf5fa;
	}
  .ref-search-about-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
  }
  .ref-search-about ul{
    letter-spacing: -.4em;
  }
  .ref-search-about ul li{
    display: inline-block;
    letter-spacing: normal;
    width: 32%;
    margin: 0 2% 0 0;
  }
  .ref-search-about ul li:last-of-type{
    margin: 0;
  }
  .ref-search-about ul li a{
    display: block;
    text-align: center;
    padding: 30px 20px;
    border-radius: 10px;
    background: #fff;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.4;
     box-shadow: 2px 2px 0px 0px rgba(0,0,0,0.1);
 }
  .ref-search-about ul li i{
    display: block;
    width: 60px;
    height: 60px;
    line-height: 60px;
    text-align: center;
    border-radius: 50%;
    font-size: 3.0rem;
    color: #fff;
    background: #3da1cd;
    margin: 0 auto 15px;
  }
  .ref-search-about ul li a:hover{
    opacity: 0.75;
  }
}
@media only screen and (max-width:767.98px) {
	.ref-search-map{
    padding: 30px 0 40px;
	}
  .ref-search-map-in{
  }
  .ref-search-map h2{
    width: 90%;
    font-size: 1.6rem;
    line-height: 1.6;
    margin: 0 auto 20px;
  }
  .ref-search-map .wrap{
    margin: 0 0 20px;
  }
  .ref-search-map .map{
  }
  .ref-search-map .nav{
    width: 90%;
    margin: auto;
    padding: 20px 0 0;
  }
  .ref-search-map .nav h3{
    font-size: 1.8rem;
    color: #0d90ca;
    margin: 0 0 25px;
  }
  .ref-search-map .nav dl{
    overflow: hidden;
    border-bottom: 1px dotted #3da1cd;
    margin: 0 0 10px;
  }
  .ref-search-map .nav dl:last-of-type{
    border-bottom: none;
    margin: 0;
  }
  .ref-search-map .nav dl dt{
    width: 30%;
    float: left;
    font-weight: 700;
    color: #0d90ca;
  }
  .ref-search-map .nav dl dd{
    width: 70%;
    float: right;
  }
  .ref-search-map .nav dl dd ul{
    letter-spacing: -.4em;
  }
  .ref-search-map .nav dl dd ul li{
    display: inline-block;
    letter-spacing: normal;
    margin: 0 10px 10px 0;
  }
  .ref-search-map .nav dl dd ul li a:hover{
    text-decoration: underline;
  }
  .ref-search-map .morebtn{
    width: 90%;
    margin: auto;
  }
	.ref-search-about{
    padding: 30px 0 40px;
    background: #ebf5fa;
	}
  .ref-search-about-in{
    width: 90%;
    margin: auto;
  }
  .ref-search-about ul{
  }
  .ref-search-about ul li{
    margin: 0 0 20px;
  }
  .ref-search-about ul li:last-of-type{
    margin: 0;
  }
  .ref-search-about ul li a{
    display: block;
    text-align: center;
    padding: 20px 15px;
    border-radius: 10px;
    background: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.4;
     box-shadow: 2px 2px 0px 0px rgba(0,0,0,0.1);
  }
  .ref-search-about ul li i{
    display: block;
    width: 50px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    border-radius: 50%;
    font-size: 2.4rem;
    color: #fff;
    background: #3da1cd;
    margin: 0 auto 10px;
  }
  .ref-search-about ul li a.hover{
    opacity: 0.75;
  }
}

/* ------------------------------------------------------------------
ref-search
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.ref-search{
    padding: 60px 0 80px;
	}
	.ref-search-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
	}
  .ttl-cat{
    margin: 0 0 40px;
  }
  .ttl-cat h2{
    font-size: 3.0rem;
		line-height: 1.2;
	}
	.ttl-cat .option{
		position: relative;
		margin: 0 0 0 5px;
		padding: 0 0 0 4.8em;
	}
	.ttl-cat .option p.label{
		position: absolute;
		top: 17px;
		left: 0;
    font-weight: 700;
	}
	.ttl-cat .option ul.tag{
		position: relative;
		letter-spacing: -.4em;
	}
	.ttl-cat .option ul.tag li{
		display: inline-block;
		letter-spacing: normal;
		margin: 10px 10px 0 0;
    background: #3da1cd;
    color: #fff;
    font-weight: 700;
		border-radius: 5px;
		padding: 5px 15px;
	}
	.ref-search .pagenation{
		margin: 0 0 40px;
		padding: 0 0 10px;
		border-bottom: 1px solid #3da1cd;
    font-weight: 700;
	}
	.ref-search .pagenation span{
		font-size: 3.0rem;
		color: #0d90ca;
		margin: 0 0.1em 0 0;
    font-weight: 700;
	}
  .ref-search .list{
    margin: 0 0 40px;
  }
  .ref-search .item{
    margin: 0 0 40px;
  }
  .ref-search .item:last-of-type{
    margin: 0;
  }
  .ref-search .ttl{
    position: relative;
    z-index: 2;
  }
  .ref-search .ttl .ttl-wrap{
    display: table-cell;
    vertical-align: middle;
    width: 1160px;
    height: 64px;
    padding: 0 0 0 20px;
    background: #3da1cd;
    border-top-left-radius: 10px;
  }
  .ref-search .ttl p{
    color: #fff;
    line-height: 1.4;
  }
  .ref-search .ttl p.name{
    font-size: 2.4rem;
    font-weight: 700;
  }
  .ref-search .ttl p.hurigana{
    font-size: 1.4rem;
    font-weight: 400;
  }
  .ref-search .ttl .icon{
    position: absolute;
    top: 0;
    right: 0;
    width: 220px;
    height: 64px;
    background: #eb6100;
  }
  .ref-search .ttl .icon p{
    position: absolute;
    top: 50%;
    left: 70px;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.4;
    color: #fff;
    text-align: center;
  }
  .ref-search .ttl .icon i{
    position: absolute;
    top: -5px;
    left: 5px;
  }
  .ref-search .wrap{
    position: relative;
    background: #ebf5fa;
    padding: 20px 20px 80px 20px;
  }
  .ref-search .pic{
    width: 200px;
    height: 150px;
    float: left;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 100% auto;
    background-color: #fff;
    background-image: url("../images/common/noimg_simple_480360.png");
  }
  .ref-search .txt{
    margin: 0 0 0 220px;
  }
  .ref-search .txt ul{
  }
  .ref-search .txt li{
    position: relative;
    padding: 10px 0 10px 140px;
    border-bottom: 1px dotted #3da1cd;
  }
  .ref-search .txt li span.sub{
    position: absolute;
    top: 10px;
    left: 0;
    display: block;
    width: 130px;
    height: 26px;
    line-height: 28px;
    border-radius: 15px;
    text-align: center;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 700;
    background: #3da1cd;
  }
  .ref-search .txt li p{
    line-height: 1.8;
  }
  .ref-search .txt li.tel p{
    line-height: 26px;
  }
  .ref-search .txt li.tel .tel-link,
  .ref-search .txt li.tel .tel-link a{
    font-size: 3.0rem;
    font-weight: 700;
    color: #eb6100;
  }
  .ref-search .txt li.tel .tel-link:before{
    content: "TEL.";
    font-size: 1.8rem;
    color: #222;
  }
  .ref-search .txt li.tel .fax{
    font-size: 1.8rem;
    margin: 0 0 0 10px;
  }
  .ref-search .txt li.tel .fax:before{
    content: "FAX.";
  }
  .ref-search .link{
    position: absolute;
    bottom: 20px;
    right: 20px;
    width: 240px;
    height: 40px;
    line-height: 40px;
    border-radius: 20px;
    border: 1px solid #3da1cd;
    background: #fff;
    text-align: center;
    font-weight: 700;
    padding: 0 15px 0 0;
    box-sizing: border-box;
  }
  .ref-search .link a{
    display: block;
  }
  .ref-search .link a:hover{
    opacity: 0.75;
  }
  .ref-search .link i{
    position: absolute;
    top: 50%;
    right: 15px;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
  }
  .ref-search .ref-btn{
    position: absolute;
    bottom: 20px;
    left: 20px;
    width: 200px;
    height: 40px;
    line-height: 40px;
    border-radius: 20px;
    border: 1px solid #eb6100;
    background: #fff;
    text-align: center;
    font-weight: 700;
    padding: 0 15px 0 0;
    box-sizing: border-box;
    transition: all 0.3s ease;
    cursor: pointer;
  }
  .ref-search .ref-btn:hover{
    opacity: 0.75;
  }
  .ref-search .ref-btn i{
    position: absolute;
    top: 50%;
    right: 15px;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
  }
  .ref-content{
    display: none;
    position: relative;
    border: 2px solid #3da1cd;
    border-radius: 10px;
    padding: 30px;
    box-sizing: border-box;
    margin: 20px 20px 0;
  }
  .ref-content:before {
    content: "";
    position: absolute;
    top: -24px;
    left: 100px;
    margin-left: -15px;
    border: 12px solid transparent;
    border-bottom: 12px solid #FFF;
    z-index: 2;
  }
  .ref-content:after {
    content: "";
    position: absolute;
    top: -30px;
    left: 100px;
    margin-left: -17px;
    border: 14px solid transparent;
    border-bottom: 14px solid #3da1cd;
    z-index: 1;
  }
  .ref-content ul li{
    width: 49%;
    float: left;
  }
  .ref-content ul li:nth-of-type(2n){
    float: right;
  }
  .ref-content ul li.l{
    clear: both;
    width: 100%;
    float: none;
  }
  .ref-content li{
    position: relative;
    padding: 10px 0 10px 140px;
    border-bottom: 1px dotted #3da1cd;
    box-sizing: border-box;
  }
  .ref-content li span.sub{
    position: absolute;
    top: 10px;
    left: 0;
    display: block;
    width: 130px;
    height: 26px;
    line-height: 28px;
    border-radius: 15px;
    text-align: center;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 700;
    background: #3da1cd;
  }
  .ref-content li p{
    line-height: 1.8;
  }
  .ref-content li span.s{
    font-size: 1.2rem;
  }
}
@media only screen and (max-width:767.98px) {
	.ref-search{
    padding: 30px 0 40px;
	}
	.ref-search-in{
		width: 90%;
		margin: 0 auto;
	}
  .ttl-cat{
    margin: 0 0 20px;
  }
  .ttl-cat h2{
    font-size: 2.0rem;
		letter-spacing: 0.05em;
		line-height: 1.2;
    margin: 0 0 5px;
	}
	.ttl-cat .option{
		position: relative;
		margin: 0 0 0 5px;
		padding: 0 0 0 4.5em;
	}
	.ttl-cat .option p.label{
		position: absolute;
		top: 9px;
		left: 0;
    font-weight: 700;
	}
	.ttl-cat .option ul.tag{
		position: relative;
		letter-spacing: -.4em;
	}
	.ttl-cat .option ul.tag li{
		display: inline-block;
		letter-spacing: normal;
		margin: 5px 5px 0 0;
    background: #3da1cd;
    color: #fff;
		font-size: 1.2rem;
    font-weight: 700;
		border-radius: 5px;
		padding: 0.3em 0.8em;
	}
	.ref-search .pagenation{
		margin: 0 0 20px;
		padding: 0 0 10px;
		border-bottom: 1px solid #3da1cd;
    font-weight: 700;
	}
	.ref-search .pagenation span{
		font-size: 2.4rem;
		color: #0d90ca;
		margin: 0 0.1em 0 0;
	}
  .ref-search .list{
    margin: 0 0 40px;
  }
  .ref-search .item{
    margin: 0 0 40px;
  }
  .ref-search .item:last-of-type{
    margin: 0;
  }
  .ref-search .ttl{
  }
  .ref-search .ttl .ttl-wrap{
    display: block;
    padding: 12px 0 0 0;
    background: #3da1cd;
    border-top-left-radius: 10px;
  }
  .ref-search .ttl p{
    line-height: 1.4;
    color: #fff;
  }
  .ref-search .ttl p.name{
    font-size: 1.6rem;
    font-weight: 700;
    padding: 0 0 0 12px;
  }
  .ref-search .ttl p.hurigana{
    font-size: 1.0rem;
    font-weight: 700;
    padding: 0 0 0 12px;
  }
  .ref-search .ttl p.name span{
    font-size: 1.0rem;
    font-weight: 400;
  }
  .ref-search .ttl .icon{
    position: relative;
    background: #eb6100;
    padding: 7px 15px;
    margin: 5px 0 0;
  }
  .ref-search .ttl .icon p{
    font-size: 1.2rem;
    font-weight: 700;
    color: #fff;
  }
  .ref-search .ttl .icon i{
    position: absolute;
    bottom: 5px;
    right: 10px;
    width: 32px;
  }
  .ref-search .wrap{
    position: relative;
    background: #ebf5fa;
    padding: 15px;
  }
  .ref-search .pic{
    width: 200px;
    height: 150px;
    margin: 0 auto 10px;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 100% auto;
    background-color: #fff;
    background-image: url("../images/common/noimg_simple_480360.png");
  }
  .ref-search .txt{
  }
  .ref-search .txt ul{
  }
  .ref-search .txt li{
    padding: 10px 0;
    border-bottom: 1px dotted #3da1cd;
  }
  .ref-search .txt li span.sub{
    display: block;
    width: 90px;
    height: 20px;
    line-height: 22px;
    border-radius: 10px;
    text-align: center;
    color: #fff;
    font-size: 1.0rem;
    background: #3da1cd;
    margin: 0 0 5px;
  }
  .ref-search .txt li p{
    line-height: 1.8;
  }
  .ref-search .txt li.tel p{
    line-height: 26px;
  }
  .ref-search .txt li.tel .tel-link{
    display: block;
  }
  .ref-search .txt li.tel .tel-link a{
    font-size: 2.8rem;
    font-weight: 700;
    color: #eb6100;
  }
  .ref-search .txt li.tel .tel-link:before{
    content: "TEL.";
    font-size: 1.4rem;
    color: #222;
  }
  .ref-search .txt li.tel .fax{
     display: block;
    font-size: 1.4rem;
  }
  .ref-search .txt li.tel .fax:before{
    content: "FAX.";
  }
  .ref-search .link{
    position: relative;
    margin: 20px 0 0;
    height: 40px;
    line-height: 40px;
    border-radius: 20px;
    border: 1px solid #3da1cd;
    background: #fff;
    text-align: center;
    font-weight: 700;
    padding: 0 15px 0 0;
    box-sizing: border-box;
  }
  .ref-search .link a{
    display: block;
  }
  .ref-search .link a:hover{
    opacity: 0.75;
  }
  .ref-search .link i{
    position: absolute;
    top: 50%;
    right: 15px;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
  }
  .ref-search .ref-btn{
    position: relative;
    margin: 10px 0 0;
    height: 40px;
    line-height: 40px;
    border-radius: 20px;
    border: 1px solid #eb6100;
    background: #fff;
    text-align: center;
    font-weight: 700;
    padding: 0 15px 0 0;
    box-sizing: border-box;
    transition: all 0.3s ease;
    cursor: pointer;
  }
  .ref-search .ref-btn:hover{
    opacity: 0.75;
  }
  .ref-search .ref-btn i{
    position: absolute;
    top: 50%;
    right: 15px;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
  }
  .ref-content{
    display: none;
    position: relative;
    border: 2px solid #3da1cd;
    border-radius: 10px;
    padding: 15px;
    box-sizing: border-box;
    margin: 20px 0 0;
  }
  .ref-content:before {
    content: "";
    position: absolute;
    top: -24px;
    left: 50%;
    margin-left: -15px;
    border: 12px solid transparent;
    border-bottom: 12px solid #FFF;
    z-index: 2;
  }
  .ref-content:after {
    content: "";
    position: absolute;
    top: -30px;
    left: 50%;
    margin-left: -17px;
    border: 14px solid transparent;
    border-bottom: 14px solid #3da1cd;
    z-index: 1;
  }
  .ref-content ul{
  }
  .ref-content li{
    padding: 10px 0;
    border-bottom: 1px dotted #3da1cd;
  }
  .ref-content li span.sub{
    display: block;
    width: 90px;
    height: 20px;
    line-height: 22px;
    border-radius: 10px;
    text-align: center;
    color: #fff;
    font-size: 1.0rem;
    background: #3da1cd;
    margin: 0 0 5px;
  }
  .ref-content li p{
    line-height: 1.8;
  }
}

/* ------------------------------------------------------------------
research-form
------------------------------------------------------------------ */
@media only screen and (min-width:980px) {
  .research-form{
		margin: 0 0 40px;
		background: #fff;
		border: 4px solid #3da1cd;
		border-radius: 10px;
		box-sizing: border-box;
  }
	.research-form .research-ttl{
		position: relative;
		text-align: center;
		font-size: 2.4rem;
		font-weight: 600;
		cursor: pointer;
		padding: 15px;
    transition: all 0.3s ease;
	}
  .research-form .research-ttl:hover{
		color: #0d90ca;
  }
  .research-form .research-ttl:after{
		display: inline-block;
		vertical-align: middle;
    content: "\f0d7";
    font-family: "Font Awesome 5 Free";
		font-size: 3.0rem;
		font-weight: 900;
    margin: -3px 0 0 10px;
  }
	.research-form .research-ttl.active{
		padding-top: 30px;
	}
  .research-form .ttl.active:after{
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }
	.research-form .research-ttl i{
		margin: 0 10px 0 0;
	}
	.research-form .content{
		display: none;
		padding: 10px 30px 30px;
	}
	.research-form dl{
		display: table;
		width: 100%;
		padding: 30px 0;
		border-top: 1px solid #3da1cd;
		box-sizing: border-box;
		line-height: 1.8;
	}
	.research-form dl dt{
		display: table-cell;
		vertical-align: top;
		width: 15%;
	}
	.research-form dl dd{
		display: table-cell;
		vertical-align: top;
		width: 85%;
	}
	.research-form dl dd ul{
		overflow: hidden;
	}
	.research-form dl dd li{
		float: left;
		padding: 0 20px 0 0;
		box-sizing: border-box;
	}
	.research-form dl:nth-of-type(1) dd li{
		min-width: 12.5%;
		margin: 0 0 10px 0;
	}
	.research-form dl dd li label{
		display: block;
		cursor: pointer;
	}
  .research-form input{
		display: inline-block;
		vertical-align: middle;
		margin: -8px 5px 0 0;
    font-size: 1.8rem;
    background: #FFF;
    border: none;
    border: 1px solid #DDD;
    padding: 8px;
    border-radius: 5px;
    box-sizing: border-box;
  }
	.search-btn{
	}
	.search-btn button {
		position: relative;
		display: block;
		background: #3da1cd;
		font-size: 2.4rem;
		font-weight: 600;
		color: #fff;
		padding: 10px 130px 12px 120px;
		margin: auto;
		box-sizing: border-box;
		transition: all 0.3s ease;
		cursor: pointer;
		border-radius: 50px;
		outline: none;
	}
  .search-btn button i{
		content: "";
		position: absolute;
		top: 50%;
		right: 20px;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
  }
	.search-btn button:hover{
		background: #222;
	}
}
@media only screen and (max-width:979px) {
  .research-form{
		margin: 0 0 30px;
		background: #fff;
		border: 4px solid #3da1cd;
		border-radius: 10px;
		box-sizing: border-box;
  }
	.research-form .research-ttl{
		position: relative;
		text-align: center;
		font-size: 1.8rem;
		font-weight: 600;
		cursor: pointer;
		padding: 12px 10px 10px;
    transition: all 0.3s ease;
	}
  .research-form .research-ttl:hover{
		color: #0d90ca;
  }
  .research-form .research-ttl:after{
		display: inline-block;
		vertical-align: middle;
    content: "\f0d7";
    font-family: "Font Awesome 5 Free";
		font-size: 3.0rem;
		font-weight: 900;
		font-style: normal;
    margin: -3px 0 0 10px;
  }
	.research-form .research-ttl:hover:after{
		border-top-color: #3da1cd;
	}
	.research-form .research-ttl.active{
		padding-top: 20px;
	}
  .research-form .research-ttl.active:after{
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }
	.research-form .research-ttl i{
		margin: 0 10px 0 0;
	}
	.research-form .content{
		display: none;
		padding: 5px 20px 20px;
	}
	.research-form dl{
		display: table;
		width: 100%;
		padding: 15px 0;
		border-top: 1px solid #3da1cd;
		box-sizing: border-box;
		line-height: 1.6;
	}
	.research-form dl dt{
		font-size: 1.2rem;
		color: #999;
		margin: 0 0 10px;
	}
	.research-form dl dd{
	}
	.research-form dl dd ul{
		overflow: hidden;
	}
	.research-form dl dd li{
		min-width: 25%;
		float: left;
		padding: 0 10px 0 0;
		margin: 0 0 10px 0;
		box-sizing: border-box;
	}
	.research-form dl dd li label{
		display: block;
		cursor: pointer;
	}
  .research-form input{
		display: inline-block;
		vertical-align: middle;
		margin: -4px 5px 0 0;
    font-size: 1.4rem;
    background: #FFF;
    border: none;
    border: 1px solid #DDD;
    padding: 8px;
    border-radius: 5px;
    box-sizing: border-box;
  }
	.search-btn{
	}
	.search-btn button {
		position: relative;
		display: block;
		width: 100%;
		background: #3da1cd;
		font-size: 1.8rem;
		font-weight: 600;
		color: #fff;
		padding: 10px 10px 12px 10px;
		margin: auto;
		box-sizing: border-box;
		transition: all 0.3s ease;
		cursor: pointer;
		border-radius: 50px;
		outline: none;
	}
  .search-btn button i{
		content: "";
		position: absolute;
		top: 50%;
		right: 15px;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
  }
	.search-btn button:hover{
		background: #222;
	}
}

/* ------------------------------------------------------------------
contest-top
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.contest-top{
    padding: 60px 0 80px;
	}
	.contest-top-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
	}
	.contest-top-in p.bnr{
    text-align: center;
		margin-bottom:1rem;
	}
  .contest-top .lead{
    line-height: 1.8;
    margin: 20px 0 40px;
  }
  .yearnav{
    display: flex;
    align-items: flex-start;
    letter-spacing: -.4em;
  }
  .yearnav{
    margin: 0 0 60px;
  }
  .yearnav dl{
    display: inline-block;
    letter-spacing: normal;
    width: 32%;
    margin: 0 2% 0 0;
    padding: 30px;
    box-sizing: border-box;
    border-radius: 10px;
  }
  .yearnav dl:last-of-type{
    margin: 0;
  }
  .yearnav dl dt{
    margin: 0 0 15px;
  }
  .yearnav dl dt .en{
    font-size: 4.8rem;
    font-weight: 400;
  }
  .yearnav dl dt a{
    display: block;
    background: #fff;
    padding: 30px 30px 15px;
    border-radius: 5px;
    text-align: center;
    font-weight: 700;
    line-height: 1.4;
    border: 4px solid transparent;
    box-sizing: border-box;
  }
  .yearnav dl dt a:after {
		display: block;
    content: "";
    width: 0px;
    margin: 15px auto 0;
    border: 15px solid transparent;
    border-top: 15px solid #3da1cd;
    transition: all 0.3s ease;
  }
  .yearnav li{
    margin: 0 0 15px;
  }
  .yearnav li:last-of-type{
    margin: 0;
  }
  .yearnav li a{
    position: relative;
    display: flex;
    align-items: center;
    background: #222;
    color: #fff;
    font-weight: 700;
    padding: 15px;
    border-radius: 5px;
    min-height: 50px;
    line-height: 1.4;
    font-size: 1.4rem;
    box-sizing: border-box;
  }
  .yearnav li a:hover{
    opacity: 0.75;
  }
  .yearnav li a.-sm {
    font-size: 12px;
  }
  .yearnav li i{
    position: absolute;
    top: 50%;
    right: 15px;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
  }
  .contest-top .archvebtn{
    text-align: right;
    letter-spacing: -.4em;
    margin: 0 0 30px;
  }
  .contest-top .archvebtn a{
    position: relative;
    display: inline-block;
    letter-spacing: normal;
    width: 32%;
    border: 2px solid #3da1cd;
    border-radius: 10px;
    padding: 15px 20px 15px 10px;
    box-sizing: border-box;
    text-align: center;
    font-weight: 700;
  }
  .contest-top .archvebtn a:hover{
    opacity: 0.75;
  }
  .contest-top .archvebtn a i{
    position: absolute;
    top: 50%;
    right: 15px;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
  }
  .winner-list{
    margin: 0 0 60px;
  }
  .winner-list:last-child{
    margin: 0;
  }
  .winner-list .ttl{
    position: relative;
    padding: 0 0 0 50px;
    margin: 0 0 30px;
  }
  .winner-list .ttl i{
    position: absolute;
    top: 6px;
    left: 0;
    width: 36px;
    height: 36px;
    line-height: 36px;
    text-align: center;
    border-radius: 18px;
    background: #3da1cd;
  }
  .winner-list .ttl i img{
    width: 22px;
    height: auto;
    vertical-align: middle;
  }
  .winner-list .ttl .en{
    font-size: 4.0rem;
    margin: 0 0 10px;
  }
  .winner-list .article{
    margin: 0 0 60px;
  }
  .winner-list .article:last-of-type{
    margin: 0;
  }
  .winner-list .article h3{
    background: #3da1cd;
    color: #fff;
    font-size: 2.0rem;
    font-weight: 700;
    border-radius: 5px;
    padding: 10px 15px;
    margin: 0 0 20px;
  }
  .winner-list .section{
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 30px;
    margin: 0 0 30px;
    box-sizing: border-box;
  }
  .winner-list .section.dep{
    padding-bottom: 15px;
  }
  .winner-list .section:last-of-type{
    margin: 0;
  }
  .winner-list .section h4{
    font-size: 2.0rem;
    font-weight: 700;
    margin: 0 0 20px;
  }
  .winner-list .section h4 i{
    display: inline-block;
    vertical-align: middle;
    margin: -6px 10px 0 0;
    width: 30px;
  }
  .winner-list .section .itemlist{
    overflow: hidden;
  }
  .winner-list .section .itemlist li{
    width: 48.5%;
    float: left;
    margin: 0 0 15px;
  }
  .winner-list .section .itemlist li:nth-of-type(2n){
    float: right;
  }
  .winner-list .section .itemlist li a{
    display: table;
    width: 100%;
    background: #d9ecf5;
    border-radius: 5px;
    overflow: hidden;
  }
  .winner-list .section .itemlist li a:hover{
    opacity: 0.75;
  }
  .winner-list .section .itemlist li .sub{
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    width: 150px;
    height: 40px;
    background: #3da1cd;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 700;
  }
  .winner-list .section .itemlist li p{
    display: table-cell;
    vertical-align: middle;
    text-align: left;
    font-weight: 700;
    height: 40px;
    padding: 0 15px;
  }
  .winner-list .section .item{
    position: relative;
    background: #ebf5fa;
    border-radius: 5px;
    margin: 0 0 20px;
    overflow: hidden;
  }
  .winner-list .section .item:last-of-type{
    margin: 0;
  }
  .winner-list .section .item a{
    display: flex;
    align-items: flex-start;
    line-height: 1.4;
  }
  .winner-list .section .item a:hover{
    opacity: 0.75;
  }
  .winner-list .section .item .name{
    background: #d9ecf5;
    padding: 20px 200px 20px 20px;
    font-size: 1.8rem;
    font-weight: 700;
  }
  .winner-list .section .item .type{
    display: inline-block;
    vertical-align: middle;
    background: #fff;
    width: 90px;
    min-width: 90px;
    margin: -2px 15px 0 0;
    padding: 6px 4px 4px;
    font-size: 1.3rem;
    font-weight: 700;
    text-align: center;
    border-radius: 5px;
  }
  .winner-list .section .pic{
    position: relative;
    width: 25%;
    float: right;
    height: 180px;
  }
  .winner-list .section .pic a{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: contain;
  }
  .winner-list .section .pic a:hover{
    opacity: 0.75;
  }
  .winner-list .section .txt{
    width: 75%;
    float: left;
    padding: 20px;
    box-sizing: border-box;
  }
  .winner-list .section .txt .type{
    background: #3da1cd;
    color: #fff;
  }
  .winner-list .section .txt .theme{
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 20px;
  }
  .winner-list .section .txt .desc{
    line-height: 1.8;
  }
  .winner-list .section .txt ul{
  }
  .winner-list .section .txt li{
    position: relative;
    padding: 0 0 0 100px;
    margin: 0 0 10px;
  }
  .winner-list .section .txt li span{
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 90px;
    height: 26px;
    line-height: 28px;
    border-radius: 5px;
    text-align: center;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 700;
    background: #222;
  }
  .winner-list .section .txt li p{
    line-height: 1.8;
  }
  .winner-list .section .txt li p a{
    text-decoration: underline;
  }
  .winner-list .section .txt li p a:hover{
    text-decoration: none;
  }
  .winner-list .section .btn{
    position: absolute;
    top: 14px;
    right: 15px;
  }
  .winner-list .section .btn a{
    position: relative;
    display: block;
    width: 160px;
    height: 36px;
    line-height: 36px;
    border-radius: 18px;
    font-weight: 700;
    background: #fff;
    text-align: center;
    padding: 0 10px 0 0;
  }
  .winner-list .section .btn i{
    position: absolute;
    top: 50%;
    right: 10px;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
  }
  .winner-list .sectionlink{
    overflow: hidden;
    margin: 0 0 40px;
    padding: 0 0 20px;
    border-bottom: 1px dotted #3da1cd;
  }
  .winner-list .sectionlink li{
    width: 48.5%;
    float: left;
    margin: 0 0 20px;
  }
  .winner-list .sectionlink li:nth-of-type(2n){
    float: right;
  }
  .winner-list .sectionlink li a{
    position: relative;
    display: block;
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 20px 30px;
    box-sizing: border-box;
    font-size: 2.0rem;
    font-weight: 700;
  }
  .winner-list .sectionlink li a:hover{
    opacity: 0.75;
  }
  .winner-list .sectionlink li i.icon{
    display: inline-block;
    vertical-align: middle;
    margin: -6px 10px 0 0;
    width: 30px;
  }
  .winner-list .sectionlink li i.arr{
		position: absolute;
		top: 50%;
		right: 20px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    color: #0d90ca;
  }
  .winner-list .sectionlink.dep{
    margin: 0;
    padding: 0;
    border: none;
  }
  .winner-list .sectionlink.dep li a{
    border: none;
    background: #3da1cd;
    color: #fff;
  }
  .winner-list .sectionlink.dep li{
    margin-bottom: 0;
  }
}
@media only screen and (max-width:767.98px) {
	.contest-top{
    padding: 30px 0 40px;
	}
	.contest-top-in{
		width: 90%;
		margin: 0 auto;
	}
  .contest-top .lead{
    line-height: 1.8;
    margin: 15px 0 40px;
  }
  .yearnav{
  }
  .yearnav{
    margin: 0 0 40px;
  }
  .yearnav dl{
    margin: 0 0 20px;
    padding: 15px;
    box-sizing: border-box;
    border-radius: 10px;
  }
  .yearnav dl:last-of-type{
    margin: 0;
  }
  .yearnav dl dt{
    margin: 0 0 10px;
  }
  .yearnav dl dt .en{
    font-size: 4.0rem;
    font-weight: 400;
  }
  .yearnav dl dt a{
    display: block;
    background: #fff;
    padding: 15px 15px 5px;
    border-radius: 5px;
    text-align: center;
    font-weight: 700;
    line-height: 1.4;
    border: 4px solid transparent;
    box-sizing: border-box;
  }
  .yearnav dl dt a:after {
		display: block;
    content: "";
    width: 0px;
    margin: 15px auto 0;
    border: 15px solid transparent;
    border-top: 15px solid #3da1cd;
    transition: all 0.3s ease;
  }
  .yearnav li{
    margin: 0 0 10px;
  }
  .yearnav li:last-of-type{
    margin: 0;
  }
  .yearnav li a{
    position: relative;
    display: flex;
    align-items: center;
    background: #222;
    color: #fff;
    font-weight: 700;
    padding: 15px;
    border-radius: 5px;
    min-height: 44px;
    box-sizing: border-box;
  }
  .yearnav li a.hover{
    opacity: 0.75;
  }
  .yearnav li a.-sm {
    font-size: 13px;
  }
  .yearnav li i{
    position: absolute;
    top: 50%;
    right: 15px;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
  }
  .contest-top .archvebtn{
    margin: 0 0 40px;
  }
  .contest-top .archvebtn a{
    display: block;
    position: relative;
    letter-spacing: normal;
    border: 2px solid #3da1cd;
    border-radius: 10px;
    padding: 15px 20px 15px 10px;
    box-sizing: border-box;
    text-align: center;
    font-weight: 700;
  }
  .contest-top .archvebtn a.hover{
    opacity: 0.75;
  }
  .contest-top .archvebtn a i{
    position: absolute;
    top: 50%;
    right: 15px;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
  }
  .winner-list{
    margin: 0 0 40px;
  }
  .winner-list:last-child{
    margin: 0;
  }
  .winner-list .ttl{
    position: relative;
    padding: 0 0 0 34px;
    margin: 0 0 20px;
  }
  .winner-list .ttl i{
    position: absolute;
    top: 2px;
    left: 0;
    width: 24px;
    height: 24px;
    line-height: 24px;
    text-align: center;
    border-radius: 12px;
    background: #3da1cd;
  }
  .winner-list .ttl i img{
    width: 16px;
    height: auto;
    vertical-align: middle;
  }
  .winner-list .ttl .en{
    font-size: 2.4rem;
    margin: 0 0 10px;
  }
  .winner-list .ttl h2{
    font-size: 1.4rem;
    line-height: 1.4;
  }
  .winner-list .article{
    margin: 0 0 30px;
  }
  .winner-list .article:last-of-type{
    margin: 0;
  }
  .winner-list .article h3{
    background: #3da1cd;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    border-radius: 5px;
    padding: 10px 15px;
    margin: 0 0 10px;
  }
  .winner-list .section{
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 15px;
    margin: 0 0 20px;
    box-sizing: border-box;
  }
  .winner-list .section:last-of-type{
    margin: 0;
  }
  .winner-list .section h4{
    position: relative;
    font-size: 1.6rem;
    font-weight: 700;
    margin: 0 0 10px;
    padding: 0 0 0 30px;
    line-height: 1.4;
  }
  .winner-list .section h4 i{
    position: absolute;
    top: -3px;
    left: 0;
    width: 24px;
  }
  .winner-list .section .itemlist{
    overflow: hidden;
  }
  .winner-list .section .itemlist li{
    margin: 0 0 15px;
  }
  .winner-list .section .itemlist li:last-of-type{
    margin: 0;
  }
  .winner-list .section .itemlist li a{
    display: block;
    padding: 10px;
    background: #d9ecf5;
    border-radius: 5px;
  }
  .winner-list .section .itemlist li a.hover{
    opacity: 0.75;
  }
  .winner-list .section .itemlist li .sub{
    display: block;
    vertical-align: middle;
    background: #3da1cd;
    color: #fff;
    width: 90px;
    margin: 0 0 5px;
    padding: 3px 0;
    font-size: 1.2rem;
    font-weight: 700;
    text-align: center;
    border-radius: 5px;
  }
  .winner-list .section .itemlist li p{
    font-size: 1.4rem;
    line-height: 1.4;
    font-weight: 700;
  }
  .winner-list .section .item{
    background: #ebf5fa;
    border-radius: 5px;
    margin: 0 0 20px;
    overflow: hidden;
  }
  .winner-list .section .item:last-of-type{
    margin: 0;
  }
  .winner-list .section .item a{
    display: block;
  }
  .winner-list .section .item a.hover{
    opacity: 0.75;
  }
  .winner-list .section .item .name{
    background: #d9ecf5;
    padding: 12px 15px 8px;
    font-size: 1.6rem;
    line-height: 1.4;
    font-weight: 700;
  }
  .winner-list .section .item .type{
    display: block;
    vertical-align: middle;
    background: #fff;
    width: 90px;
    margin: 0 0 5px;
    padding: 3px 0;
    font-size: 1.2rem;
    text-align: center;
    border-radius: 5px;
  }
  .winner-list .section .wrap{
    padding: 15px;
  }
  .winner-list .section .pic{
    position: relative;
    text-align: center;
    margin: 0 0 20px;
    height: 200px;
  }
  .winner-list .section .pic a{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: contain;
  }
  .winner-list .section .pic a.hover{
    opacity: 0.75;
  }
  .winner-list .section .txt{
  }
  .winner-list .section .txt .type{
    background: #3da1cd;
    color: #fff;
  }
  .winner-list .section .txt .theme{
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 10px;
  }
  .winner-list .section .txt .desc{
    font-size: 1.2rem;
    line-height: 1.8;
  }
  .winner-list .section .txt ul{
    margin: 0 0 10px;
  }
  .winner-list .section .txt li{
    margin: 0 0 10px;
  }
  .winner-list .section .txt li span{
    display: block;
    width: 60px;
    height: 20px;
    line-height: 22px;
    border-radius: 5px;
    text-align: center;
    color: #fff;
    font-size: 1.0rem;
    background: #222;
    margin: 0 0 5px;
  }
  .winner-list .section .txt li p{
    line-height: 1.8;
  }
  .winner-list .section .txt li p a{
    text-decoration: underline;
  }
  .winner-list .section .txt li p a.hover{
    text-decoration: none;
  }
  .winner-list .section .btn{
  }
  .winner-list .section .btn a{
    position: relative;
    display: block;
    height: 36px;
    line-height: 36px;
    border-radius: 18px;
    font-weight: 700;
    background: #fff;
    text-align: center;
    padding: 0 10px 0 0;
  }
  .winner-list .section .btn i{
    position: absolute;
    top: 50%;
    right: 10px;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
  }
  .winner-list .sectionlink{
    overflow: hidden;
    margin: 0 0 20px;
    padding: 0 0 20px;
    border-bottom: 1px dotted #3da1cd;
  }
  .winner-list .sectionlink li{
    margin: 0 0 15px;
  }
  .winner-list .sectionlink li:last-of-type{
    margin: 0;
  }
  .winner-list .sectionlink li a{
    position: relative;
    display: block;
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 15px 15px 15px 45px;
    box-sizing: border-box;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.4;
  }
  .winner-list .sectionlink li a.hover{
    opacity: 0.75;
  }
  .winner-list .sectionlink li i.icon{
    position: absolute;
    top: 12px;
    left: 15px;
    width: 24px;
  }
  .winner-list .sectionlink li i.arr{
		position: absolute;
		top: 50%;
		right: 15px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    color: #0d90ca;
  }
  .winner-list .sectionlink.dep{
    margin: 0;
    padding: 0;
    border: none;
  }
  .winner-list .sectionlink.dep li a{
    border: none;
    background: #3da1cd;
    color: #fff;
    padding: 15px;
  }
}

.yearnav dl:nth-of-type(1) dt a:hover{
  border-color: #3da1cd;
}
.yearnav dl:nth-of-type(2) dt a:hover{
  border-color: #25b7aa;
}
.yearnav dl:nth-of-type(3) dt a:hover{
  border-color: #a5c851;
}
.yearnav dl:nth-of-type(1) dt a:after {
  border-top-color: #3da1cd;
}
.yearnav dl:nth-of-type(2) dt a:after {
  border-top-color: #25b7aa;
}
.yearnav dl:nth-of-type(3) dt a:after {
  border-top-color: #a5c851;
}
.yearnav dl:nth-of-type(1) dt .en{
  color: #0d90ca;
}
.yearnav dl:nth-of-type(2) dt .en{
  color: #01b9a9;
}
.yearnav dl:nth-of-type(3) dt .en{
  color: #95bd35;
}
.yearnav dl:nth-of-type(1){
  background: #ebf5fa;
}
.yearnav dl:nth-of-type(2){
  background: #e9f8f6;
}
.yearnav dl:nth-of-type(3){
  background: #f4f8ea;
}
.yearnav dl:nth-of-type(1) li a{
  background-color: #3da1cd;
}
.yearnav dl:nth-of-type(2) li a{
  background-color: #25b7aa;
}
.yearnav dl:nth-of-type(3) li a{
  background-color: #95bd35;
}
.other_contest{
	border: 1px solid #ddd;
  border-radius: 10px;
  padding: 30px;
  margin: 0 0 60px;
  box-sizing: border-box;
}
.other_contest ul{

}
.other_contest ul li{
	padding-bottom: 30px;
  font-weight: 700;
  font-size: 2rem;
	list-style: inside;
}
.other_contest ul li:last-child{
	padding-bottom: 0px;
}
.other_contest ul li a:hover{
  color: #3da1cd;
}
@media only screen and (max-width:767.98px) {
	.other_contest ul li{
		padding-bottom: 20px;
	  font-weight: 700;
	  font-size: 1.5rem;
	}

}
/* ------------------------------------------------------------------
contest-detail
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.contest-detail{
    padding: 60px 0 80px;
	}
	.contest-detail-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
	}
  .contest-detail .ttl{
    position: relative;
    padding: 0 0 0 50px;
    margin: 0 0 40px;
  }
  .contest-detail .ttl i{
    position: absolute;
    top: 6px;
    left: 0;
    width: 36px;
    height: 36px;
    line-height: 36px;
    text-align: center;
    border-radius: 18px;
    background: #3da1cd;
  }
  .contest-detail .ttl i img{
    width: 22px;
    height: auto;
    vertical-align: middle;
  }
  .contest-detail .ttl .en{
    font-size: 4.0rem;
    margin: 0 0 15px;
  }
  .contest-detail .ttl h2{
    font-size: 2.4rem;
  }
  .contest-detail .ttl .icon{
    display: inline-block;
    vertical-align: middle;
    width: 150px;
    height: 24px;
    line-height: 26px;
    font-size: 1.4rem;
    text-align: center;
    border: 1px solid #222;
    border-radius: 5px;
    margin: -2px 10px 0 0;
  }
  .contest-detail .section{
    margin: 0 0 60px;
  }
  .contest-detail .section:last-of-type{
    margin: 0;
  }
  .contest-detail .profile{
    position: relative;
    background: #ebf5fa;
    border-radius: 5px;
    overflow: hidden;
  }
  .contest-detail .profile .name{
    display: flex;
    align-items: flex-start;
    background: #d9ecf5;
    padding: 20px 30px;
    line-height: 1.3;
    font-size: 2.0rem;
    font-weight: 700;
  }
  .contest-detail .profile .name .type{
    display: inline-block;
    vertical-align: middle;
    background: #fff;
    width: 130px;
    min-width: 130px;
    margin: -2px 15px 0 0;
    padding: 5px;
    font-size: 1.2rem;
    text-align: center;
    border-radius: 5px;
  }
  .contest-detail .profile .wrap{
    padding: 30px;
  }
  .contest-detail .profile .pic{
    width: 22%;
    float: left;
  }
  .contest-detail .profile .pic span{
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    width: 240px;
    height: 240px;
    background: #fff;
  }
  .contest-detail .profile .txt{
    width: 76%;
    float: right;
  }
  .contest-detail .profile ul{
    margin: 0 0 36px;
  }
  .contest-detail .profile li{
    position: relative;
    padding: 0 0 0 140px;
    margin: 0 0 10px;
  }
  .contest-detail .profile li:last-of-type{
    margin: 0;
  }
  .contest-detail .profile li span{
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 130px;
    height: 26px;
    line-height: 28px;
    border-radius: 5px;
    text-align: center;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 700;
    background: #222;
  }
  .contest-detail .profile li p{
    line-height: 1.8;
  }
  .contest-detail .profile li p a{
    text-decoration: underline;
  }
  .contest-detail .profile li p a:hover{
    text-decoration: none;
  }
  .contest-detail .profile .contactbar{
    display: table;
    width: 100%;
    border-radius: 5px;
    background: #fff;
    overflow: hidden;
  }
  .contest-detail .profile .contactbar .tel{
    display: table-cell;
    vertical-align: middle;
    width: 75%;
    height: 60px;
    padding: 0 30px;
  }
  .contest-detail .profile .contactbar .tel .label{
    display: inline-block;
    vertical-align: middle;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 64px;
    height: 60px;
  }
  .contest-detail .profile .contactbar .tel .tel-link{
    display: inline-block;
    vertical-align: middle;
    font-size: 4.0rem;
    font-weight: 400;
    color: #0d90ca;
    margin: 0 0 0 10px;
    line-height: 60px;
    height: 60px;
  }
  .contest-detail .profile .contactbar .link{
    display: table-cell;
    vertical-align: middle;
    width: 25%;
  }
  .contest-detail .profile .contactbar .link a{
    position: relative;
    display: block;
    height: 60px;
    line-height: 60px;
    background: #3da1cd;
    font-size: 1.8rem;
    font-weight: 700;
    color: #fff;
    padding: 0 20px;
  }
  .contest-detail .profile .contactbar .link a:hover{
    opacity: 0.75;
  }
  .contest-detail .profile .contactbar .link i{
    position: absolute;
    top: 50%;
    right: 15px;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
  }
  .contest-detail .mainpic{
    text-align: center;
  }
  .contest-detail .description dl{
    position: relative;
    margin: 0 0 20px;
    padding: 0 0 0 50px;
  }
  .contest-detail .description dl:before{
    content: "";
    width: 30px;
    height: 3px;
    background: #3da1cd;
    position: absolute;
    top: 10px;
    left: 0;
  }
  .contest-detail .description dl dt{
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.4;
    color: #0d90ca;
    margin: 0 0 5px;
  }
  .contest-detail .description dl dd{
    line-height: 1.8;
  }
  .contest-detail .summary ul{
    display: table;
    width: 100%;
    border: 1px solid #ddd;
    box-sizing: border-box;
  }
  .contest-detail .summary ul li{
    display: table-cell;
    text-align: center;
    border-right: 1px solid #ddd;
    box-sizing: border-box;
  }
  .contest-detail .summary ul li:last-of-type{
    border: none;
  }
  .contest-detail .summary ul li .label{
    display: block;
    background: #ebf5fa;
    padding: 15px;
    font-weight: 700;
  }
  .contest-detail .summary ul li .value{
    display: block;
    padding: 15px;
  }
  .contest-detail .gallery{
    margin: 0 0 80px;
  }
  .contest-detail .gallery .col{
    margin: 0 0 80px;
  }
  .contest-detail .gallery .col:last-of-type{
    margin: 0;
  }
  .contest-detail .gallery .col:nth-of-type(1) .slick-slide{
    background: #ebf5fa;
    padding: 30px;
  }
  .contest-detail .gallery .col:nth-of-type(2) .slick-slide{
    background: #e9f8f6;
    padding: 30px;
  }
  .contest-detail .layout{
    display: flex;
    flex-wrap:wrap;
  }
  .contest-detail .layout .col{
    position: relative;
    width: 48%;
    box-sizing: border-box;
    padding: 30px;
    text-align: center;
  }
  .contest-detail .layout .col:last-of-type{
    margin-left: 4%;
  }
  .contest-detail .layout .col:nth-of-type(1){
    border: 10px solid #ebf5fa;
  }
  .contest-detail .layout .col:nth-of-type(2){
    border: 10px solid #e9f8f6;
  }
  .contest-detail .layout .col .en{
    position: absolute;
    top: -0.7em;
    right: 40px;
    font-size: 4.0rem;
  }
  .contest-detail .comment p{
    line-height: 1.8;
  }
  .contest-detail .outline .data{
    margin: 0 0 40px;
  }
  .contest-detail .outline .data dl{
    display: table;
    width: 100%;
    border: 1px solid #ddd;
    border-bottom: none;
    box-sizing: border-box;
    line-height: 1.6;
  }
  .contest-detail .outline .data dl:last-of-type{
    border: 1px solid #ddd;
  }
  .contest-detail .outline .data dt{
    display: table-cell;
    vertical-align: top;
    width: 30%;
    padding: 20px;
    background: #ebf5fa;
    font-weight: 700;
  }
  .contest-detail .outline .data dd{
    display: table-cell;
    vertical-align: top;
    width: 70%;
    padding: 20px;
  }
  .contest-detail .outline .data .tel{
    line-height: 26px;
  }
  .contest-detail .outline .data .tel .tel-link,
  .contest-detail .outline .data .tel .tel-link a{
    font-size: 3.0rem;
    color: #0d90ca;
  }
  .contest-detail .outline .data .tel .tel-link:before{
    content: "TEL.";
    font-size: 1.8rem;
    color: #222;
  }
  .contest-detail .outline .data .tel .fax{
    font-size: 1.8rem;
    margin: 0 0 0 10px;
  }
  .contest-detail .outline .data .tel .fax:before{
    content: "FAX.";
  }
  .contest-detail .outline .btn a{
    position: relative;
    display: block;
    width: 420px;
    margin: auto;
    padding: 15px 30px;
    border-radius: 40px;
    line-height: 1.4;
    font-size: 2.4rem;
    font-weight: 700;
    color: #fff;
    background: #3da1cd;
  }
  .contest-detail .outline .btn a .s{
    display: block;
    font-size: 1.4rem;
  }
  .contest-detail .outline .btn a:hover{
    opacity: 0.75;
  }
  .contest-detail .outline .btn i{
    position: absolute;
    top: 50%;
    right: 25px;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
  }
}
@media only screen and (max-width:767.98px) {
	.contest-detail{
    padding: 30px 0 40px;
	}
	.contest-detail-in{
		width: 90%;
		margin: 0 auto;
	}
  .contest-detail .ttl{
    position: relative;
    padding: 0 0 0 34px;
    margin: 0 0 20px;
  }
  .contest-detail .ttl i{
    position: absolute;
    top: 2px;
    left: 0;
    width: 24px;
    height: 24px;
    line-height: 24px;
    text-align: center;
    border-radius: 12px;
    background: #3da1cd;
  }
  .contest-detail .ttl i img{
    width: 16px;
    height: auto;
    vertical-align: middle;
  }
  .contest-detail .ttl .en{
    font-size: 2.4rem;
    margin: 0 0 10px;
  }
  .contest-detail .ttl h2{
    font-size: 1.6rem;
    line-height: 1.4;
  }
  .contest-detail .ttl .icon{
    display: block;
    vertical-align: middle;
    width: 130px;
    height: 20px;
    line-height: 21px;
    font-size: 1.2rem;
    text-align: center;
    border: 1px solid #222;
    border-radius: 5px;
    margin: 0 0 5px;
  }
  .contest-detail .section{
    margin: 0 0 40px;
  }
  .contest-detail .section:last-of-type{
    margin: 0;
  }
  .contest-detail .profile{
    position: relative;
    background: #ebf5fa;
    border-radius: 5px;
    overflow: hidden;
  }
  .contest-detail .profile .name{
    background: #d9ecf5;
    padding: 10px 15px;
    font-size: 1.6rem;
    line-height: 1.4;
    font-weight: 700;
  }
  .contest-detail .profile .name .type{
    display: block;
    vertical-align: middle;
    background: #fff;
    width: 120px;
    margin: 0 0 5px;
    padding: 3px 0;
    font-size: 1.2rem;
    text-align: center;
    border-radius: 5px;
  }
  .contest-detail .profile .wrap{
    padding: 15px;
  }
  .contest-detail .profile .pic{
    width: 180px;
    margin: 0 auto 20px;
  }
  .contest-detail .profile .pic span{
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    width: 180px;
    height: 180px;
    background: #fff;
  }
  .contest-detail .profile .txt{
  }
  .contest-detail .profile ul{
    margin: 0 0 20px;
  }
  .contest-detail .profile li{
    margin: 0 0 10px;
  }
  .contest-detail .profile li:last-of-type{
    margin: 0;
  }
  .contest-detail .profile li span{
    display: block;
    width: 90px;
    height: 20px;
    line-height: 22px;
    border-radius: 5px;
    text-align: center;
    color: #fff;
    font-size: 1.0rem;
    background: #222;
    margin: 0 0 5px;
  }
  .contest-detail .profile li p{
    line-height: 1.8;
  }
  .contest-detail .profile li p a{
    text-decoration: underline;
  }
  .contest-detail .profile li p a.hover{
    text-decoration: none;
  }
  .contest-detail .profile .contactbar{
    border-radius: 5px;
    background: #fff;
  }
  .contest-detail .profile .contactbar .tel{
    padding: 15px;
    font-size: 1.2rem;
    font-weight: 700;
  }
  .contest-detail .profile .contactbar .tel .tel-link a{
    display: block;
    margin: 5px 0 0;
    font-size: 3.2rem;
    font-weight: 400;
    color: #0d90ca;
  }
  .contest-detail .profile .contactbar .link{
  }
  .contest-detail .profile .contactbar .link a{
    position: relative;
    display: block;
    height: 50px;
    line-height: 50px;
    background: #3da1cd;
    font-size: 1.6rem;
    font-weight: 700;
    color: #fff;
    padding: 0 20px;
  }
  .contest-detail .profile .contactbar .link a:hover{
    opacity: 0.75;
  }
  .contest-detail .profile .contactbar .link i{
    position: absolute;
    top: 50%;
    right: 15px;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
  }
  .contest-detail .mainpic{
    text-align: center;
  }
  .contest-detail .description dl{
    position: relative;
    margin: 0 0 20px;
    padding: 0 0 0 30px;
  }
  .contest-detail .description dl:before{
    content: "";
    width: 20px;
    height: 3px;
    background: #3da1cd;
    position: absolute;
    top: 8px;
    left: 0;
  }
  .contest-detail .description dl dt{
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.4;
    color: #0d90ca;
    margin: 0 0 5px;
  }
  .contest-detail .description dl dd{
    line-height: 1.8;
  }
  .contest-detail .summary ul{
    overflow: hidden;
    border: 1px solid #ddd;
    border-bottom: none;
    border-right: none;
    box-sizing: border-box;
  }
  .contest-detail .summary ul li{
    width: 50%;
    float: left;
    border-bottom: 1px solid #ddd;
    border-right: 1px solid #ddd;
    box-sizing: border-box;
  }
  .contest-detail .summary ul li .label{
    display: block;
    background: #ebf5fa;
    padding: 5px 10px;
    font-size: 1.2rem;
    font-weight: 700;
  }
  .contest-detail .summary ul li .value{
    display: block;
    padding: 10px;
  }
  .contest-detail .gallery{
    margin: 0 0 60px;
  }
  .contest-detail .gallery .col{
    margin: 0 0 60px;
  }
  .contest-detail .gallery .col:last-of-type{
    margin: 0;
  }
  .contest-detail .gallery .col:nth-of-type(1) .slick-slide{
    background: #ebf5fa;
    padding: 15px;
  }
  .contest-detail .gallery .col:nth-of-type(2) .slick-slide{
    background: #e9f8f6;
    padding: 15px;
  }
  .contest-detail .layout{
  }
  .contest-detail .layout .col{
    position: relative;
    padding: 20px;
    box-sizing: border-box;
    text-align: center;
    margin: 0 0 20px;
  }
  .contest-detail .layout .col:last-of-type{
    margin: 0;
  }
  .contest-detail .layout .col:nth-of-type(1){
    border: 6px solid #ebf5fa;
  }
  .contest-detail .layout .col:nth-of-type(2){
    border: 6px solid #e9f8f6;
  }
  .contest-detail .layout .col .en{
    position: absolute;
    top: -0.7em;
    right: 20px;
    font-size: 3.0rem;
  }
  .contest-detail .outline .data{
    margin: 0 0 20px;
  }
  .contest-detail .outline .data dl{
    border: 1px solid #ddd;
    border-bottom: none;
    box-sizing: border-box;
    line-height: 1.6;
  }
  .contest-detail .outline .data dl:last-of-type{
    border: 1px solid #ddd;
  }
  .contest-detail .outline .data dt{
    padding: 5px 10px;
    background: #ebf5fa;
    font-size: 1.2rem;
    font-weight: 700;
  }
  .contest-detail .outline .data dd{
    padding: 10px;
  }
  .contest-detail .outline .data .tel{
    line-height: 26px;
  }
  .contest-detail .outline .data .tel .tel-link,
  .contest-detail .outline .data .tel .tel-link a{
    font-size: 3.0rem;
    color: #0d90ca;
  }
  .contest-detail .outline .data .tel .tel-link:before{
    content: "TEL.";
    font-size: 1.4rem;
    color: #222;
  }
  .contest-detail .outline .data .tel .fax{
    display: block;
    font-size: 1.4rem;
  }
  .contest-detail .outline .data .tel .fax:before{
    content: "FAX.";
  }
  .contest-detail .outline .btn a{
    position: relative;
    display: block;
    margin: auto;
    padding: 10px 20px;
    border-radius: 40px;
    line-height: 1.4;
    font-size: 1.8rem;
    font-weight: 700;
    color: #fff;
    background: #3da1cd;
  }
  .contest-detail .outline .btn a .s{
    display: block;
    font-size: 1.0rem;
  }
  .contest-detail .outline .btn a:hover{
    opacity: 0.75;
  }
  .contest-detail .outline .btn i{
    position: absolute;
    top: 50%;
    right: 25px;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
  }
}

/* ------------------------------------------------------------------
members seminar
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.seminarlist-info{
    padding: 60px 0 80px;
	}
	.seminarlist-info-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
	}
	.seminar-calendar{
    padding: 60px 0 80px;
	}
	.seminar-calendar-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
	}
  .seminar-calendar .lead{
    line-height: 1.8;
    margin: 0 0 40px;
  }
  .seminar-calendar .calendar {
    position: relative;
  }
  .seminar-calendar .calendar::before {
    content: "";
    display: block;
    padding-top: calc(100% * 3 / 4);
  }
  .seminar-calendar .calendar iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
  }
	.seminar-info{
    padding: 60px 0 80px;
    background-color: #ebf5fa;
	}
	.seminar-info-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
	}
  .seminar-info .list{
  }
  .seminar-info .list ul{
  }
  .seminar-info .list ul li{
    width: 23.5%;
    float: left;
    margin: 0 2% 0 0;
  }
  .seminar-info .list ul li:nth-of-type(4n){
    margin: 0;
  }
  .seminar-info .list ul li a{
    display: block;
  }
  .seminar-info .list ul li a:hover{
    opacity: 0.75;
  }
  .seminar-info .list .pic{
    width: 100%;
    height: 0;
    padding: 64% 0 0;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
    border: 1px solid #ddd;
    box-sizing: border-box;
  }
  .seminar-info .list .txt{
    position: relative;
    padding: 25px 0 0;
  }
  .seminar-info .list .cat{
    position: absolute;
    top: -12px;
    left: 0px;
    width: 120px;
    height: 24px;
    line-height: 24px;
    text-align: center;
    background: #222;
    color: #fff;
    font-size: 1.4rem;
    border-radius: 5px;
  }
  .seminar-info .list .data{
    font-size: 1.4rem;
    margin: 0 0 5px;
  }
  .seminar-info .list .sub{
    font-weight: 700;
    line-height: 1.6;
    min-height: 9.6em;
  }
}
@media only screen and (max-width:767.98px) {
	.seminarlist-info{
    padding: 30px 0 40px;
	}
	.seminarlist-info-in{
		width: 90%;
		margin: 0 auto;
	}
	.seminar-calendar{
    padding: 30px 0 40px;
	}
	.seminar-calendar-in{
		width: 90%;
		margin: 0 auto;
	}
  .seminar-calendar .lead{
    line-height: 1.8;
    margin: 0 0 20px;
  }
  .seminar-calendar .calendar {
    position: relative;
  }
  .seminar-calendar .calendar::before {
    content: "";
    display: block;
    padding-top: calc(100% * 1.2);
  }
  .seminar-calendar .calendar iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
  }
	.seminar-info{
    padding: 30px 0 40px;
    background-color: #ebf5fa;
	}
	.seminar-info-in{
		width: 90%;
		margin: 0 auto;
	}
  .seminar-info .list{
  }
  .seminar-info .list ul{
    margin: 0 0 20px;
  }
  .seminar-info .list ul li{
    margin: 0 0 20px;
  }
  .seminar-info .list ul li:last-of-type{
    margin: 0;
  }
  .seminar-info .list ul li a{
    display: block;
  }
  .seminar-info .list ul li a.hover{
    opacity: 0.75;
  }
  .seminar-info .list .pic{
    width: 100%;
    height: 0;
    padding: 64% 0 0;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
    border: 1px solid #ddd;
    box-sizing: border-box;
  }
  .seminar-info .list .txt{
    position: relative;
    padding: 20px 0 0;
  }
  .seminar-info .list .cat{
    position: absolute;
    top: -10px;
    left: 0px;
    width: 100px;
    height: 20px;
    line-height: 20px;
    text-align: center;
    background: #222;
    color: #fff;
    font-size: 1.2rem;
    border-radius: 5px;
  }
  .seminar-info .list .data{
    font-size: 1.2rem;
    margin: 0 0 5px;
  }
  .seminar-info .list .sub{
    font-weight: 700;
    line-height: 1.6;
  }
}

/* ------------------------------------------------------------------
branch
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.branch-head{
    padding: 60px 0 100px;
	}
	.branch-head-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
	}
  .branch-head .lead{
    line-height: 1.8;
  }
  .branch-head .lead strong{
    font-size: 2.4rem;
  }
  .branch-head .morebtn{
    margin: 20px 0 0 0;
  }
  .branch-head .morebtn a{
    margin: 0 auto 0 0;
  }
	.branch-greeting{
    position: relative;
    padding: 60px 0 0;
    background: #25b7aa;
	}
  .branch-greeting:before{
    content:"";
    position: absolute;
    top: -80px;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 80px 100vw ;
    border-color: transparent transparent #25b7aa transparent;
  }
  /* .branch-greeting:after{
    content:"";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 80px 100vw ;
    border-color: transparent transparent #fff transparent;
  } */
  .branch-greeting-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
	}
  .branch-greeting .pic{
    width: 36%;
    float: right;
  }
  .branch-greeting .pic img{
    width: 100%;
    height: auto;
    border-radius: 5px;
    overflow: hidden;
  }
  .branch-greeting .txt{
    width: 60%;
    float: left;
    color: #fff;
    line-height: 1.8;
  }
  .branch-greeting .txt h2{
    font-size: 2.4rem;
    margin: 0 0 20px;
  }
  .branch-greeting .txt .name{
    margin: 20px 0 0;
    font-size: 2.0rem;
    font-weight: 700;
    text-align: right;
  }
  .branch-greeting .txt .ad{
    text-align: right;
  }
  .branch-greeting .txt .tel{
    text-align: right;
  }
  .branch-greeting .txt .tel .tel-link,
  .branch-greeting .txt .tel .tel-link a{
    color: #fff;
    font-size: 3.0rem;
    font-weight: 700;
  }
  .branch-greeting .txt .tel .tel-link:before{
    content: "TEL.";
    font-size: 1.8rem;
  }
  .branch-greeting .txt .tel .fax{
    color: #fff;
    font-size: 1.8rem;
    margin: 0 0 0 10px;
  }
  .branch-greeting .txt .tel .fax:before{
    content: "FAX.";
  }
	.branch-calendar{
    padding: 40px 0 80px;
	}
	.branch-calendar-in{
		max-width: 1080px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
	}
  .branch-calendar .calendar {
    position: relative;
  }
  .branch-calendar .calendar::before {
    content: "";
    display: block;
    padding-top: calc(100% * 3 / 4);
  }
  .branch-calendar .calendar iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
  }
	.branch-info{
    padding: 60px 0 80px;
    background: #25b7aa;
	}
	.branch-info-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
	}
  .branch-info .topttl{
    color: #fff;
  }
  .branch-info .topttl:after{
    background: #fff;
  }
  .branch-info .nav{
    letter-spacing: -.4em;
    text-align: center;
    margin: 0 0 40px;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		flex-wrap: wrap;
    gap: 20px;
  }
  .branch-info .nav li{
    display: inline-block;
    letter-spacing: normal;
    /* margin: 0 10px; */
  }
  .branch-info .nav li a{
		min-width: 120px;
    line-height: 1.4;
    font-size: 1.6rem;
    font-weight: 700;
    color: #fff;
    padding: 10px;
    background: rgba(0,0,0,0.1);
    border-radius: 5px;
    height: 100%;
    box-sizing: border-box;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    flex-direction: column;
    align-items: center;
  }
  .branch-info .nav li .kaigyo{

	}
  .branch-info .nav li a:hover{
    background: rgba(0,0,0,0.2);
  }
  .branch-info .nav li a .-sm {
    margin-bottom: .2em;
    font-size: .7em;
  }
  .branch-info .list{
    background: #fff;
    border-radius: 10px;
    padding: 30px;
    box-sizing: border-box;
    margin: 0 0 40px;
  }
  .branch-info .list:last-of-type{
    margin: 0;
  }
  .branch-info .list h3{
    font-size: 2.0rem;
    border-bottom: 2px solid #222;
    padding: 0 0 15px;
    margin: 0 0 20px;
  }
  .branch-info .list ul{
    margin: 0 0 40px;
  }
  .branch-info .list ul li{
    width: 23.5%;
    float: left;
    margin: 0 2% 0 0;
  }
  .branch-info .list ul li:last-of-type{
    margin: 0;
  }
  .branch-info .list ul li a{
    display: block;
  }
  .branch-info .list ul li a:hover{
    opacity: 0.75;
  }
  .branch-info .list .pic{
    width: 100%;
    height: 0;
    padding: 64% 0 0;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
    border: 1px solid #ddd;
    box-sizing: border-box;
  }
  .branch-info .list .txt{
    position: relative;
    padding: 25px 0 0;
  }
  .branch-info .list .cat{
    position: absolute;
    top: -12px;
    left: 0px;
    width: 120px;
    height: 24px;
    line-height: 24px;
    text-align: center;
    background: #222;
    color: #fff;
    font-size: 1.4rem;
    border-radius: 5px;
  }
  .branch-info .list .data{
    font-size: 1.4rem;
    margin: 0 0 5px;
    letter-spacing: -.4em;
  }
  .branch-info .list .data span{
    display: inline-block;
    letter-spacing: normal;
    vertical-align: middle;
    margin: 0 8px 0 0;
  }
  .branch-info .list .data .event{
    font-weight: 700;
  }
  .branch-info .list .sub{
    font-weight: 700;
    line-height: 1.6;
    min-height: 4.8em;
  }
	.branch-organization{
    padding: 60px 0 80px;
	}
	.branch-organization-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
	}
  .branch-organization .section{
    margin: 0 0 60px;
  }
  .branch-organization .section:last-of-type{
    margin: 0;
  }
  .branch-organization .sub{
    font-weight: 700;
    margin: 0 0 10px;
  }
  .branch-organization ul{
    list-style: disc;
    line-height: 1.8;
    margin: 0 0 20px 20px;
  }
  .branch-organization ul li{
    width: 25%;
    float: left;
  }
  .branch-organization table{
    width: 100%;
    border: 1px solid #ddd;
    box-sizing: border-box;
    border-collapse: collapse;
  }
  .branch-organization td{
    border: 1px solid #ddd;
    padding: 8px;
    font-size: 1.6rem;
    line-height: 1.6;
  }
  .branch-organization tr.head td{
    background: #f3f3f3;
  }
  .branch-organization .section.t3 td{
    width: 33.3333333%;
  }
  .branch-organization .section.t4 td{
    width: 25%;
  }
  .branch-organization .section.t6 td:nth-of-type(1),
  .branch-organization .section.t6 td:nth-of-type(2){
    width: 12%;
  }
  .branch-organization .section.t6 td:nth-of-type(3){
    width: 26%;
  }
  .branch-organization .section.t6 td:nth-of-type(4),
  .branch-organization .section.t6 td:nth-of-type(6){
    width: 15%;
  }
}
@media only screen and (max-width:767.98px) {
	.branch-head{
    padding: 30px 0 60px;
	}
	.branch-head-in{
		width: 90%;
		margin: 0 auto;
	}
  .branch-head .lead{
    line-height: 1.8;
  }
  .branch-head .morebtn{
    margin: 10px 0 0 0;
  }
  .branch-head .morebtn a{
    margin: 0 auto 0 0;
  }
	.branch-greeting{
    position: relative;
    padding: 30px 0 0;
    background: #25b7aa;
	}
  .branch-greeting:before{
    content:"";
    position: absolute;
    top: -40px;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 40px 100vw;
    border-color: transparent transparent #25b7aa transparent;
  }
  /* .branch-greeting:after{
    content:"";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 40px 100vw;
    border-color: transparent transparent #fff transparent;
  } */
  .branch-greeting-in{
		width: 90%;
		margin: 0 auto;
	}
  .branch-greeting .pic{
    text-align: center;
    margin: 0 0 20px;
  }
  .branch-greeting .pic img{
    width: 100%;
    height: auto;
    border-radius: 5px;
    overflow: hidden;
  }
  .branch-greeting .txt{
    color: #fff;
    line-height: 1.8;
  }
  .branch-greeting .txt h2{
    font-size: 1.8rem;
    margin: 0 0 10px;
  }
  .branch-greeting .txt .name{
    margin: 20px 0 0;
    font-size: 1.6rem;
    font-weight: 700;
  }
  .branch-greeting .txt .ad{
  }
  .branch-greeting .txt .tel{
  }
  .branch-greeting .txt .tel .tel-link{
    color: #fff;
    display: block;
  }
  .branch-greeting .txt .tel .tel-link a{
    font-size: 2.8rem;
    font-weight: 700;
    color: #fff;
  }
  .branch-greeting .txt .tel .tel-link:before{
    content: "TEL.";
    font-size: 1.4rem;
  }
  .branch-greeting .txt .tel .fax{
    color: #fff!important;
    display: block;
    font-size: 1.4rem;
  }
  .branch-greeting .txt .tel .fax a {
    color: #fff!important;
  }
  .branch-greeting .txt .tel .fax:before{
    content: "FAX.";
  }
  .ref-search .link{
    position: relative;
    margin: 20px 0 0;
    height: 40px;
    line-height: 40px;
    border-radius: 20px;
    border: 1px solid #3da1cd;
    background: #fff;
    text-align: center;
    font-weight: 700;
    padding: 0 15px 0 0;
    box-sizing: border-box;
  }
	.branch-calendar{
    padding: 30px 0 40px;
	}
	.branch-calendar-in{
		width: 90%;
		margin: 0 auto;
	}
  .branch-calendar .calendar {
    position: relative;
  }
  .branch-calendar .calendar::before {
    content: "";
    display: block;
    padding-top: 120%;
  }
  .branch-calendar .calendar iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
  }
	.branch-info{
    padding: 30px 0 40px;
    background: #25b7aa;
	}
	.branch-info-in{
		width: 90%;
		margin: 0 auto;
	}
  .branch-info .topttl{
    color: #fff;
  }
  .branch-info .topttl:after{
    background: #fff;
  }
  .branch-info .nav{
    letter-spacing: -.4em;
    text-align: center;
    margin: 0 0 10px;
    display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
    flex-wrap: wrap;
  }
  .branch-info .nav li{
    display: inline-block;
    letter-spacing: normal;
    width: 49%;
    margin: 0 0 10px 0;
  }
  .branch-info .nav li:nth-of-type(2n){
    margin: 0 0 10px;
  }
  .branch-info .nav li a{
    line-height: 1.4;
    font-size: 1.2rem;
    font-weight: 700;
    color: #fff;
    padding: 10px;
    background: rgba(0,0,0,0.1);
    border-radius: 5px;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    flex-direction: column;
    flex-wrap: wrap;
    height: 100%;
    box-sizing: border-box;
  }
  .branch-info .nav li a:hover{
    background: rgba(0,0,0,0.2);
  }
  .branch-info .nav li a .-sm {
    margin-bottom: .2em;
    font-size: .7em;
  }
  .branch-info .list{
    background: #fff;
    border-radius: 10px;
    padding: 20px;
    box-sizing: border-box;
    margin: 0 0 20px;
  }
  .branch-info .list:last-of-type{
    margin: 0;
  }
  .branch-info .list h3{
    font-size: 1.6rem;
    border-bottom: 2px solid #222;
    padding: 0 0 10px;
    margin: 0 0 15px;
  }
  .branch-info .list ul{
    margin: 0 0 20px;
  }
  .branch-info .list ul li{
    margin: 0 0 20px;
  }
  .branch-info .list ul li:last-of-type{
    margin: 0;
  }
  .branch-info .list ul li a{
    display: block;
  }
  .branch-info .list ul li a.hover{
    opacity: 0.75;
  }
  .branch-info .list .pic{
    width: 100%;
    height: 0;
    padding: 64% 0 0;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
    border: 1px solid #ddd;
    box-sizing: border-box;
  }
  .branch-info .list .txt{
    position: relative;
    padding: 20px 0 0;
  }
  .branch-info .list .cat{
    position: absolute;
    top: -10px;
    left: 0px;
    width: 100px;
    height: 20px;
    line-height: 20px;
    text-align: center;
    background: #222;
    color: #fff;
    font-size: 1.2rem;
    border-radius: 5px;
  }
  .branch-info .list .data{
    font-size: 1.2rem;
    margin: 0 0 5px;
    letter-spacing: -.4em;
  }
  .branch-info .list .data span{
    display: inline-block;
    letter-spacing: normal;
    vertical-align: middle;
    margin: 0 5px 5px 0;
  }
  .branch-info .list .sub{
    font-weight: 700;
    line-height: 1.6;
  }
	.branch-organization{
    padding: 60px 0 80px;
	}
	.branch-organization-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
	}
  .branch-organization .section{
    margin: 0 0 60px;
  }
  .branch-organization .section:last-of-type{
    margin: 0;
  }
  .branch-organization .sub{
    font-weight: 700;
    margin: 0 0 10px;
  }
  .branch-organization ul{
    list-style: disc;
    line-height: 1.8;
    margin: 0 0 20px 20px;
  }
  .branch-organization ul li{
    width: 25%;
    float: left;
  }
  .branch-organization table{
    width: 100%;
    border: 1px solid #ddd;
    box-sizing: border-box;
    border-collapse: collapse;
  }
  .branch-organization td{
    border: 1px solid #ddd;
    padding: 5px;
    font-size: 1.2rem;
    line-height: 1.6;
  }
  .branch-organization tr.head td{
    background: #f3f3f3;
  }
  .branch-organization .section.t3 td{
    width: 33.3333333%;
  }
  .branch-organization .section.t4 td{
    width: 25%;
  }
  .branch-organization .section.t6 td:nth-of-type(1),
  .branch-organization .section.t6 td:nth-of-type(2){
    width: 12%;
  }
  .branch-organization .section.t6 td:nth-of-type(3){
    width: 26%;
  }
  .branch-organization .section.t6 td:nth-of-type(4),
  .branch-organization .section.t6 td:nth-of-type(6){
    width: 15%;
  }
}

/* ------------------------------------------------------------------
calendar
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
  .simcal-calendar-head .simcal-nav{
    padding: 15px 0 !important;
  }
  .simcal-calendar-head .simcal-nav i{
    font-size: 2.0rem;
  }
  .simcal-calendar-head .simcal-nav h3{
    font-size: 2.4rem;
    font-weight: 500;
  }
  .simcal-calendar-head .simcal-nav h3 .simcal-current-year:after{
    content: "年";
  }
  .simcal-calendar-head .simcal-week-day{
    padding: 15px 0;
    font-size: 1.6rem;
    border: 1px solid #ddd;
    border-collapse: collapse;
  }
  .simcal-calendar-head .simcal-week-day-6{
    background: #ddedff;
    color: #1164c0;
  }
  .simcal-calendar-head .simcal-week-day-0{
    background: #ffe1e1;
    color: #d32a2a;
  }
  .simcal-default-calendar-grid>table tbody td{
    border: 1px solid #ddd;
    border-collapse: collapse;
  }
  .simcal-default-calendar-grid .simcal-events{
    font-size: 1.4rem !important;
  }
  .simcal-tooltip-content a{
    text-decoration: underline;
  }
}
@media only screen and (max-width:767.98px) {
  .simcal-calendar-head .simcal-nav{
    padding: 10px 0 !important;
  }
  .simcal-calendar-head .simcal-nav i{
    font-size: 1.8rem;
  }
  .simcal-calendar-head .simcal-nav h3{
    font-size: 1.4em;
    font-weight: 500;
  }
  .simcal-calendar-head .simcal-nav h3 .simcal-current-year:after{
    content: "年";
  }
  .simcal-calendar-head .simcal-week-day{
    padding: 10px 0;
    font-size: 1.4rem;
    border: 1px solid #ddd;
    border-collapse: collapse;
  }
  .simcal-calendar-head .simcal-week-day-6{
    background: #ddedff;
    color: #1164c0;
  }
  .simcal-calendar-head .simcal-week-day-0{
    background: #ffe1e1;
    color: #d32a2a;
  }
  .simcal-default-calendar-grid>table tbody td{
    border: 1px solid #ddd;
    border-collapse: collapse;
  }
  .simcal-default-calendar-grid .simcal-events{
    font-size: 1.2rem !important;
  }
  .simcal-default-calendar-grid .simcal-events-dots {
    display: inline-block !important;
  }
  .simcal-tooltip-content a{
    text-decoration: underline;
  }
}

/* ------------------------------------------------------------------
info-top
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.info-top{
    padding: 60px 20px 100px;
	}
	.info-top-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
	}
  .info-top .nav{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    letter-spacing: -.4em;
    text-align: center;
    margin: 0 0 20px;
  }
  .info-top .nav + .nav{
    letter-spacing: -.4em;
    text-align: center;
    margin: 0 0 80px;
  }
  .info-top .nav li{
    display: inline-block;
    letter-spacing: normal;
    margin: 0 10px 0 0;
  }
  .info-top .nav li:last-of-type{
    margin: 0;
  }
  .info-top .nav li a{
    display: block;
    line-height: 1.3;
    font-size: 1.6rem;
    font-weight: 700;
    padding: 10px;
    background: #ebf5fa;
    border-radius: 5px;
    min-width: 90px;
  }
  .info-top .nav li.is_current a{
    background: #3da1cd;
    color: #fff;
  }
  .info-top .nav li a:hover{
    opacity: 0.75;
  }
  .info-top .nav li a .-sm {
    font-size: .7em;
  }
  .info-top .primary{
    position: relative;
  }
  .info-top .refinesearch{
    margin: 0 0 40px;
  }
}
@media only screen and (max-width:767.98px) {
	.info-top{
    padding: 30px 0 50px;
	}
	.info-top-in{
		width: 90%;
		margin: 0 auto;
	}
  .info-top .nav{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    letter-spacing: -.4em;
    text-align: center;
    margin: 0 0 0px;
  }
  .info-top .nav + .nav{
    letter-spacing: -.4em;
    text-align: center;
    margin: 0 0 30px;
  }
  .info-top .nav li{
    display: inline-block;
    letter-spacing: normal;
    width: 49%;
    margin: 0 2% 10px 0;
  }
  .info-top .nav li:nth-of-type(2n){
    margin: 0 0 10px;
  }
  .info-top .nav li.is_current a{
    background: #3da1cd;
    color: #fff;
  }
  .info-top .nav li a{
    display: block;
    font-size: 1.2rem;
    font-weight: 700;
    padding: 10px;
    line-height: 1.3;
    background: #ebf5fa;
    border-radius: 5px;
  }
  .info-top .nav li a:hover{
    opacity: 0.75;
  }
  .info-top .nav li a .-sm {
    font-size: .7em;
  }
  .info-top .refinesearch{
    margin: 0 0 20px;
  }
}

/* ------------------------------------------------------------------
info-detail
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.info-detail{
		max-width: 1200px;
		margin: 0 auto;
    padding: 60px 20px 100px;
		box-sizing: border-box;
	}
  .info-detail .ttl{
    margin: 0 0 40px;
  }
  .info-detail .ttl .data{
    margin: 0 0 10px;
    letter-spacing: -.4em;
  }
  .info-detail .ttl .tax{
    margin: 0 0 15px;
    letter-spacing: -.4em;
  }
  .info-detail .ttl span{
    display: inline-block;
    letter-spacing: normal;
    vertical-align: middle;
    margin: 0 8px 0 0;
  }
  .info-detail .ttl .data .event{
    font-weight: 700;
  }
  .info-detail .ttl .tax span{
    padding: 5px 10px;
    background: #222;
    font-size: 1.2rem;
    color: #fff;
    border-radius: 10px;
  }
  .info-detail .ttl .sub{
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.6;
  }
  .info-detail .mainpic{
    text-align: center;
    margin: 0 0 40px;
  }
  .info-detail .mainpic.w100 img{
    width: 100%;
    height: auto;
  }
}
@media only screen and (max-width:767.98px) {
	.info-detail{
    padding: 30px 0 50px;
		width: 90%;
		margin: 0 auto;
	}
  .info-detail .ttl{
    margin: 0 0 30px;
  }
  .info-detail .ttl .data{
    margin: 0 0 5px;
    letter-spacing: -.4em;
  }
  .info-detail .ttl .tax{
    margin: 0 0 10px;
    letter-spacing: -.4em;
  }
  .info-detail .ttl span{
    display: inline-block;
    letter-spacing: normal;
    vertical-align: middle;
    margin: 0 5px 5px 0;
  }
  .info-detail .ttl .data .event{
    font-weight: 700;
  }
  .info-detail .ttl .tax span{
    padding: 5px 10px;
    background: #222;
    font-size: 1.0rem;
    color: #fff;
    border-radius: 10px;
  }
  .info-detail .ttl .sub{
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.6;
    margin: 0 0 10px;
  }
  .info-detail .ttl .desc{
    font-size: 1.2rem;
    line-height: 1.8;
  }
  .info-detail .mainpic{
    text-align: center;
    margin: 0 0 30px;
  }
  .info-detail .mainpic.w100 img{
    width: 100%;
    height: auto;
  }
}

/* ------------------------------------------------------------------
info-container
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
  .info .primary{
    float: left;
    width: 100%;
    margin-right: -280px;
    padding-right: 280px;
    box-sizing: border-box;
	}
  .info .secondary{
		width: 220px;
		float: right;
	}
	.info .secondary .item{
		margin: 0 0 50px;
	}
	.info .secondary .item:last-of-type{
		margin: 0;
	}
	.info .secondary .item h3{
		font-size: 1.8rem;
		border-bottom: 1px solid #ddd;
		padding: 0 0 10px;
		margin: 0 0 15px;
	}
	.info .secondary .catlist{
	}
	.info .secondary .catlist ul li{
		margin: 0 0 10px;
	}
	.info .secondary .catlist ul li:last-of-type{
		margin: 0;
	}
	.info .secondary .catlist ul li a{
		position: relative;
		display: block;
		padding: 0 0 0 35px;
		font-size: 1.6rem;
		line-height: 1.4;
	}
	.info .secondary .catlist ul li a span{
		position: absolute;
		top: 8px;
		left: 0;
		width: 20px;
		height: 5px;
	}
	.info .secondary .catlist ul li a:hover{
		text-decoration: underline;
	}
	.info .secondary .taxlist{
	}
	.info .secondary .taxlist ul li{
		margin: 0 0 10px;
	}
	.info .secondary .taxlist ul li:last-of-type{
		margin: 0;
	}
	.info .secondary .taxlist ul li a{
		position: relative;
		display: block;
		padding: 0 0 0 40px;
		font-size: 1.6rem;
		line-height: 1.5;
	}
	.info .secondary .taxlist ul li a:before{
    content: "";
		position: absolute;
		top: 8px;
		left: 0;
		width: 20px;
		height: 5px;
    background: #a6d4e8;
	}
	.info .secondary .taxlist ul li a:hover{
		text-decoration: underline;
	}
  .info .secondary .taxlist ul li a .-sm {
    font-size: .7em;
  }
	.info .secondary .recent ul{
	}
	.info .secondary .recent ul li{
		margin: 0 0 20px;
		padding: 0 0 20px;
		border-bottom: 1px solid #ddd;
	}
	.info .secondary .recent ul li:last-of-type{
		margin: 0;
	}
	.info .secondary .recent ul li a{
		display: block;
		position: relative;
	}
	.info .secondary .recent ul li a:hover p{
		text-decoration: underline;
	}
  .info .secondary .recent ul li p.date{
    font-size: 1.2rem;
    color: #0d90ca;
    margin: 0 0 6px;
  }
	.info .secondary .recent ul li p.sub{
		font-size: 1.4rem;
		line-height: 1.6;
	}
  .info .secondary .recent ul li p.data{
    font-size: 1.2rem;
    color: #666;
    margin: 0 0 10px;
  }
}
@media only screen and (max-width:767.98px) {
	.info .primary{
    margin: 0 0 40px;
	}
	.info .secondary{
	}
	.info .secondary .item{
		margin: 0 0 30px;
	}
	.info .secondary .item:last-of-type{
		margin: 0;
	}
	.info .secondary .item h3{
		font-size: 1.6rem;
		border-bottom: 1px solid #ddd;
		padding: 0 0 10px;
		margin: 0 0 15px;
	}
	.info .secondary .catlist{
	}
	.info .secondary .catlist ul li{
		margin: 0 0 10px;
	}
	.info .secondary .catlist ul li:last-of-type{
		margin: 0;
	}
	.info .secondary .catlist ul li a{
		position: relative;
		display: block;
		padding: 0 0 0 35px;
		font-size: 1.4rem;
		line-height: 1.4;
	}
	.info .secondary .catlist ul li a span{
		position: absolute;
		top: 8px;
		left: 0;
		width: 20px;
		height: 5px;
	}
	.info .secondary .catlist ul li a:hover{
		text-decoration: underline;
	}
	.info .secondary .taxlist{
	}
	.info .secondary .taxlist ul li{
		margin: 0 0 10px;
	}
	.info .secondary .taxlist ul li:last-of-type{
		margin: 0;
	}
	.info .secondary .taxlist ul li a{
		position: relative;
		display: block;
		padding: 0 0 0 40px;
		font-size: 1.4rem;
		line-height: 1.5;
	}
	.info .secondary .taxlist ul li a:before{
    content: "";
		position: absolute;
		top: 8px;
		left: 0;
		width: 20px;
		height: 5px;
    background: #a6d4e8;
	}
	.info .secondary .taxlist ul li a:hover{
		text-decoration: underline;
	}
  .info .secondary .taxlist ul li a .-sm {
    font-size: .7em;
  }
	.info .secondary .recent ul{
	}
	.info .secondary .recent ul li{
		margin: 0 0 20px;
		padding: 0 0 20px;
		border-bottom: 1px solid #ddd;
	}
	.info .secondary .recent ul li:last-of-type{
		margin: 0;
	}
	.info .secondary .recent ul li a{
		display: block;
	}
	.info .secondary .recent ul li a:hover p{
		text-decoration: underline;
	}
  .info .secondary .recent ul li p.date{
    font-size: 1.2rem;
    color: #0d90ca;
    margin: 0 0 5px;
  }
	.info .secondary .recent ul li p.sub{
		font-size: 1.4rem;
		line-height: 1.6;
	}
  .info .secondary .recent ul li p.data{
    font-size: 1.0rem;
    color: #666;
    margin: 0 0 10px;
  }
}

/* ------------------------------------------------------------------
member-top
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.member-top{
    padding: 60px 0 80px;
	}
	.member-top-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
	}
  .member-top .passwordform{
    border: 1px solid #ddd;
    padding: 30px;
    text-align: center;
  }
  .member-top .passwordform .lead{
    font-size: 2.0rem;
    font-weight: 700;
    margin: 0 0 20px;
  }
  .member-top .password{
    width: 480px;
    margin: auto;
  }
  .member-top .password p{
    margin: 0 0 20px;
  }
  .member-top .password input{
    font-size: 1.6rem;
    font-family: 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    width: 100%;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 10px;
    box-sizing: border-box;
  }
  .member-top .passwordform .formbtn{
    padding: 20px 0 0;
  }
}
@media only screen and (max-width:767.98px) {
	.member-top{
    padding: 30px 0 40px;
	}
	.member-top-in{
		width: 90%;
		margin: 0 auto;
	}
  .member-top .passwordform{
    border: 1px solid #ddd;
    padding: 30px;
    text-align: center;
  }
  .member-top .passwordform .lead{
    font-size: 1.6rem;
    font-weight: 700;
    margin: 0 0 10px;
  }
  .member-top .password{
  }
  .member-top .password p{
    font-size: 1.2rem;
    margin: 0 0 10px;
  }
  .member-top .password input{
    font-size: 16px;
    font-family: 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    width: 100%;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 10px;
    box-sizing: border-box;
  }
  .member-top .passwordform .formbtn{
    padding: 20px 0 0;
  }
}

/* ------------------------------------------------------------------
proceeding-top
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.proceeding-top{
    padding: 60px 0 80px;
	}
	.proceeding-top-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
	}
  .proceeding-top .lead{
    line-height: 1.8;
    margin: 0 0 20px;
  }
  .proceeding-top .list{
  }
  .proceeding-top .list ul{
    margin: 0 0 40px;
  }
  .proceeding-top .list ul li{
    position: relative;
    border-top: 1px solid #ddd;
    box-sizing: border-box;
    padding: 30px 240px 30px 15px;
  }
  .proceeding-top .list ul li:last-of-type{
    border-bottom: 1px solid #ddd;
  }
  .proceeding-top .list .date{
    font-size: 1.4rem;
    margin: 0 0 10px;
  }
  .proceeding-top .list .sub{
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.6;
  }
  .proceeding-top .list .desc{
    font-size: 1.4rem;
    line-height: 1.8;
  }
  .proceeding-top .list .morebtn{
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
  }
  .proceeding-top .list .morebtn a{
    width: 200px;
    margin: 0 auto 0 0;
  }
}
@media only screen and (max-width:767.98px) {
	.proceeding-top{
    padding: 30px 0 40px;
	}
	.proceeding-top-in{
		width: 90%;
		margin: 0 auto;
	}
  .proceeding-top .lead{
    line-height: 1.8;
    margin: 0 0 20px;
  }
  .proceeding-top .list{
  }
  .proceeding-top .list ul{
    margin: 0 0 40px;
  }
  .proceeding-top .list ul li{
    position: relative;
    border-top: 1px solid #ddd;
    box-sizing: border-box;
    padding: 20px 0;
  }
  .proceeding-top .list ul li:last-of-type{
    border-bottom: 1px solid #ddd;
  }
  .proceeding-top .list .date{
    font-size: 1.2rem;
    margin: 0 0 5px;
  }
  .proceeding-top .list .sub{
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.6;
  }
  .proceeding-top .list .desc{
    font-size: 1.4rem;
    line-height: 1.8;
  }
  .proceeding-top .list .morebtn{
    margin: 10px 0 0;
  }
  .proceeding-top .list .morebtn a{
    width: 200px;
    margin: 0 auto 0 0;
  }
}

/* ------------------------------------------------------------------
reformseminar-top
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.reformseminar-top{
    padding: 60px 0 80px;
	}
	.reformseminar-top-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
	}
  .reformseminar-top ul{
    margin: 0 0 40px;
  }
  .reformseminar-top ul li{
    position: relative;
    border-top: 1px solid #ddd;
    box-sizing: border-box;
  }
  .reformseminar-top ul li:last-of-type{
    border-bottom: 1px solid #ddd;
  }
  .reformseminar-top ul li a{
    display: block;
    padding: 20px 45px 20px 15px;
  }
  .reformseminar-top ul li a:hover{
    background: #f9f9f9;
  }
  .reformseminar-top ul li:before{
    position: absolute;
    top: 50%;
    right: 30px;
    content: "";
    border-top: 1px solid #222;
    border-right: 1px solid #222;
    width: 15px;
    height: 15px;
    -webkit-transform: translate(0%, -50%) rotate(45deg);
    transform: translate(0%, -50%) rotate(45deg);
  }
  .reformseminar-top ul .data{
    font-size: 1.4rem;
    letter-spacing: -.4em;
    margin: 0 0 10px;
  }
  .reformseminar-top ul span{
    display: inline-block;
    letter-spacing: normal;
    vertical-align: middle;
    margin: 0 10px 0 0;
  }
  .reformseminar-top .sub{
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.6;
  }
}
@media only screen and (max-width:767.98px) {
	.reformseminar-top{
    padding: 30px 0 40px;
	}
	.reformseminar-top-in{
		width: 90%;
		margin: 0 auto;
	}
  .reformseminar-top ul{
    margin: 0 0 40px;
  }
  .reformseminar-top ul li{
    position: relative;
    border-top: 1px solid #ddd;
    box-sizing: border-box;
  }
  .reformseminar-top ul li:last-of-type{
    border-bottom: 1px solid #ddd;
  }
  .reformseminar-top ul li a{
    display: block;
    padding: 15px 30px 15px 0;
  }
  .reformseminar-top ul li a:hover{
    background: #f9f9f9;
  }
  .reformseminar-top ul li:before{
    position: absolute;
    top: 50%;
    right: 10px;
    content: "";
    border-top: 1px solid #222;
    border-right: 1px solid #222;
    width: 10px;
    height: 10px;
    -webkit-transform: translate(0%, -50%) rotate(45deg);
    transform: translate(0%, -50%) rotate(45deg);
  }
  .reformseminar-top ul .data{
    font-size: 1.2rem;
    letter-spacing: -.4em;
    margin: 0 0 10px;
  }
  .reformseminar-top ul span{
    display: inline-block;
    letter-spacing: normal;
    vertical-align: middle;
    margin: 0 10px 0 0;
  }
  .reformseminar-top .sub{
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.6;
  }
}

/* ------------------------------------------------------------------
page-contents
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.page-contents{
    padding: 60px 0 80px;
	}
	.page-contents-in{
    position: relative;
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
	}
}
@media only screen and (max-width:767.98px) {
	.page-contents{
    padding: 30px 0 40px;
	}
	.page-contents-in{
		width: 90%;
		margin: 0 auto;
	}
}

/* ------------------------------------------------------------------
page-tools
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.page-tools{
    padding: 60px 0 80px;
	}
	.page-tools-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
	}
  .page-tools .pic{
    width: 16%;
    float: left;
  }
  .page-tools .txt{
    width: 80%;
    float: right;
  }
  .page-tools .txt p{
    line-height: 1.8;
    margin: 0 0 20px;
  }
  .page-tools .txt dl{
    border-bottom: 1px solid #ddd;
    padding: 15px 0;
    box-sizing: border-box;
  }
  .page-tools .txt dl:first-of-type{
    border-top: 1px solid #ddd;
  }
  .page-tools .txt dt{
    font-size: 1.4rem;
    line-height: 1.4;
    margin: 0 0 5px;
  }
  .page-tools .txt dd{
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.6;
  }
  .page-tools .morebtn{
    margin: 40px 0 0;
  }
  .page-tools .pic_wide{
    margin-bottom: 6rem;
  }

}
@media only screen and (max-width:767.98px) {
	.page-tools{
    padding: 30px 0 40px;
	}
	.page-tools-in{
		width: 90%;
		margin: 0 auto;
	}
  .page-tools .pic{
    width: 120px;
    margin: 0 auto 20px;
  }
  .page-tools .txt{
  }
  .page-tools .txt p{
    line-height: 1.8;
    margin: 0 0 20px;
  }
  .page-tools .txt dl{
    border-bottom: 1px solid #ddd;
    padding: 10px 0;
    box-sizing: border-box;
  }
  .page-tools .txt dl:first-of-type{
    border-top: 1px solid #ddd;
  }
  .page-tools .txt dt{
    font-size: 1.2rem;
    line-height: 1.4;
    margin: 0 0 5px;
  }
  .page-tools .txt dd{
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.6;
  }
  .page-tools .morebtn{
    margin: 20px 0 0;
  }
  .page-tools .pic_wide{
    margin-bottom: 3rem;
  }

}

/* ------------------------------------------------------------------
page-files
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.page-files{
    padding: 60px 0 40px;
	}
	.page-files-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
	}
  .page-files .lead{
    line-height: 1.8;
    margin: 0 0 40px;
  }
  .page-files .col{
    width: 48.5%;
    float: left;
  }
  .page-files .col:nth-of-type(2n){
    float: right;
  }
  .page-files .item{
    width: 49%;
    height: 380px;
    float: left;
    margin: 0 2% 0 0;
  }
  .page-files .item:nth-of-type(2n){
    margin: 0;
  }
  .page-files .item a{
    display: block;
  }
  .page-files .item a:hover{
    opacity: 0.75;
  }
  .page-files .item .image{
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    width: 600px;
    height: 240px;
    padding: 40px;
    border: 1px solid #ddd;
    box-sizing: border-box;
  }
  .page-files .item .image img{
    display: block;
    margin: auto;
    width: auto;
    max-height: 160px;
  }
  .page-files .item p{
    text-align: center;
    line-height: 1.6;
  }
  .page-files .item p.name{
    font-size: 1.8rem;
    margin: 10px 0 0;
  }
  .page-files .item p.spec{
    font-size: 1.2rem;
  }
}
@media only screen and (max-width:767.98px) {
	.page-files{
    padding: 30px 0 20px;
	}
	.page-files-in{
		width: 90%;
		margin: 0 auto;
	}
  .page-files .lead{
    line-height: 1.8;
    margin: 0 0 20px;
  }
  .page-files .col{
  }
  .page-files .item{
    width: 49%;
    height: 220px;
    float: left;
    margin: 0 2% 0 0;
  }
  .page-files .item:nth-of-type(2n){
    margin: 0;
  }
  .page-files .item a{
    display: block;
  }
  .page-files .item a:hover{
    opacity: 0.75;
  }
  .page-files .item .image{
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    width: 600px;
    height: 120px;
    padding: 20px;
    border: 1px solid #ddd;
    box-sizing: border-box;
  }
  .page-files .item .image img{
    display: block;
    margin: auto;
    width: auto;
    max-height: 80px;
  }
  .page-files .item p{
    text-align: center;
    line-height: 1.6;
  }
  .page-files .item p.name{
    font-size: 1.4rem;
    margin: 10px 0 0;
  }
  .page-files .item p.spec{
    font-size: 1.0rem;
  }
}

/* ------------------------------------------------------------------
page-sitemap
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
  .page-sitemap{
    padding: 60px 0 80px;
  }
  .page-sitemap-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
    overflow: hidden;
  }
  .page-sitemap .col{
    width: 48%;
    float: left;
  }
  .page-sitemap .col:last-of-type{
    float: right;
  }
  .page-sitemap ul{
    line-height: 1.8;
  }
  .page-sitemap .col>ul>li{
    border-bottom: 1px solid #ddd;
  }
  .page-sitemap .col>ul>li>ul{
    margin: 0 0 0 35px;
  }
  .page-sitemap .col>ul>li>ul>li{
    border-top: 1px solid #ddd;
  }
  .page-sitemap .col>ul>li>ul>li>ul{
    margin: 0 0 0 35px;
  }
  .page-sitemap .col>ul>li>ul>li>ul>li{
    border-top: 1px solid #ddd;
  }
  .page-sitemap ul li a{
    position: relative;
    display: block;
    padding: 15px 15px 15px 35px;
  }
  .page-sitemap ul li a:hover{
    color: #0d90ca;
  }
  .page-sitemap ul li a:after{
    position: absolute;
    right: 20px;
    top: 50%;
    content: "";
    border-top: 1px solid #222;
    border-right: 1px solid #222;
    width: 5px;
    height: 5px;
    -webkit-transform: translate(0%, -50%) rotate(45deg);
    transform: translate(0%, -50%) rotate(45deg);
  }
  .page-sitemap ul li a:before{
    position: absolute;
    left: 10px;
    top: 50%;
    content: "";
    width: 10px;
    height: 10px;
    background: #3da1cd;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
  }
  .page-sitemap ul li ul li a:before{
    position: absolute;
    left: 10px;
    top: 50%;
    content: "";
    width: 10px;
    height: 1px;
    background: #222;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
  }
}
@media only screen and (max-width:767.98px) {
  .page-sitemap{
    padding: 30px 0 40px;
  }
  .page-sitemap-in{
    width: 90%;
    margin: auto;
  }
  .page-sitemap ul{
    line-height: 1.8;
  }
  .page-sitemap .col>ul>li{
    border-bottom: 1px solid #ddd;
  }
  .page-sitemap .col>ul>li>ul{
    margin: 0 0 0 30px;
  }
  .page-sitemap .col>ul>li>ul>li{
    border-top: 1px solid #ddd;
  }
  .page-sitemap .col>ul>li>ul>li>ul{
    margin: 0 0 0 30px;
  }
  .page-sitemap .col>ul>li>ul>li>ul>li{
    border-top: 1px solid #ddd;
  }
  .page-sitemap ul li a{
    position: relative;
    display: block;
    padding: 10px 10px 10px 30px;
  }
  .page-sitemap ul li a.hover{
    color: #0d90ca;
  }
  .page-sitemap ul li a:after{
    position: absolute;
    right: 10px;
    top: 50%;
    content: "";
    border-top: 1px solid #222;
    border-right: 1px solid #222;
    width: 5px;
    height: 5px;
    -webkit-transform: translate(0%, -50%) rotate(45deg);
    transform: translate(0%, -50%) rotate(45deg);
  }
  .page-sitemap ul li a:before{
    position: absolute;
    left: 10px;
    top: 50%;
    content: "";
    width: 10px;
    height: 10px;
    background: #3da1cd;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
  }
  .page-sitemap ul li ul li a:before{
    position: absolute;
    left: 10px;
    top: 50%;
    content: "";
    width: 10px;
    height: 1px;
    background: #222;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
  }
}

/* ------------------------------------------------------------------
page-privacy
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.page-privacy{
    padding: 60px 0 80px;
	}
	.page-privacy-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
	}
	.page-privacy p.lead{
		line-height: 1.8;
		margin: 0 0 40px;
	}
	.page-privacy .item{
		margin: 0 0 40px;
	}
	.page-privacy .item:last-of-type{
		margin: 0;
	}
	.page-privacy .item h2{
		font-size: 2.4rem;
		font-weight: 700;
		border-bottom: 2px solid #3da1cd;
		padding: 0 0 0.5em;
		margin: 0 0 1.0em;
	}
	.page-privacy .item p{
		line-height: 1.8;
		margin: 0 0 20px;
	}
	.page-privacy .item p strong{
		font-weight: 700;
	}
	.page-privacy .item p:last-child{
		margin: 0;
	}
	.page-privacy .item ul{
		line-height: 1.8;
		margin: 0 0 20px 1.5em;
	}
  .page-privacy .item ul li{
    margin: 0 0 20px;
    padding: 0 0 0 5px;
  }
  .page-privacy .item ul li:last-of-type{
    margin: 0;
  }
	.page-privacy .item ul:last-child{
		margin-bottom: 0;
	}
	.page-privacy .item ul.num>li{
		list-style: decimal;
	}
	.page-privacy .item ul.disc>li{
		list-style: disc;
	}
	.page-privacy .item .contact{
		border: 1px solid #ddd;
		padding: 30px;
	}
	.page-privacy .item dl{
		overflow: hidden;
		line-height: 1.6;
    margin: 0 0 10px;
	}
  .page-privacy .item dl:last-of-type{
    margin: 0;
  }
	.page-privacy .item dl dt{
    width: 6em;
    float: left;
    position: relative;
    padding-right: 20px;
    box-sizing: border-box;
	}
  .page-privacy .item dl dt::after {
    position: absolute;
    content: '：';
  }
	.page-privacy .item dl dd{
    float: left;
    padding-left: 5px;
    box-sizing: border-box;
	}
}
@media only screen and (max-width:767.98px) {
	.page-privacy{
    padding: 30px 0 40px;
	}
	.page-privacy-in{
		width: 90%;
		margin: 0 auto;
	}
	.page-privacy p.lead{
    font-size: 1.2rem;
		line-height: 1.8;
		margin: 0 0 40px;
	}
	.page-privacy .item{
		margin: 0 0 40px;
	}
	.page-privacy .item:last-of-type{
		margin: 0;
	}
	.page-privacy .item h2{
		font-size: 1.8rem;
		font-weight: 700;
		border-bottom: 2px solid #3da1cd;
		padding: 0 0 0.5em;
		margin: 0 0 1.0em;
    line-height: 1.4;
	}
	.page-privacy .item p{
    font-size: 1.2rem;
		line-height: 1.8;
		margin: 0 0 20px;
	}
	.page-privacy .item p strong{
		font-weight: 700;
	}
	.page-privacy .item p:last-child{
		margin: 0;
	}
	.page-privacy .item ul{
    font-size: 1.2rem;
		line-height: 1.8;
		margin: 0 0 20px 1.5em;
	}
  .page-privacy .item ul li{
    margin: 0 0 20px;
    padding: 0 0 0 5px;
  }
  .page-privacy .item ul li:last-of-type{
    margin: 0;
  }
	.page-privacy .item ul:last-child{
		margin-bottom: 0;
	}
	.page-privacy .item ul.num>li{
		list-style: decimal;
	}
	.page-privacy .item ul.disc>li{
		list-style: disc;
	}
	.page-privacy .item .contact{
		border: 1px solid #ddd;
		padding: 20px;
	}
	.page-privacy .item dl{
		overflow: hidden;
    font-size: 1.2rem;
		line-height: 1.6;
    margin: 0 0 10px;
	}
  .page-privacy .item dl:last-of-type{
    margin: 0;
  }
	.page-privacy .item dl dt{
    width: 6em;
    float: left;
    position: relative;
    padding-right: 20px;
    box-sizing: border-box;
	}
  .page-privacy .item dl dt::after {
    position: absolute;
    content: '：';
  }
	.page-privacy .item dl dd{
    float: left;
    padding-left: 5px;
    box-sizing: border-box;
	}
  .page-privacy .item dl dd a{
    text-decoration: underline;
  }
}

/* ------------------------------------------------------------------
page-regulation
------------------------------------------------------------------ */
@media print,screen and (min-width:768px) {
	.page-regulation{
    padding: 60px 0 80px;
	}
	.page-regulation-in{
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
	}
	.page-regulation .item{
		margin: 0 0 40px;
	}
	.page-regulation .item:last-of-type{
		margin: 0;
	}
	.page-regulation .item h2{
		font-size: 2.4rem;
		font-weight: 700;
		border-bottom: 2px solid #3da1cd;
		padding: 0 0 0.5em;
		margin: 0 0 1.0em;
	}
	.page-regulation .item dl{
		overflow: hidden;
		line-height: 1.8;
    margin: 0 0 20px 40px;
	}
  .page-regulation .item dl:last-of-type{
    margin: 0 0 0 40px;
  }
	.page-regulation .item dl dt{
		font-size: 1.8rem;
    font-weight: 700;
		border-bottom: 1px solid #ddd;
		padding: 0 0 0.5em;
		margin: 0 0 0.8em;
	}
  .page-regulation .item dl dd{
  }
	.page-regulation .item p{
		line-height: 1.8;
		margin: 0 0 20px;
	}
	.page-regulation .item p:last-child{
		margin: 0;
	}
	.page-regulation .item ul{
		line-height: 1.8;
		margin: 0 0 20px 1.5em;
	}
  .page-regulation .item ul li{
    margin: 0 0 15px;
    padding: 0 0 0 5px;
  }
  .page-regulation .item ul li:last-of-type{
    margin: 0;
  }
	.page-regulation .item ul:last-child{
		margin-bottom: 0;
	}
	.page-regulation .item ul.num>li{
		list-style: decimal;
	}
	.page-regulation .item ul.disc>li{
		list-style: disc;
	}
  .page-regulation .item ol{
    position: relative;
    margin: 10px 0 0 0;
  }
  .page-regulation .item ol li{
    list-style: none;
    list-style-position: outside;
    margin: 0;
    padding-left: 1.25em
  }
  .page-regulation .item ol li span{
    position: absolute;
    left: 0;
    margin: 0
  }
	.page-regulation .enforcement{
		overflow: hidden;
		line-height: 1.8;
    margin: 40px 0 0 40px;
    text-align: right;
	}
  .page-regulation .enforcement p{
    margin: 0 0 10px;
  }
  .page-regulation .revision{
    font-size: 1.4rem;
  }
}
@media only screen and (max-width:767.98px) {
	.page-regulation{
    padding: 30px 0 40px;
	}
	.page-regulation-in{
		width: 90%;
		margin: 0 auto;
	}
	.page-regulation .item{
		margin: 0 0 40px;
	}
	.page-regulation .item:last-of-type{
		margin: 0;
	}
	.page-regulation .item h2{
		font-size: 1.8rem;
		font-weight: 700;
		border-bottom: 2px solid #3da1cd;
		padding: 0 0 0.5em;
		margin: 0 0 1.0em;
	}
	.page-regulation .item dl{
		overflow: hidden;
		line-height: 1.8;
    margin: 0 0 20px 20px;
	}
  .page-regulation .item dl:last-of-type{
    margin: 0 0 0 20px;
  }
	.page-regulation .item dl dt{
		font-size: 1.4rem;
    font-weight: 700;
		border-bottom: 1px solid #ddd;
		padding: 0 0 0.5em;
		margin: 0 0 0.8em;
	}
  .page-regulation .item dl dd{
  }
	.page-regulation .item p{
    font-size: 1.2rem;
		line-height: 1.8;
		margin: 0 0 20px;
	}
	.page-regulation .item p:last-child{
		margin: 0;
	}
	.page-regulation .item ul{
    font-size: 1.2rem;
		line-height: 1.8;
		margin: 0 0 20px 1.5em;
	}
  .page-regulation .item ul li{
    margin: 0 0 15px;
    padding: 0 0 0 5px;
  }
  .page-regulation .item ul li:last-of-type{
    margin: 0;
  }
	.page-regulation .item ul:last-child{
		margin-bottom: 0;
	}
	.page-regulation .item ul.num>li{
		list-style: decimal;
	}
	.page-regulation .item ul.disc>li{
		list-style: disc;
	}
  .page-regulation .item ol{
    position: relative;
    margin: 10px 0 0 0;
  }
  .page-regulation .item ol li{
    list-style: none;
    list-style-position: outside;
    margin: 0;
    padding-left: 1.25em
  }
  .page-regulation .item ol li span{
    position: absolute;
    left: 0;
    margin: 0
  }
	.page-regulation .enforcement{
		overflow: hidden;
		line-height: 1.8;
    margin: 40px 0 0 40px;
    text-align: right;
	}
  .page-regulation .enforcement p{
    margin: 0 0 10px;
  }
  .page-regulation .revision{
    font-size: 1.2rem;
  }
}

/* ------------------------------------------------------------------
page-contact
------------------------------------------------------------------ */
@media only screen and (min-width:1000px) {
  .page-contact{
		padding: 60px 0 80px;
  }
  .page-contact-in{
		position: relative;
		max-width: 1200px;
		margin: auto;
		padding: 0 20px;
    box-sizing: border-box;
	}
	.page-contact p.lead{
		line-height: 1.8;
    margin: 0 0 40px;
	}
	.page-contact .contact-tel{
    display: table;
    width: 100%;
		border: 1px solid #ddd;
    border-radius: 10px;
		text-align: center;
		padding: 20px;
		margin: 0 0 40px;
    box-sizing: border-box;
    overflow: hidden;
	}
  .page-contact .contact-tel .col{
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    width: 50%;
  }
  .page-contact .contact-tel .col:first-of-type{
    border-right: 1px solid #ddd;
  }
	.page-contact .contact-tel p.note {
		font-size: 1.6rem;
		font-weight: 700;
    line-height: 1.6;
		margin: 0 0 10px;
	}
  .page-contact .contact-tel p.note strong{
    font-size: 2.4rem;
  }
	.page-contact .contact-tel p.num span {
		font-size: 4.0rem;
		font-weight: 700;
		background: url(../images/common/icon_tel.png) 0 50% no-repeat;
		background-size: 32px auto;
		padding: 0 0 0 50px;
	}
	.page-contact .contact-tel p.fax {
		font-size: 1.6rem;
		font-weight: 700;
		margin: 13px 0 0;
	}
	.page-contact .contact-tel p.time {
		font-size: 1.6rem;
		font-weight: 700;
		margin: 13px 0 0;
	}
}
@media only screen and (max-width:999px) {
  .page-contact{
		padding: 30px 0 40px;
  }
  .page-contact-in{
		position: relative;
		width: 90%;
		margin: 0 auto;
  }
	.page-contact p.lead{
		line-height: 1.8;
    margin: 0 0 20px;
	}
  .page-contact .contact-tel p.note strong{
    font-size: 1.6rem;
  }
	.page-contact .contact-tel{
		border: 1px solid #ddd;
    border-radius: 10px;
		text-align: center;
		padding: 15px;
		margin: 0 0 20px;
	}
  .page-contact .contact-tel .col:first-of-type{
    border-bottom: 1px solid #ddd;
    padding: 0 0 15px;
    margin: 0 0 15px;
  }
	.page-contact .contact-tel p.note {
		font-size: 1.2rem;
		font-weight: 700;
    line-height: 1.6;
	}
	.page-contact .contact-tel p.num span {
		font-size: 3.2rem;
		font-weight: 700;
		background: url(../images/common/icon_tel.png) 0 50% no-repeat;
		background-size: 28px auto;
		padding: 0 0 0 40px;
	}
	.page-contact .contact-tel p.fax {
		font-size: 1.1rem;
		font-weight: 700;
		margin: 12px 0 0;
	}
	.page-contact .contact-tel p.time {
		font-size: 1.1rem;
		font-weight: 700;
		margin: 12px 0 0;
	}
}

/* ------------------------------------------------------------------
thanks
------------------------------------------------------------------ */
@media only screen and (min-width:1000px) {
  .page-contact .thanks {
    text-align: center;
    background: #fff;
    padding: 40px;
    margin: 10px 0 0;
		border: 1px solid #ddd;
    border-radius: 10px;
    box-sizing: border-box;
  }
  .page-contact .thanks h2{
    font-size: 3.6rem;
    margin: 0 0 20px;
  }
  .page-contact .thanks p{
    margin: 0 0 40px;
    line-height: 1.8;
  }
}
@media print, screen and (max-width:999px) {
  .page-contact .thanks {
    text-align: center;
    background: #fff;
    padding: 20px;
		border: 1px solid #ddd;
    border-radius: 8px;
    box-sizing: border-box;
  }
  .page-contact .thanks h2{
    font-size: 2.4rem;
    margin: 0 0 20px;
  }
  .page-contact .thanks p{
    margin: 0 0 20px;
    line-height: 1.6;
  }
}

/* ------------------------------------------------------------------
page-search
------------------------------------------------------------------ */
@media only screen and (min-width:1000px) {
  .page-search{
		padding: 60px 0 80px;
  }
  .page-search-in{
		position: relative;
		max-width: 1200px;
		margin: auto;
		padding: 0 20px;
    box-sizing: border-box;
	}
  .page-search #cse-search-results{
    width: 100%;
	}
}
@media only screen and (max-width:999px) {
  .page-search{
		padding: 30px 0 40px;
  }
  .page-search-in{
		position: relative;
		width: 90%;
		margin: 0 auto;
  }
  .page-search #cse-search-results{
    width: 100%;
	}
}


/* pdfarea */
.pdfarea {
  position: relative;
}
.pdfarea__link {
  position: absolute;
  z-index: 10;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: calc(100% + 6px);
  height: 100%;
  text-align: center;
}
@media print,screen and (min-width:768px) {
  .pdfarea {
    margin-bottom: 60px;
  }
  .pdfarea__link:hover + .pdfarea__main {
    opacity: .7;
  }
  .pdfarea__main {
    transition: opacity .3s;
  }
}
@media only screen and (max-width:767.98px) {
  .pdfarea {
    margin-bottom: 40px;
  }
}