/* =====================================================

2021-7-20
 
===================================================== */



/* 01 *
===================================================== */
* {
	margin: 0;
	padding: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

/* 02 body
===================================================== */
html {
	overflow-y: scroll;
}
html,body {
	height: 100%;
}
@font-face { /*chrome*/
	font-family: 游ゴシック, 游ゴシック体, 'Yu Gothic', YuGothic;
	font-weight: 400;
}
body {
    text-align: center;
 	background-color: #fff;
    font-size: 95%; /*16px = 12pt*/
    line-height: 140%;
    color: #444;
    font-family: 'Lato', 'Noto Sans JP', 游ゴシック, 游ゴシック体, 'Yu Gothic', YuGothic, メイリオ, Meiryo, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
 	/* font-family: 'Lora', 'Noto Serif JP', "游明朝", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif; */
    font-weight: 500;
}
b
/*テキスト少ない時footer固定*/
article {
	min-height: calc(100vh - 500px);
}

/* 03 Reset-base
===================================================== */
article,aside,canvas,details,figcaption,figure,
header,footer,main,menu,nav,section,summary {
	display: block;
}
img, a, area {
	outline:none;
	border: none;
}

*:focus { /*chromeに現れる青い線 */
  outline: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}
table, th, td {
	font-weight: normal;
	text-align: left;
	border: none;
}
em, address {
	font-style: normal;
}
h1, h2, h3, h4, h5, h6 {
	font-weight: normal;
	text-align: left;
	font-size: 100%;
}
li {
	list-style-type:none;
	list-style-position: outside;
}
div,p,li,dl,table,th,td {
}

/* 04 Reset-others
===================================================== */
.mobile {
	display: none;
}
.pc {
}

hr {
	margin: 10px auto 10px;
	border: 0;
	height: 1px;
	background-image: -webkit-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.35), rgba(0,0,0,0));
    background-image:    -moz-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.35), rgba(0,0,0,0));
    background-image:     -ms-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.35), rgba(0,0,0,0));
    background-image:      -o-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.35), rgba(0,0,0,0));
}

.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.clearfix {
	display: inline-block;
	min-height: 1%;  /* for IE 7*/
}

.small {
	font-size: 0.9em;
	line-height: 120%;
}
.xsmall {
	font-size: 0.8em;
	line-height: 120%;
}
.large {
	font-size: 1.1em;
}
.xlarge {
	font-size: 1.2em;
}
.xxlarge {
	font-size: 1.5em;
	line-height: 50%;
}
.clear {
	clear: both;
}
.white {
	color: #ffffff;
}
.red {
	color: #ee0000;
}
.blue {
	color: #006ab7;
}
.center {
	text-align: center;
}
.right {
	text-align: right;
}
.left {
	text-align: left;
}

/* 05 Reset-image 
===================================================== */
.imgR {
	margin: 5px 0px 1em 1.5em;
	float: right;
	display:inline;
	box-shadow: 0 32px 30px -30px rgba(53, 47, 47, 0.15);
}

.imgL {
	margin: 5px 1.5em 1em 0px;
	float: left;
	display:inline;
	box-shadow: 0 32px 30px -30px rgba(53, 47, 47, 0.15);
}



/* 06 layout - ID
===================================================== */
header {
	position: fixed;
    margin: 0 0 auto;
	top: 0;
	left: 0;
	width: 100%;
	min-width: 100%;
    height: 80px;
	z-index: 10;
    background-color: #fff;
	overflow: hidden;
	transition: 0.2s;
}
#headerBar {
    position: relative;
    margin: 0 auto;
    width: 1060px;
    min-width: 1060px;
    height: 80px;
	transition: 0.2s;
}
#headerNav {
	position: relative;
	margin: 80px auto 0; /*header height*/
    height: 70px;
	background-color: #f6f6f6;
}
#headerImg {
    position: relative;
	height: 250px;
    width: 100%;
    min-width: 1060px;
    background-image: url(../images/_headerimage/headerImage01.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: left top;
}
#idx #headerImg {
 	height: 500px;
}
@media screen and (min-width:1620px) {
	#headerImg {
		background-repeat: repeat-x;
		background-position: center center;
}	
}
#oc #headerImg {
	background-image: url(../images/_headerimage/headerImage11.jpg);
}
#steps #headerImg {
	background-image: url(../images/_headerimage/headerImage12.jpg);
}
#koe #headerImg {
    background-image: url(../images/_headerimage/headerImage14.jpg);
}
#ryugaku #headerImg {
    background-image: url(../images/_headerimage/headerImage13.jpg);
}
#staff #headerImg {
    background-image: url(../images/_headerimage/headerImage01.jpg);
}
#inquiry #headerImg {
	background-image: url(../images/_headerimage/headerImage01.jpg);
}
#headerImgPassport {
    position: relative;
	height: 200px;
    width: 100%;
    min-width: 1060px;
	background:linear-gradient(to right, #146165, #3c8898);
}

footer {
	position: relative;
	clear: both;
	margin: 0 auto;
	width: 100%;
	min-width: 1060px;
	background-color: #f6f6f6;
}

/* 15 header
===================================================== */
header.scroll-kotei,
#idx header.scroll-kotei {
	height:65px; /*固定で80px→65px */
	transition: 0.5s;
	box-shadow: 0 1px 0px rgba(0,0,0,0.40);
}
header.scroll-kotei #headerBar,
#idx header.scroll-kotei #headerBar {
    position: relative;
    margin: 0 auto;
    width: 95%;
    max-width: 1620px;
    height: 65px;
	transition: 0.5s;
}

h1 {
	position: absolute;
	margin: auto;
	left: 230px;
	top: 30px;
	height: 200px;
	font-size: 0.7em;
	font-weight: normal;
	line-height: 20px;
	text-align: left;
	color: #999;
    transition: all .5s;
}
header.scroll-kotei h1 {
	opacity: 0;
	left: 380px;
	top: 25px;
}

#headerLogo {
    display: inline-block;
    width: 314px;
    height: 58px;
    margin: auto;
    position: absolute;
    top: 9px;
    left: 0px;
    transition: all .5s;
    background-image: url(../images/_logo/OC_logo01.png);
    background-repeat: no-repeat;
 }
header.scroll-kotei #headerLogo {
	top: -1px;
	background-image: url(../images/_logo/OC_logo02.png);
}
#headerLogoM {
	display: none;
}
#top-taiken,
#top-inquiry,
#top-insta,
#top-home {
    margin: auto;
    position: absolute;
	display: inline-block;
    top: 0;
    width: 150px;
    height: 100%;
    line-height: 110%;
    font-size: 90%;
    font-weight: bold;
    text-decoration: none;
    text-align: center;
    padding-top: 45px;
    color: #fff;
    background-repeat: no-repeat;
    transition: all .6s;
}
#top-taiken {
    right: 230px;
    border: 1px solid #db4325;
    background-image: url(../images/_icon/h-pen01W.png);
    background-position: center top 15px;
    background-color: #db4325;
}
#top-inquiry {
    right: 80px;
	border: 1px solid #146165;
    background-image: url(../images/_icon/h-mail01W.png);
    background-position: center top 20px;
    background-color: #146165;
}
#top-insta {
    right: 40px;
    width: 40px;
    border: 1px solid #dceced;
    background-image: url("../images/_icon/h-insta28.png");
    background-position: center center;
    background-color: #fcfcfc;
}
#top-home {
    right: 0px;
    width: 40px;
    border: 1px solid #dceced;
    border-left: 1px solid rgba(255,255,255,0.50);
    background-image: url(../images/_icon/h-home01G.png);
    background-position: center center;
    background-color: #dceced;
}
#top-taiken:hover {
    color: #db4325;
    background-color: rgba(219,67,37,0.10);
    background-image: url(../images/_icon/h-pen01R.png);
}
#top-inquiry:hover {
    color: #146165;
    background-color: #dceced;
    background-image: url(../images/_icon/h-mail01R.png);
}
#top-insta:hover,
#top-home:hover {
    background-color: #fff;
    border: 1px solid #146165;
}
header.scroll-kotei #top-taiken {
	background-position: center top 10px;
	padding-top: 38px;
}
header.scroll-kotei #top-inquiry {
	background-position: center top 15px;
	padding-top: 38px;
}



/* 16 #headerNav
===================================================== */
#headerNav > ul {
    margin: 0 auto;
	width: 1060px;
	min-width: 1060px;
    height: 100%;
	display: flex;
	position: relative;
}
#headerNav > ul > li {
    margin: auto;
    height: 100%;
	width: calc(1060px / 5);
	background-color: #f6f6f6;
}
#headerNav > ul > li:first-child, /*homeはmobileで表示*/
#headerNav > ul > li:last-child { /*inquiryはmobileで表示*/
	display: none;
}
#headerNav > ul > li dt,
#headerNav > ul > li > a { /*0dan*/
	line-height: 70px;
	font-size: 1.0em;
	font-weight: bold;
	text-align: center;
	color: #111;
	text-decoration: none;
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
	letter-spacing: 0.5px;
	transition: 0.3s;
}
#headerNav > ul > li span { /*2行*/
	display: block;
}
#headerNav > ul > li:nth-child(4) dt,
#headerNav > ul > li:nth-child(4) a,
#headerNav > ul > li:nth-child(6) dt,
#headerNav > ul > li:nth-child(6) a { /*2行*/
	line-height: 130%;
	padding-top: 18px;
}
#headerNav > ul > li:hover dt,
#headerNav > ul > li:hover a { /*0dan*/
	color: #fff;
	background-color: #1170aa;
}
#oc      #headerNav > ul > li:nth-child(2) a,
#ryugaku #headerNav > ul > li:nth-child(3) a,
#steps   #headerNav > ul > li:nth-child(4) a,
#koe     #headerNav > ul > li:nth-child(5) a,
#staff   #headerNav > ul > li:nth-child(6) a { /*当該ページ*/
 	color: #fff;
	background-color: #1170aa;
}

#headerNav dl { /*1dan*/
	position: relative;
}
#headerNav dd { /*1dan*/
	display: none; /*noneからsliodeDown*/
	position: absolute;
    margin: auto;
	top: 70px;
    left: 0;
	width: 100%;
	z-index: 1;
}
#headerNav dd li a { /*1dan*/
    text-align: left;
    line-height: 50px;
    color: #fff;
    font-size: 100%;
    font-weight: bold;
    text-decoration: none;
    display: block;
    width: 100%;
    height: 50px;
    padding: 0 0 0 30px;
    letter-spacing: 0px;
    transition: 0.3s;
     background-color: #ff0;
    background-image: url(../images/_base/arrow05W.png);
    background-repeat: no-repeat;
    background-position: left 10px center;
	border: 1px solid #fff;
}
#headerNav dd li a:hover { /*1dan*/
	background-color: #fff;
	border: 1px solid #f00;
	color: #f00;
}

/* 16 mobile-Nav
===================================================== */
.drawer_toggle,
.drawerBGwrapper {
	display: none;
}



/* 16-2 #cateNav
===================================================== */
#pankuz {
	background-color: transparent;
	margin: 0 auto 0;
	padding: 10px 0;
}
#pankuz ul {
	margin: 0 auto;
	width: 1060px;
	min-width: 1060px;
	height: 25px;
	line-height: 25px;
	display: flex;
	justify-content: flex-end;
}
#pankuz li {
 	margin-right: 2px;
	position: relative;
}
#pankuz li:nth-child(1),
#pankuz li:nth-child(2) {
    background-image: url(../images/_base/arrow08.png);
    background-repeat: no-repeat;
    background-position: right center;
	padding-right: 16px;
	margin-right: 10px;
}
#pankuz li span,
#pankuz li a {
    display: block;
	height: 100%;
    padding: 0 1em;
	text-align: center;
	color: #111;
    background-color: #e6e6e6;
    font-weight: normal;
	font-size: 0.9em;
    text-decoration: none;
    transition: 0.2s;
}
#pankuz li a.active,
#company.gaiyo   #pankuz li:nth-child(3) a,
#company.aisatu  #pankuz li:nth-child(4) a,
#company.net     #pankuz li:nth-child(5) a,
#seihin.harness  #pankuz li:nth-child(3) a,
#seihin.youso    #pankuz li:nth-child(4) a,
#inquiry.form    #pankuz li:nth-child(3) a,
#inquiry.privacy #pankuz li:nth-child(4) a {
	background-color: #b6b6b6;
	color: #fff;
}
#pankuz li a:hover {
	border-bottom: 1px solid #0373d3;
	color: #0373d3;
}



/* 17 #headerImg
===================================================== */
#headerImg ul {
    margin: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(15%, -45%);
	font-family: 'Lora', 'Noto Serif JP', "游明朝", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	color: #fff;
	font-size: 2.3em;
	line-height: 110%;
	font-weight: 500;
	text-align: left;
	letter-spacing: 1px;
}
#headerImg ul li:nth-child(1) {
	padding-bottom: 0.25em;
}
#headerImg ul li:nth-child(2) {
	padding-bottom: 0.75em;
}
#idx #headerImg ul li:nth-child(2) {
	padding-bottom: 1.0em;
}
#headerImg ul li:nth-child(3) {
	padding-bottom: 0.25em;
}
#headerImg ul li:nth-child(3) span {
	display: inline-block;
	padding: 0.25em 0.5em;
	font-size: 0.8em;
	border: 1px solid #fff;
}
#idx #headerImg ul li:nth-child(3) span {
	padding: 0.25em;
}
#headerImgPassport div {
    margin: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -55%);
	font-family: 'Lora', 'Noto Serif JP', "游明朝", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	color: #fff;
	font-size: 2.3em;
	line-height: 150%;
	font-weight: normal;
	text-align: center;
	letter-spacing: 1px;
}
#headerImgPassport img {
    margin: auto;
    position: absolute;
    top: -25px;
    right: 10px;
}


/* 18  section
===================================================== */
section {
    margin: 0 auto;
	width: 100%;
	min-width: 1060px;
	padding: 60px 0;
	clear: both;
	overflow: hidden;
	text-align: center;
}
#idx article section:nth-of-type(1) {
	padding: 100px 0 100px;
	background: linear-gradient(90deg, #f6f6f6 0%, #f6f6f6 40%, #ffffff 40%, #ffffff 100%);
}
#idx article section:nth-of-type(2) {
    padding: 60px 0 60px;
    background-color: #146165;
    background-image: url(../images/_bg/aisatu01.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
#idx article section:nth-of-type(3) {
    padding: 100px 0 100px;
    background-image: url(../images/_bg/con-bg01.png),url(../images/_bg/con-bg01.png),url(../images/_bg/con-bg01.png);
    background-repeat: no-repeat, no-repeat, no-repeat;
    background-position: left top 160px, right center, center bottom 100px;
}
#oc article section:nth-of-type(2) {
	background-color: #e9f5f5;
}
#oc article section:nth-of-type(3) {
    padding: 50px 0 50px;
    background-image: url(../images/_bg/con-bg02.png),url(../images/_bg/con-bg02.png),url(../images/_bg/con-bg02.png);
    background-repeat: no-repeat, no-repeat, no-repeat;
    background-position: left top 160px, right center, center bottom 50px;
}
#ryugaku article section:nth-of-type(2) {
	background-color: #e9f5f5;
}


/* 19-1 wrapper
===================================================== */
.wrapper {
    position: relative;
    margin: 0 auto;
    width: 1060px;
    min-width: 1060px;
}
	
/* 19-2  contents, container
===================================================== */

/* 20  aside
===================================================== */


/* 21 footer
===================================================== */
footer .wrapper {
	padding:  0;
}
footer .wrapper > ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	font-size: 0.85em;
}
footer .wrapper > ul li#footerLogo {
    width: 480px;
	height: 105px;
    margin: auto auto auto 0;
 	color: #114693;
    line-height: 160%;
    font-size: 1.1em;
   font-weight: bold;
    background-image: url(../images/_logo/GB_logo01.png);
    background-repeat: no-repeat;
    background-position: left center;
    padding: 30px 0 0 120px;
    text-align: left;
}
footer .wrapper > ul > li:nth-child(2) {
	margin: 3em;
}
footer .wrapper > ul li li {
	margin-top: 1em;
}
footer a {
	transition: 0.5s;
}
footer ol li::before {
	content: "-";
	margin: 0 0.75em 0 1em;
		
}

address {
	font-size: 0.9em;
	color: #69909f;
	padding: 20px 0 20px;
	background-color: #146165;
}

ul#footerNavM {
	display: none;
}

#page-top {
	position: fixed ;
	right: 16px ;
	bottom: 16px ;
	z-index: 501;
} 
#page-top a {
    display: block;
    background-color: rgba(180,180,180,1.00);
    width: 50px;
    height: 50px;
    cursor: pointer;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    color: #fff;
    line-height: 50px;
    text-decoration: none;
    text-align: center;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

#page-top a:hover {
    background-color: rgba(180,180,180,0.80);
    -webkit-border-radius: 30%;
    -moz-border-radius: 30%;
    border-radius: 30%;
}

/* 22 Reset
===================================================== */
h2 {
    margin: 0 auto 2em;
	text-align: center;
	position: relative;
	font-size: 2.5em;
	color: #001b3c;
	letter-spacing: 2px;
	line-height: 110%;
	font-weight: normal;
	font-family: 'Lora', 'Noto Serif JP', "游明朝", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
h2 div {
	display: block;
    margin: 0 auto 0.25em;
	font-size: 0.85em;
}
h2.steps strong,
h2.koe strong,
h2.ryugaku strong {
	display: inline-block;
    margin: 0 3px;
	color: #dc4324;
	font-size: 1.2em;
	font-weight: normal;
}
h2.oc {
	color: #146165;
    font-family: 'Lato', 'Noto Sans JP', 游ゴシック, 游ゴシック体, 'Yu Gothic', YuGothic, メイリオ, Meiryo, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
 	font-weight: bold;
	letter-spacing: 0px;
    margin: 0 auto 1em;
}
h2.oc img {
	margin: 0px 0.25em 0.4em;
	height: 42px;
	vertical-align: middle;
}
h2.inquiry {
    margin: 0 auto 1em;
}

h3 { /*留学*/
    margin: 0 auto 0.7em;
	font-size: 1.8em;
	line-height: 150%;
	color: #146165;
	letter-spacing: 0px;
	font-weight: bold;
	border-left: 3px solid #146165;
	padding-left: 10px;
}

h4 { /*inquiry*/
    margin: 0 auto 1em;
	font-weight: normal;
	font-size: 1.2em;
	text-align: center;
}

div.pR {
	margin: 0px 10px 10px;
	text-align: right;
}
p, dt, dd, li {
	text-align: justify;
	text-justify: inter-ideograph;
}

/* 23 Reset-A-tag
===================================================== */
footer a {
	color: #000;
	text-decoration: none;
}
footer a:hover {
	color: #666;
	text-decoration: underline;
}
address a {
	color: #69909f;
	text-decoration: none;
}
address a:hover {
	color: #69909f;
	text-decoration: underline;
}



/* =====================================================

. index
. local
. inquiry


===================================================== */



/*  index
===================================================== */
ul.teikyou, ul.tokutyou {
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
}
ul.teikyou li, ul.tokutyou li {
	position: relative;
}
ul.teikyou li:nth-child(odd) {
	width: 480px;
	margin-right: 60px;
}
ul.teikyou li:nth-child(even) {
	width: calc(100% - 60px - 480px);
}
ul.tokutyou li:nth-child(odd) {
	width: 590px;
	margin-right: 60px;
	margin-bottom: 65px;
}
ul.tokutyou li:nth-child(even) {
	width: calc(100% - 60px - 590px);
	margin-bottom: 65px;
}
ul.teikyou li:nth-child(odd), ul.tokutyou li:nth-child(odd) {
	margin-right: 60px;
}
ul.tokutyou li:nth-child(3) {
	margin-right: 0px;
	margin-left: 60px;
	order: 4;
}
ul.tokutyou li:nth-child(4) {
	order: 3;
}
ul.tokutyou li:nth-child(5) {
	order: 5;
}
ul.tokutyou li:nth-child(6) {
	order: 6;
}
ul.tokutyou li:nth-child(even):before {
	content: "01";
	position: absolute;
	display: block;
	margin: auto;
	font-size: 150px;
	color: #cde7e8;
	font-weight: bold;
	line-height: 100%;
	top: -25px;
}
ul.tokutyou li:nth-child(4):before {
	content: "02";
}
ul.tokutyou li:nth-child(6):before {
	content: "03";
}
ul.tokutyou li:nth-child(6):after {
    content: "";
    position: absolute;
    right: 0;
    top: 20px;
    display: inline-block;
    width: 110px;
    height: 72px;
    background-image: url(../images/_others/flag01.png);
    background-size: contain;
    background-repeat: no-repeat;
}

ul.teikyou img, ul.tokutyou img {
	vertical-align: bottom;
}
ul.teikyou dt {
	color: #db4325;
	font-size: 1.7em;
	line-height: 170%;
	font-weight: normal;
	margin-bottom: 0.8em;
}
ul.tokutyou dt {
	color: #146165;
	font-size: 1.7em;
	line-height: 170%;
	font-weight: normal;
	margin-bottom: 0.8em;
	position: relative;
	padding-top: 125px;
	letter-spacing: 1px;
}
ul.teikyou dd , ul.tokutyou dd {
	font-size: 1.1em;
	line-height: 160%;
}
dl.aisatu {
    color: #fff;
    padding: 70px 350px 70px 70px;
    border: 1px solid #fff;
    background-image: url(../images/_photo/image002.png);
    background-repeat: no-repeat;
    background-position: right 70px center;
    background-size: 240px auto;
}
dl.aisatu dt {
	font-size: 1.9em;
	line-height: 110%;
	font-weight: normal;
	margin-bottom: 0.8em;
}
dl.aisatu dd {
	font-size: 1.2em;
	line-height: 140%;
	font-weight: normal;
}

.wrapper.globalbnr img {
	width: calc((1060px - 36px) / 6);
	border: 1px solid #eee;
	transition: 0.3s;
	margin: 0 3px;
}
.wrapper.globalbnr img:hover {
	opacity: 0.9;
	border: 1px solid #f99;
	position: relative;
	top: -1px;
}


/*  local
===================================================== */
/* oc */
ul.oc_catch {
	margin: 0 auto;
	display: flex;
	justify-content : center;
}
ul.oc_catch li {
	margin: 0;
	width: 30%;
	text-align: center;
	color: #146165;
	font-size: 1.3em;
	line-height: 150%;
	font-weight: bold;
	letter-spacing: 1px;
}
ul.oc_catch img {
	margin-bottom: 0.5em;
}

ul.oc_tokutyou {
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
}
ul.oc_tokutyou li {
	margin: 0 auto;
	text-align: center;
	color: #146165;
}
ul.oc_tokutyou li:nth-child(odd) {
	width: 590px;
	margin-right: 60px;
	margin-bottom: 65px;
}
ul.oc_tokutyou li:nth-child(even) {
	width: calc(100% - 60px - 590px);
	margin-bottom: 65px;
}
ul.oc_tokutyou li:nth-child(odd) {
	margin-right: 60px;
}
ul.oc_tokutyou li:nth-child(3) {
	margin-right: 0px;
	margin-left: 60px;
	order: 4;
}
ul.oc_tokutyou li:nth-child(4) {
	order: 3;
}
ul.oc_tokutyou li:nth-child(5) {
	order: 5;
}
ul.oc_tokutyou li:nth-child(6) {
	order: 6;
}
ul.oc_tokutyou dt {
	color: #db4325;
	font-size: 1.7em;
	line-height: 150%;
	font-weight: normal;
	margin-bottom: 0.8em;
	position: relative;
	letter-spacing: 1px;
}
ul.oc_tokutyou dd {
	font-size: 1.1em;
	line-height: 160%;
}

div.oc_catch {
	font-size: 1.3em;
	line-height: 160%;
}

dl.oc_tokuten {
	margin: 0 auto;
	width: 100%;
	border: 3px solid #146165;
	border-radius: 10px;
}
dl.oc_tokuten > dt {
	text-align: center;
	color: #fff;
	background-color: #146165;
	font-size: 1.5em;
	line-height: 110%;
	font-weight: bold;
	padding: 0.5em;
	border-radius: 5px 5px 0 0;
}
dl.oc_tokuten > dd {
	text-align: center;
	width: 100%;
	padding: 1.5em 3em;
	color: #146165;
	background-color: #f6f6f6;
	font-size: 1.1em;
	line-height: 150%;
	border-radius: 0 0 5px 5px;
}
dl.oc_tokuten ul {
	margin: 1.5em auto;
	display: flex;
	align-items: stretch;
	width: 100%;
}
dl.oc_tokuten li {
    margin: 0;
    width: calc((100% - 2em) / 2);
    color: #111;
    background-color: #fff;
    padding: 2em 3em 2em 190px;
    border-radius: 5px;
    font-size: 0.90em;
    line-height: 150%;
     background-image: url(../images/_others/oc04.png);
    background-repeat: no-repeat;
    background-position: left 30px center;
}
dl.oc_tokuten li:last-child {
	margin-left: 2em ;
    background-image: url(../images/_others/oc05.png);
}

/* 3steps */
ul.step_123 {
	margin: 0 auto;
	width: 100%;
}
ul.step_123 li {
    position: relative;
    margin: 0 0 65px;
    width: 100%;
    height: 400px;
    background-image: url(../images/_photo/image0024.png);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: contain;
}
ul.step_123 li:nth-child(2) {
    background-image: url(../images/_photo/image0025.png);
}
ul.step_123 li:nth-child(3) {
    background-image: url(../images/_photo/image0026.png);
}
ul.step_123 dl {
	display: inline-block;
	position: absolute;
    top: 50%;
    left: 0%;
    transform: translate(0, -50%);
	width: 50%;
	margin: auto;
	padding: 50px 2em 2em;
	background-color: #2b7075;
	color: #fff;
}
ul.step_123 dt {
	font-size: 1.7em;
	line-height: 150%;
	font-weight: normal;
	margin-bottom: 0.5em;
	letter-spacing: 1px;
}
ul.step_123 dd {
	font-size: 1.0em;
	line-height: 150%;
}
ul.step_123 dl::after {
    content: "";
    position: absolute;
    left: 0;
    top: -44px;
    display: inline-block;
    width: 230px;
    height: 89px;
    background-image: url(../images/_others/step01.png);
    background-size: contain;
    background-repeat: no-repeat;
}
ul.step_123 li:nth-child(2) dl::after {
    background-image: url(../images/_others/step02.png);
}
ul.step_123 li:nth-child(3) dl::after {
	background-image: url(../images/_others/step03.png);
}

/* staff */
dl.staff {
	margin: -10px auto 0;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}
dl.staff dt {
    margin: 0 0 3em;
    width: 28%;
    text-align: left;
    color: #db4325;
    font-size: 1.8em;
    line-height: 110%;
    font-weight: normal;
    font-family: 'Lora', 'Noto Serif JP', "游明朝", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    padding: 315px 0 0 0px;
    background-image: url(../images/_photo/s_dr_hanatsu2.png);
    background-repeat: no-repeat;
    background-position: left top;
    background-size: 250px auto;
}
dl.staff dt.eri {
    background-image: url(../images/_photo/s_eri.love.world2.png);
}
dl.staff dd {
	width: 72%;
	background-color: #e9f5f5;
	margin: 0 0 3em;
	border-radius: 10px;
	padding: 2.5em 4em;
	color: #146165;
	color: #666;
}
dl.staff dd p {
    text-indent: 1.0em;
    font-size: 1.0em;
	margin-bottom: 0em;
	background-image: linear-gradient(180deg, #fff 1px, #ccc 2px, transparent 1px); /* 罫線の色と太さ */
	background-size: 100% 2.0em; /* 行の高さ */
	line-height: 2.0em; /* 文字の高さ */
	padding-bottom: 2px; /* 最終行の下にも罫線を引く */
}
dl.staff dd span {
}

/* ryugaku */
ul.ryugaku_catch {
	margin: 0 auto;
	display: flex;
	align-items: center;
	width: 100%;
}
ul.ryugaku_catch li {
	margin: auto;
	font-size: 1.1em;
	line-height: 150%;
}
ul.ryugaku_catch li:last-child {
	padding-left: 50px;
}
.ryugaku_tokutyo ul {
	margin: 0 auto 50px;
	display: flex;
	width: 100%;
	line-height: 150%;
}
.ryugaku_tokutyo ul p {
	line-height: 160%;
}
.ryugaku_tokutyo ul p strong {
	color: #db4325;
}
.ryugaku_tokutyo ul li:last-child {
	padding-left: 50px;
}

/* koe */
ul.koe li {
	background-color: #e9f5f5;
	margin: 0 0 2em;
	width: 100%;
    background-image: url(../images/_others/koe01.png);
    background-repeat: no-repeat;
    background-position: left 30px top 40px;
	border-radius: 10px;
}
ul.koe li.boy {
    background-image: url(../images/_others/koe02.png);
}
ul.koe li.girl {
    background-image: url(../images/_others/koe01.png);
}
ul.koe li.koe03 {
    background-image: url(../images/_others/koe03.png);
}
ul.koe li.koe04 {
    background-image: url(../images/_others/koe04.png);
}
ul.koe li.koe05 {
    background-image: url(../images/_others/koe05.png);
}
ul.koe li.koe06 {
    background-image: url(../images/_others/koe06.png);
}
ul.koe li.koe07 {
    background-image: url(../images/_others/koe07.png);
}
ul.koe li.koe08 {
    background-image: url(../images/_others/koe08.png);
}
ul.koe dl {
    margin: 0 auto;
    padding: 3em 3em 3em 220px;
    width: 100%;
 }
ul.koe dt {
	position: relative;
	color: #fff;
	background-color: #db4325;
	padding: 1em;
	font-size: 1.3em;
	line-height: 130%;
	font-weight: normal;
	border-radius: 10px;
}
ul.koe dt:after {
  position: absolute;
  top: 20px;
  left: -45px;
  width: 0;
  height: 0;
  content: '';
  border: 25px solid transparent;
  border-right: 25px solid #db4325 ;
}
ul.koe dd {
	padding: 20px 0 0;
	line-height: 150%;
}


/* inquiry */
div.form_wrapper {
	background-color: #e9f5f5;
	padding: 3em 0;
}
div.inquiry_waku {
}
div.inquiry_waku p {
	color: #146165;
	font-weight: normal;
}
form.inquiry {
	margin: 50px 0 30px;
}
form.inquiry > ul {
    display: flex;
	flex-wrap: wrap;
}
form.inquiry > ul > li {
	width: calc((100% - 1.5em) / 2);
	background-color: #fff;
	padding: 2em;
	margin-bottom: 1.5em;
}
form.inquiry > ul > li:nth-child(2) {
	margin-left: 1.5em;
}
form.inquiry > ul > li:nth-child(3) {
	width: 100%;
}
dl.inquiry {
}
dl.inquiry dt {
	padding-bottom: 0px;
	position: relative;
	font-size: 1.0em;
	color: #146165;
}
dl.inquiry dd {
	margin-bottom: 1.0em;
	font-size: 1.0em;
}

dl.inquiry dt.hissu {
	padding-left: 42px;
}
dl.inquiry dt.hissu::after {
    content: "";
    position: absolute;
    left: 0;
    top: 4px;
    display: inline-block;
    width: 35px;
    height: 14px;
    background-image: url(../images/_base/f-hissu.png);
    background-size: contain;
    background-repeat: no-repeat;
}

input::placeholder,
textarea::placeholder {
	color: #aaa;
}


form.inquiry input, 
form.inquiry textarea,
form.inquiry select,
form.inquiry option,
form.inquiry button {
    outline: 1px solid #db4325;
    border: 1px solid transparent;
    border-radius: 3px;
    background-color: rgba(255,255,255,0.75);
    font-family : inherit;
    font-size : 100%;
    vertical-align: middle;
    height: auto;
    padding: 0.5em 0.5em;
    display: inline-block;
    width: 100%;
    transition: all 0.6s;
    margin: 1px 0 1px auto;
}
form.inquiry .width2 {
	width: 40.0%;
	margin-bottom: 3px;
}
form.inquiry textarea.width4 {
	height: 363px;
	resize: vertical;
}
form.inquiry input[type="checkbox"],
form.inquiry input[type="radio"] {
    outline: none;
    border: none;
    width: auto;
    margin: 1px 0.25em 1px auto;
}
form.inquiry label {
	margin-right: 1em;
 }

form.inquiry input:focus, form.inquiry textarea:focus {
    border: 1px solid #db4325;
   /*  box-shadow: 0 0 5px 0 rgba(150,150,150,0.50) inset; */
}
form.inquiry .icon {
   background-image: url(../images/_icon/t-yubin.png);
    background-repeat: no-repeat;
    background-position: left 8px center;
    padding-left: 30px;
    background-size: 15px auto;
}
form.inquiry .icon.yubin {
    background-image: url(../images/_icon/t-yubin.png);
}
form.inquiry .icon.pin {
    background-image: url(../images/_icon/t-pin.png);
}
form.inquiry .icon.tel {
    background-image: url(../images/_icon/t-tel.png);
}
form.inquiry .icon.mail {
    background-image: url(../images/_icon/t-mail.png);
}
form.inquiry .icon.bildg {
    background-image: url(../images/_icon/t-bildg.png);
}
form.inquiry .icon.man {
    background-image: url(../images/_icon/t-man.png);
}
form.inquiry .icon.opinion {
    background-image: url(../images/_icon/t-opinion.png);
    background-position: left 8px top 11px;
}
form.inquiry .icon.none {
    background-image: none;
}


.submitbutton {
	padding: 2.0em 0 0;
	text-align: center;
}
form.inquiry input[type="submit"],
form.inquiry input[type="reset"] {
    padding: 7px 0px;
    font-size: 1.2em;
	font-weight: bold;
    margin: auto;
    border-radius: 5px;
    color: #fff;
    width: 35%;
    position: relative;
    line-height: 30px;
    text-shadow: 0 1px 1px rgba(0, 0, 0, .4);
	border: none;
	transition: none;
	outline: none;
	vertical-align: middle;
}
form.inquiry input[type="submit"] {
    background-image: linear-gradient(to bottom, #49c0f0, #2cafe3);
}
form.inquiry input[type="reset"] {
    background-image: linear-gradient(to bottom, #999999, #787878);
	margin-left: 10px;
}
form.inquiry input[type="submit"]:hover {
  background-image: linear-gradient(to bottom, #1ab0ec, #1a92c2);
}
form.inquiry input[type="reset"]:hover {
  background-image: linear-gradient(to bottom, #727272, #676767);
}
form.inquiry input[type="submit"]:active {
  background: #1a92c2;
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, .2);
  color: #1679a1;
  text-shadow: 0 1px 1px rgba(255, 255, 255, .5);
}
form.inquiry input[type="reset"]:active {
  background: #676767;
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, .2);
  color: #333333;
  text-shadow: 0 1px 1px rgba(255, 255, 255, .5);
}

div.inquiry_waku.thanx {
	padding: 3em 3em 160px;
}

form.inquiry table {
	margin: 2em 0 auto;
}
form.inquiry table td {
	font-size: 0.9em;
}


/* privacy */
dl.privacy {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	margin: 2em 0 2em;
}
dl.privacy dt {
    width: 22em;
	min-height: 32px;
    margin: 0 0 1.5em;
	color: #146165;
}
dl.privacy dt em {
	color: #db4325;
	font-size: 2.5em;
	margin-right: 0.125em;
	vertical-align: top;
}
dl.privacy dt:after {
	/* content: "："; */
}
dl.privacy dd {
	width: calc(100% - 22em);
    margin: 0 0 1.5em;
	padding: 2px 0 0 1.5em;
	border-left: 1px solid #ccc;
}
dl.privacy dd div {
	display: inline-block;
    margin: 0.5em 0;
	padding: 1em 1.5em;
	border: 1px solid #ccc;
}


