@charset "UTF-8";
/* CSS Document */

html {
	-webkit-text-size-adjust: 100%
}

body {
	font-size: 18px;
	text-align: 1.8;
	font-family: 'DIN', 'Hiragino Kaku Gothic Pro', 'Meiryo', 'MS UI Gothic', sans-serif;
	color: #000000;
	text-align: left;
}

/*基本設定*/
a {
	text-decoration: none;
	border-style: none;
}

a:hover {
	color: red;
	text-decoration: underline;
}

img {
	max-width: 100%;
	height: auto;
}

.img_border {
	border: 1px solid #ccc;
}

.red {
	color: red;
}

.redb {
	color: red;
	font-weight: bold;
}

.pink {
	color: #ff00ff;
}

.green {
	color: #339900;
}

.orange {
	color: #ff6600;
}

.blue {
	color: #0000ff;
}



/*colorbox*/
#colorbox,
#cboxOverlay,
#cboxWrapper {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 9999;
	overflow: hidden;
}

#cboxOverlay {
	position: fixed;
	width: 100%;
	height: 100%;
}

#cboxMiddleLeft,
#cboxBottomLeft {
	clear: left;
}

#cboxContent {
	position: relative;
}

#cboxLoadedContent {
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}

#cboxTitle {
	margin: 0;
}

#cboxLoadingOverlay,
#cboxLoadingGraphic {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#cboxPrevious,
#cboxNext,
#cboxClose,
#cboxSlideshow {
	cursor: pointer;
}

.cboxPhoto {
	float: left;
	margin: auto;
	border: 0;
	display: block;
	max-width: none;
	-ms-interpolation-mode: bicubic;
}

.cboxIframe {
	width: 100%;
	height: 100%;
	display: block;
	border: 0;
}

#colorbox,
#cboxContent,
#cboxLoadedContent {
	box-sizing: content-box;
	-moz-box-sizing: content-box;
	-webkit-box-sizing: content-box;
}

/*
    User Style:
    Change the following styles to modify the appearance of Colorbox.  They are
    ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay {
	background: url(image/overlay.png) repeat 0 0;
}

#colorbox {
	outline: 0;
}

#cboxTopLeft {
	width: 21px;
	height: 21px;
	background: url(image/controls2.png) no-repeat -101px 0;
}

#cboxTopRight {
	width: 21px;
	height: 21px;
	background: url(image/controls2.png) no-repeat -130px 0;
}

#cboxBottomLeft {
	width: 21px;
	height: 21px;
	background: url(image/controls2.png) no-repeat -101px -29px;
}

#cboxBottomRight {
	width: 21px;
	height: 21px;
	background: url(image/controls2.png) no-repeat -130px -29px;
}

#cboxMiddleLeft {
	width: 21px;
	background: url(image/controls2.png) left top repeat-y;
}

#cboxMiddleRight {
	width: 21px;
	background: url(image/controls2.png) right top repeat-y;
}

#cboxTopCenter {
	height: 21px;
	background: url(image/border.png) 0 0 repeat-x;
}

#cboxBottomCenter {
	height: 21px;
	background: url(image/border.png) 0 -29px repeat-x;
}

#cboxContent {
	background: #fff;
	overflow: hidden;
}

.cboxIframe {
	background: #fff;
}

#cboxError {
	padding: 50px;
	border: 1px solid #ccc;
}

#cboxLoadedContent {
	margin-bottom: 28px;
}

#cboxTitle {
	position: absolute;
	bottom: 4px;
	left: 0;
	text-align: center;
	width: 100%;
	color: #949494;
}

#cboxCurrent {
	position: absolute;
	bottom: 4px;
	left: 58px;
	color: #949494;
}

#cboxLoadingOverlay {
	background: url(image/loading_background.png) no-repeat center center;
}

#cboxLoadingGraphic {
	background: url(image/loading.gif) no-repeat center center;
}

/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
#cboxPrevious,
#cboxNext,
#cboxSlideshow,
#cboxClose {
	border: 0;
	padding: 0;
	margin: 0;
	overflow: visible;
	width: auto;
	background: none;
}

/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
#cboxPrevious:active,
#cboxNext:active,
#cboxSlideshow:active,
#cboxClose:active {
	outline: 0;
}

#cboxSlideshow {
	position: absolute;
	bottom: 4px;
	right: 30px;
	color: #0092ef;
}

#cboxPrevious {
	position: absolute;
	bottom: 0;
	left: 0;
	background: url(image/controls2.png) no-repeat -75px 0;
	width: 25px;
	height: 25px;
	text-indent: -9999px;
}

#cboxPrevious:hover {
	background-position: -75px -25px;
}

#cboxNext {
	position: absolute;
	bottom: 0;
	left: 27px;
	background: url(image/controls2.png) no-repeat -50px 0;
	width: 25px;
	height: 25px;
	text-indent: -9999px;
}

#cboxNext:hover {
	background-position: -50px -25px;
}

#cboxClose {
	position: absolute;
	bottom: 0;
	right: 0;
	background: url(image/controls2.png) no-repeat -25px 0;
	width: 25px;
	height: 25px;
	text-indent: -9999px;
}

#cboxClose:hover {
	background-position: -25px -25px;
}

/*
  The following fixes a problem where IE7 and IE8 replace a PNG's alpha transparency with a black fill
  when an alpha filter (opacity change) is set on the element or ancestor element.  This style is not applied to or needed in IE9.
  See: http://jacklmoore.com/notes/ie-transparency-problems/
*/
.cboxIE #cboxTopLeft,
.cboxIE #cboxTopCenter,
.cboxIE #cboxTopRight,
.cboxIE #cboxBottomLeft,
.cboxIE #cboxBottomCenter,
.cboxIE #cboxBottomRight,
.cboxIE #cboxMiddleLeft,
.cboxIE #cboxMiddleRight {
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF, endColorstr=#00FFFFFF);
}


/*非表示*/
.mobile_no,
h1,
#top_right,
#header #usp,
#header #tel,
.bxslider,
#footer #logo,
#footer h2,
#footerlink,
#index #index_topics #update,
.page-item-8,
#maiko_open,
.chirashi_s {
	display: none;
}

/*モバイルでのみ表示*/
.mobile-show {
    display: block;
}

/*モバイルでは非表示*/
.mobile-hidden {
	display: none;
}

/*モバイルでbタグ無効*/
.no_b{
	font-weight: initial;
}



/*ヘッダー*/
#header {
	overflow: hidden;
	background-color: #004200;
}

#header #logo {
	width: 240px;
	height: 75px;
	background: url(image/logo2_big.png) no-repeat;
	background-size: 240px 75px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}

#header #usp {
	clear: both;
}

.bx-wrapper {
	display: none;
}

#container {
	overflow: hidden;
}

/*グローバルナビ*/
#gnavi {
	clear: both;
	border-left: 1px #004200 solid;
}

#gnavi ul {
	float: left;
	background-color: #074e90;

}

#gnavi li {
	display: block;
	float: left;
	font-size: 11px;
	width: 32.6%;
	height: 15px;
	padding: 40px 0 10px 0;
	text-align: center;
	border: 1px solid #004200;
}

#gnavi a:link,
#gnavi a:visited,
#gnavi a:hover,
#gnavi a:active {
	color: #004200;
	text-decoration: none;
}

#gnavi #gnavi1 {
	background: url(image/s_g01.png) top no-repeat;
	background-color: #ffffff;
	background-size: 30px 30px;
	background-position: center 10px;
	/* width:24.5%; */
}

#gnavi #gnavi2 {
	background: url(image/s_g02.png) top no-repeat;
	background-color: #ffffff;
	background-size: 30px 30px;
	background-position: center 10px;
	/* width:24.3%; */
}

#gnavi #gnavi3 {
	background: url(image/s_g03.png) top no-repeat;
	background-color: #ffffff;
	background-size: 30px 30px;
	background-position: center 10px;
	/* width:24.3%; */
}

#gnavi #gnavi4 {
	background: url(image/s_g04.png) top no-repeat;
	background-color: #ffffff;
	background-size: 30px 30px;
	background-position: center 10px;
	/* width:24.3%; */
}

#gnavi #gnavi5 {
	background: url(image/s_g07.png) top no-repeat;
	background-color: #ffffff;
	background-size: 30px 30px;
	background-position: center 10px;
}

#gnavi #gnavi6 {
	background: url(image/s_g05.png) top no-repeat;
	background-color: #ffffff;
	background-size: 30px 30px;
	background-position: center 10px;
}

#gnavi #gnavi7 {
	background: url(image/s_g06.png) top no-repeat;
	background-color: #ffffff;
	background-size: 30px 30px;
	background-position: center 10px;
}


/*スライドメニュー*/
#container {
	/*メインコンテンツ要素へ変更*/
	background: #FFFFFF;
	-webkit-transform: translate3d(0px, 0px, 1px);
	-webkit-transition: .2s -webkit-transform ease-in-out;
	z-index: 1;
}

#container.show {
	/*メインコンテンツ要素へ変更*/
	-webkit-transform: translate3d(240px, 0px, 1px);
	min-width: 320px;
}

#sidebar.show {
	/*ドロワーメニュー大枠要素へ変更*/
	height: 100%;
	visibility: visible;
	z-index: 1;
	-webkit-transition: z-index 0s linear .2s;
}

#drawerContents {
	/*ドロワーメニュー中枠要素へ変更*/
	display: none;
	height: 100%;
	position: relative;
	width: 240px;
}

#sidebar {
	/*ドロワーメニュー大枠要素へ変更*/
	background-color: #333;
	top: 0;
	position: fixed;
	visibility: hidden;
	z-index: -1;
	-webkit-transition: visibility 0s linear .2s;
}


/*レイアウトに関する記述*/
#drawerBtn a {
	background: url(image/s_menu.png) top no-repeat;
	font-size: 12px;
	font-weight: bold;
	color: #ffffff;
	text-decoration: none;
	float: left;
	height: 15px;
	padding-top: 33px;
	margin: 10px 0;
	width: 75px;
	text-align: center;
	background-position: 50% 0;
	background-size: 35px 35px;
	border-right: 1px #ccc solid;
}

#sidebar ul li a {
	display: block;
	padding: 10px 15px;
	font-weight: bold;
	color: #fff;
	text-shadow: -1px -1px 0 #000;
	border-bottom: 1px solid #000;
	box-shadow: 0 1px 0 #555;
}

#sidebar #side02 h3 {
	padding: 10px;
	font-weight: bold;
	color: #fff;
	text-shadow: -1px -1px 0 #004200;
	border-bottom: 1px solid #004200;
	box-shadow: 0 1px 0 #0e3e0e;
	background: -moz-linear-gradient(left top, #2a732a, #2a732a 25%, #004200 25%, #004200 50%,
			#2a732a 50%, #2a732a 75%, #004200 75%, #004200);
	background: -webkit-linear-gradient(left top, #2a732a, #2a732a 25%, #004200 25%, #004200 50%,
			#2a732a 50%, #2a732a 75%, #004200 75%, #004200);
	background: linear-gradient(left top, #2a732a, #2a732a 25%, #004200 25%, #004200 50%,
			#2a732a 50%, #2a732a 75%, #004200 75%, #004200);
	-moz-background-size: 5px 5px;
	-webkit-background-size: 5px 5px;
	background-size: 5px 5px;
}

#sidebar #side02 li a {
	display: block;
	padding: 10px 10px 10px 30px;
	font-weight: bold;
	color: #fff;
	text-shadow: -1px -1px 0 #000;
	border-bottom: 1px solid #000;
	box-shadow: 0 1px 0 #555;
	background: url(image/s_arrow.png) 10px center no-repeat;
	background-size: 15px 15px;
	margin-left: 10px;
}

#sidebar #side03 h3 {
	padding: 10px;
	font-weight: bold;
	color: #fff;
	text-shadow: -1px -1px 0 #0c059a;
	border-bottom: 1px solid #0c059a;
	box-shadow: 0 1px 0 #2a2497;
	background: -moz-linear-gradient(left top, #4741b3, #4741b3 25%, #0c059a 25%, #0c059a 50%,
			#4741b3 50%, #4741b3 75%, #0c059a 75%, #0c059a);
	background: -webkit-linear-gradient(left top, #4741b3, #4741b3 25%, #0c059a 25%, #0c059a 50%,
			#4741b3 50%, #4741b3 75%, #0c059a 75%, #0c059a);
	background: linear-gradient(left top, #4741b3, #4741b3 25%, #0c059a 25%, #0c059a 50%,
			#4741b3 50%, #4741b3 75%, #0c059a 75%, #0c059a);
	-moz-background-size: 5px 5px;
	-webkit-background-size: 5px 5px;
	background-size: 5px 5px;
}


/*フッター*/

#footer {
	text-align: center;
	font-size: 13px;
	color: #ffffff;
	background-color: #004200;
}

#footer #add a {
	color: #ffffff;
}

#footer #foot_inquiry,
#footer #foot_access {
	font-size: 16px;
	font-weight: bold;
	margin-top: 10px;
	padding: 10px;
	width: 36.5%;
	margin-left: 5%;
	background-color: #ffffff;
	float: left;
	border-radius: 5px;
	/* CSS3草案 */
	-webkit-border-radius: 5px;
	/* Safari,Google Chrome用 */
	-moz-border-radius: 5px;
	/* Firefox用 */
}

#footer #foot_inquiry a,
#footer #foot_access a {
	color: #004200;
}

#footer #copyright {
	clear: both;
	margin-top: 10px;
}



/*各ページ*/

h2 {
	padding: 10px;
	font-weight: bold;
	color: #fff;
	text-shadow: -1px -1px 0 #000;
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
	box-shadow: 0 1px 0 #555;
	background: -moz-linear-gradient(left top, #666, #666 25%, #000 25%, #000 50%,
			#666 50%, #666 75%, #000 75%, #000);
	background: -webkit-linear-gradient(left top, #666, #666 25%, #000 25%, #000 50%,
			#666 50%, #666 75%, #000 75%, #000);
	background: linear-gradient(left top, #666, #666 25%, #000 25%, #000 50%,
			#666 50%, #666 75%, #000 75%, #000);
	-moz-background-size: 5px 5px;
	-webkit-background-size: 5px 5px;
	background-size: 5px 5px;
}

h3 {
	color: #004200;
	padding-left: 10px;
	margin-top: 15px;
	font-weight: bold;
}

h4 {
	background-color: #004200;
	font-size: 18px;
	color: #ffffff;
	padding: 10px 20px;
	margin: 20px 0;
	border-bottom: 1px solid #ccc;
	font-weight: bold;
}

h5 {
	font-size: 15px;
}

tr {
	font-size: 13px;
	width: 100%;
}

th,
td {
	border: 1px #ccc solid;
	padding: 2px;
}

#content .breadcrumbs {
	font-size: 14px;
	color: #008C7E;
	font-weight: bold;
	margin-top: 12px;
}

#content .breadcrumbs a {
	font-size: 10px;
	color: #777777;
	text-decoration: none;
}

#content .breadcrumbs a:active {
	font-size: 10px;
	color: #777777;
	text-decoration: none;
}


/*トップページ*/
#index #logo {
	margin: 0 auto;
}

#index #point_first .top_p {
	color: orange;
}

#index #point_first p {
	padding: 10px 0;
	font-size: 16px;
}

#index #point_second ul {
	padding-left: 10px;
	font-size: 15px;
	margin: 10px 0 0 20px;
}

#index #point_second ul li {
	list-style-image: url(image/point8_9s.png);
	margin-left: 25px;
	padding: 5px;
	text-align: left;
}

#index #point_second .link_arrow {
	background-color: #fc4f02;
	color: #ffffff;
	border: 1px solid #DDD;
	border-radius: 8px;
	-moz-border-radius: 8px;
	-webkit-border-radius: 8px;
	text-align: center;
	font-size: 14px;
	font-weight: bold;
	padding: 10px;
	margin: 10px 10px 30px 10px;
}

#index #notice {
	background-color: #FFFFFF;
	border: none;
	border-radius: 10px;
	box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
	text-align: center;
	padding: 20px 5px 20px 5px;
	margin: 10px 10px 0px 10px;
}

#index #notice .news_field {
	display: block;
	width: 100%;
	margin-top: 25px;
	margin-bottom: 15px;
	border-left: 1px dashed #D9D9D9;
	border-right: 1px dashed #D9D9D9;
	border-bottom: 1px dashed #D9D9D9;
}

#index #notice ul {
	font-size: 15px;
}

#index #notice ul li{
	border-top:  1px dashed #D9D9D9;
	transition: opacity 0.3s;
}

#index #notice ul li:active {
	background-color: #D9D9D9;
  }

#index #notice ul li .date {
	display: inline-block;
	font-size: 12px;
	width: 30%;
	vertical-align: top;
	padding-top: 5px;
	padding-bottom: 5px;
}

#index #notice ul li .title {
	display: inline-block;
	width: 68%;
	text-align: left;
	padding-left: 2%;
	padding-top: 5px;
	padding-bottom: 5px;
}

#index #notice ul li a {
    color: #000000;
}

#index #index_topics #link_box {
	background-color: #F3FEF3;
	border: none;
	border-radius: 10px;
	box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
	text-align: center;
	padding: 20px 5px 20px 5px;
	margin: 10px 10px 0px 10px;
}

#index #index_topics #link_box h3{
	border-top: 2px solid #004200;
	border-bottom: 2px solid #004200;
	padding-top: 5px;
	padding-bottom: 5px;
	background-color: #F3F3F3;
	color: #004200;
}

#index #index_topics #link_box p{
	text-align: left;
}

#index #index_topics #link_box #index_class, 
#index #index_topics #link_box #index_hsk, 
#index #index_topics #link_box #index_chinesebridge, 
#index #index_topics #link_box #index_contest_sentence {
	transition: opacity 0.3s ease;
}

#index #index_topics #link_box #index_class:active, 
#index #index_topics #link_box #index_hsk:active, 
#index #index_topics #link_box #index_chinesebridge:active, 
#index #index_topics #link_box #index_contest_sentence:active {
	opacity: 0.7;
}

#index #index_topics #link_box #index_class{
	margin-top: 20px;
}

#index #index_topics #link_box #arrow {
    position: relative;
    text-align: right;
    padding-right: 15px;
	margin-top: 20px;
	color: green;
}

#index #index_topics #link_box #arrow::before {
    content: "";
    display: inline-block;
    position: absolute;
    top: 5px;
    right: 115px;
    width: 15px;
    height: 15px;
    background-image: url('image/link_arrow.png');
    background-size: cover;
}

#index hr {
	display: none;
}

#index #link_box {
	clear: both;
	overflow: hidden;
	background-color: #f3fef3;
	padding: 10px 0 20px 0;
}


#index #link_box h3 {
	font-size: 17px;
	border-bottom: 2px solid #004200;
	color: #004200;
	padding-left: 10px;
	margin-bottom: 10px;
}

#index #link_box a:hover {
	text-decoration: none;
}

#index_hsk,
#index_class,
#index_chinesebridge,
#index_contest_sentence {
	padding: 15px 10px;
	background-color: #ffffff;
	border: 1px #ccc solid;
	margin: 10px;
}

#index #link_box p {
	padding: 0 10px;
	font-size: 15px;
}

#index #link_box .links {
	text-align: right;
	font-size: 15px;
}


#index #link_box p {
	color: #333333;
}

#index #index_topics #index_mobile_links {
	background-color: #FFFFFF;
	border: none;
	border-radius: 10px;
	box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
	text-align: center;
	padding: 20px 5px 20px 5px;
	margin: 10px 10px 0px 10px;
}

#index #index_topics #index_mobile_links01, 
#index #index_topics #index_mobile_links02, 
#index #index_topics #index_mobile_links03, 
#index #index_topics #index_mobile_links04, 
#index #index_topics #index_mobile_links05, 
#index #index_topics #index_mobile_links06, 
#index #index_topics #index_mobile_links07, 
#index #index_topics #index_mobile_links08 {/*枠線初期化*/
	border: none;
}

#index #index_topics #index_mobile_links ul{
	list-style: none;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 10px;
}

#index #index_topics #index_mobile_links ul li{
	display: block;
	width: 50%;
	box-sizing: border-box;
	margin-top: 10px;
	transition: opacity 0.3s ease;
}

#index #index_topics #index_mobile_links ul li:active{
	opacity: 0.5;
}

#index #index_topics #index_mobile_links ul li a p{
	font-size: 14px;
}

#index #index_topics #index_mobile_links ul li a p:nth-child(2){
	color: #D12D48;
}

#index #index_topics #index_mobile_links ul li:first-child,
#index #index_topics #index_mobile_links ul li:nth-child(2) {
	margin-top: 30px;
}

#index #index_topics #index_mobile_links #index_mobile_links01, 
#index #index_topics #index_mobile_links #index_mobile_links02, 
#index #index_topics #index_mobile_links #index_mobile_links03 {
	display: flex;
	width: 48%;
	height: 42px;
	justify-content: flex-start;
	border: 1px solid #cccccc;
}

#index #index_topics #index_mobile_links01,
#index #index_topics #index_mobile_links02,
#index #index_topics #index_mobile_links03 {
	margin-left: 1%;
	margin-right: 1%;
}

#index #index_topics #index_mobile_links01 a, 
#index #index_topics #index_mobile_links02 a, 
#index #index_topics #index_mobile_links03 a {
	padding-left: 30px;
	position: relative; 
    display: inline-block;
    text-decoration: none;
	z-index: 1
}

#index #index_topics #index_mobile_links01 a:before{
	content: ""; 
    display: inline-block; 
    width: 40px; 
    height: 40px; 
    background-image: url('image/index_k-toyoiryo.jpg'); 
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    position: absolute;
    top: 15px; 
    left: 5px; 
    transform: translateY(-50%); 
	z-index: -1;
}

#index #index_topics #index_mobile_links02 a:before{
	content: ""; 
    display: inline-block; 
    width: 40px; 
    height: 40px; 
    background-image: url('image/index_tjutcm.jpg'); 
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    position: absolute;
    top: 15px; 
    left: 5px; 
    transform: translateY(-50%); 
	z-index: -1;
}

#index #index_topics #index_mobile_links03 a:before{
	content: ""; 
    display: inline-block; 
    width: 40px; 
    height: 40px; 
    background-image: url('image/index_jp-college.jpg'); 
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    position: absolute;
    top: 15px; 
    left: 5px; 
    transform: translateY(-50%); 
	z-index: -1;
}

#index #index_topics #index_mobile_links #index_mobile_links04 a {
	display: block;
	width: 100%;
	height: 42px;
	background: url(image/index_houjin.jpg) no-repeat;
	background-size: contain;
	text-indent: -9999px;
	white-space: nowrap;
	overflow: hidden;
	margin-left: 1%;
	margin-right: 1%;
}

#index #index_topics #index_mobile_links #index_mobile_links05 a {
	display: block;
	width: 100%;
	height: 42px;
	background: url(image/index_chinesecio.jpg) no-repeat;
	background-size: contain;
	text-indent: -9999px;
	white-space: nowrap;
	overflow: hidden;
	margin-left: 1%;
	margin-right: 1%;
}

#index #index_topics #index_mobile_links #index_mobile_links06 a {
	display: block;
	width: 100%;
	height: 42px;
	background: url(image/index_long-net.jpg) no-repeat;
	background-size: contain;
	text-indent: -9999px;
	white-space: nowrap;
	overflow: hidden;
	margin-left: 1%;
	margin-right: 1%;
}

#index #index_topics #index_mobile_links #index_mobile_links07 a {
	display: block;
	width: 100%;
	height: 42px;
	background: url(image/index_syunjyuu.jpg) no-repeat;
	background-size: contain;
	text-indent: -9999px;
	white-space: nowrap;
	overflow: hidden;
	border: 1px solid #cccccc;
	margin-left: 1%;
	margin-right: 1%;
}

#index #index_topics #index_mobile_links #index_mobile_links08 a {
	display: block;
	width: 100%;
	height: 42px;
	background: url(image/index_kodensya.jpg) no-repeat;
	background-size: contain;
	text-indent: -9999px;
	white-space: nowrap;
	overflow: hidden;
	border: 1px solid #cccccc;
	margin-left: 1%;
	margin-right: 1%;
}

#index #index_topics #index_links{
	display: none !important;
}

#index .top_blog {
	text-align: center;
}

#index .top_blog img {
	width: 75%;
}

#index .mobile-subject-jp{ /*モバイル時のヘッドライン日本語*/
    font-weight: bold;
    font-size: 24px;
}
  
#index .mobile-subject-en{ /*モバイル時のヘッドライン英語*/
    font-weight: bold;
    font-size: 20px;
}

#index .top_page{
	background-color: #F3F3F3;
	padding-bottom: 30px;
}

#index .text_first { /*TOPニュース欄*/
	background-color: #FFFFFF;
	border: none;
	border-radius: 10px;
	box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
	text-align: center;
	padding: 20px;
	margin: 10px 10px 0px 10px;
}

#index .text_first p {
	margin-top: 10px;
}

#index .text_first_text {
	text-align: left;
}

#index #point_second { /*FEATHURE and MESSAGE*/
	background-color: #EEF6FD;
	border: none;
	border-radius: 10px;
	box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
	text-align: center;
	padding: 20px;
	margin: 10px 10px 0px 10px;
}

#index .point_second_h2 {
	/*共通CSSを無効にする*/
	padding: initial;
	font-weight: initial;
	color: initial;
	text-shadow: none;
	border-top: none;
	border-bottom: none;
	box-shadow: none;
	background: none;
	-moz-background-size: initial;
	-webkit-background-size: initial;
	background-size: initial;
	
	/*特定のCSS*/
	font-size: 20px;
	font-weight: bold;
	color: #008000;
	margin-top: 15px;
	margin-bottom: 15px;
}

#index #point_second p {
	text-align: left;
}

#index #point_second .point_second_ul { /*ulの上に画像を表示*/
    position: relative;
    list-style: none;
    padding: 0;
	padding-top: 270px;
	margin: initial;
}

#index .point_second_ul::before {
    content: "";
    position: absolute;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    width: 250px;
    height: 250px;
    background-image: url('image/index_point.jpg'); 
    background-size: cover;
    background-position: center;
    z-index: 1;
}

#index #point_second .point_second_space {
	margin-top: 10px;
	margin-bottom: 40px;
}

#index #point_second #arrow {
    position: relative;
    text-align: right;
    padding-right: 15px;
	margin-top: 20px;
	color: green;
}

#index #point_second #arrow::before {
    content: "";
    display: inline-block;
    position: absolute;
    top: 5px;
    right: 150px;
    width: 15px;
    height: 15px;
    background-image: url('image/link_arrow.png');
    background-size: cover;
}

#index .image-container{
	display: flex;
    flex-direction: column;
    align-items: center;
}

#index .image-container a img {
	transition: opacity 0.3s ease;
}

#index .image-container a:active img {
	opacity: 0.5;
}

#index .image-container a:nth-child(2) img , #index .image-container a:nth-child(3) img {
	margin-top:10px;
}

#index .horizontal-line {
	width: 80%;
	height: 2px;
	background-color: #D9D9D9;
	margin-bottom: 20px;
	margin-left: auto;
	margin-right: auto;
}

#index #point_second .mobile-center{
	text-align: center;
}

/*トップページスライドショー*/
/* スライドショーのスタイル */
#index .slideshow-container {
	position: relative;
	max-width: 100%;
	margin: auto;
}
  
#index .slide {
	position: absolute;
	display: none;
	top: 0;
	left: 0;
	width: 100%;
	opacity: 0;
	transition: opacity 0.5s ease-in-out;
}
  
#index .slideshow-container img {
	width: 100%;
	height: auto;
}
  
#index #prevBtn, #index #nextBtn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	cursor: pointer;
	width: 30px;
    height: 30px;
    background-color: rgba(0, 0, 0, 0.5);
    border-radius: 50%;
}
  
#index #prevBtn {
	left: 0;
}
  
#index #nextBtn {
	right: 0;
}

#index .mobile_slide_btn{
	width: 10px;
	margin: auto;
	color: rgba(187, 187, 187, 0.6);
	transition: color 0.6s ease;
	margin-top: 2px;
}
  
/* ドットのスタイル */
#index .dot-container {
	display: flex;
	justify-content: center;
	align-items: center;
	padding-top: 10px;
	padding-bottom: 10px;
}
  
#index .dot {
	height: 10px;
	width: 10px;
	background-color: #bbb;
	border-radius: 50%;
	display: inline-block;
	margin: 0 4px;
	transition: background-color 0.6s ease;
}
  
#index .active {
	background-color: #717171;
}
  


/*中国語講座*/

#class .red,
#regulation .red {
	color: #E63946;
}

#class #content{
	background-color: #FAFAFA;
}

#class h3 {
	clear: both;
}

#class .class,
#class .class2 {
	float: left;
	width: 50%;
	text-align: center;
}

#class .class p,
#class .class2 p {
	font-size: 15px;
}

.diagnosis_link {
	clear: both;
	background-color: #fc4f02;
	color: #ffffff;
	border: 1px solid #DDD;
	border-radius: 8px;
	-moz-border-radius: 8px;
	-webkit-border-radius: 8px;
	text-align: center;
	font-size: 14px;
	font-weight: bold;
	padding: 10px;
	margin: 10px 10px 30px 10px;
}

.diagnosis_link a {
	color: #ffffff;
}

#class #header + h2,
#regulation #header + h2,
#fee #header + h2,
#level1a #header + h2,
#level1b #header + h2,
#level2a #header + h2,
#level2b #header + h2,
#level3a #header + h2,
#level3b #header + h2,
#level4 #header + h2,
#tcm #header + h2 {
	position: relative;
	display: inline-block;
	background: #FFFFFF;
	background-color: #FFFFFF !important;
	color: #2A9D8F;
	text-shadow: none;
	padding: 16px 24px 16px 16px;
	border: 5px solid #2A9D8F;
	transform: translateY(-50%);
	margin-left: 33px;
	font-size: 24px;
	box-shadow: none;
	margin-top: 80px;
	width: auto;
	box-sizing: border-box;
	z-index: 1;
}

#class #header + h2::before,
#regulation #header + h2::before,
#fee #header + h2::before,
#level1a #header + h2::before,
#level1b #header + h2::before,
#level2a #header + h2::before,
#level2b #header + h2::before,
#level3a #header + h2::before,
#level3b #header + h2::before,
#level4 #header + h2::before,
#tcm #header + h2::before {
	content: '';
    position: absolute;
	background: #FFFFFF;
	background-color: #FFFFFF;
	border: 5px solid #2A9D8F;
	width: 100%;
	height: 100%;
	top: -2px;
	left: -2px;
	box-sizing: border-box;
	z-index: -1;
}

#class #header + h2::after,
#regulation #header + h2::after,
#fee #header + h2::after,
#level1a #header + h2::after,
#level1b #header + h2::after,
#level2a #header + h2::after,
#level2b #header + h2::after,
#level3a #header + h2::after,
#level3b #header + h2::after,
#level4 #header + h2::after,
#tcm #header + h2::after {
	position: absolute;
	content: "";
    top: -46px;
    left: -38px;
    width: 440px;
	height: 169px;
    background-image: url('image/class_mobile_header.jpg');
	box-sizing: border-box;
    opacity: 1; 
    z-index: -2;
}

#class .class_content1 .ti {
	text-align: center;
} 

#class .class_content1 .ti h3 {
	display: inline-block;
	font-size: 24px;
	color: #008C7E;
	margin-top: 82px;
}

#class .class_content1 .ti h3::after{
	content: "";
  	display: block;
 	width: 50px;
	height: 50px;
	background: url('image/class_mobile_icon1.png') center center no-repeat;
	background-size: contain;
	margin: -96px auto 0;
}

#class .class_content1 .text{
	margin-left: 16px;
	margin-right: 16px;
}

#class .class_content1 .class_button1_mobile{
	display: inline-block;
    width: 278px;
    height: 44px;
    background-color: #359F8B;
    color: #FFFFFF;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    line-height: 44px;
    text-decoration: none;
	margin-top: 36px;
	border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

#class .class_content1 .class_button2_mobile{
	display: inline-block;
    width: 278px;
    height: 44px;
    background-color: #FF6B6B;
    color: #FFFFFF;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    line-height: 44px;
    text-decoration: none;
	border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

#class .list .schedule {
	text-align: center;
	background-color: #FFFFFF;
	border-radius: 10px;
	margin: 10px 10px 0;
	padding-left: 5px;
	padding-right: 5px;
}

#class .list .schedule .title_h4 h4{
	display: inline-block;
	font-size: 24px;
	color: #008C7E;
	margin-top: 82px;
	background-color: transparent;
	border-bottom: none;
}

#class .list .schedule .title_h4 h4::after{
	content: "";
  	display: block;
 	width: 50px;
	height: 50px;
	background: url('image/class_mobile_icon2.png') center center no-repeat;
	background-size: contain;
	margin: -96px auto 0;
}

#class .class_schedule_mobile {
    border: 5px solid #FFFFFF;
    border-collapse: collapse;
    width: 100%;
	margin: 0 auto;
}

#class .class_schedule_mobile thead {
	width: 100%;
}

#class .class_schedule_mobile tbody {
	width: 100%;
}

#class .class_schedule_mobile th, .class_schedule_mobile td {
    border: 5px solid #FFFFFF;
    padding: 8px;
    text-align: center;
    background-color: #C5D9D9;
}

#class .class_schedule_mobile .w20 {
	width: 10%;
}

#class .class_schedule_mobile .w40 {
	width: 20%;
}


#class .class_schedule_mobile th {
    color: #FFFFFF;
    background-color: #008C7E;
}

#class .list .schedule p {
	text-align: left;
}

#class .list .course {
	overflow: visible;
	text-align: center;
	background: linear-gradient(to bottom, #FAFAFA, #FFFFFF);
	padding-left: 5px;
	padding-right: 5px;
	padding-bottom: 200px;
	margin-bottom: 50px;
}

#class .list .course .title_h4_1 h4{
	display: inline-block;
	font-size: 24px;
	color: #008C7E;
	margin-top: 82px;
	background-color: transparent;
	border-bottom: none;
}

#class .list .course .title_h4_1 h4::after{
	content: "";
  	display: block;
 	width: 50px;
	height: 50px;
	background: url('image/class_mobile_icon3.png') center center no-repeat;
	background-size: contain;
	margin: -96px auto 0;
}

#class .beginner {
	position: relative;
	background-color: #FFFFFF;
	border: 4px solid #FF936B;
	left: 450px;
	top: 24px;
	overflow: hidden;
	transition: 0.8s;
}

#class .beginner_scroll {
	left:40px;
}

#class .intermediate {
	position: relative;
	background-color: #FFFFFF;
	border: 4px solid #FE5761;
	right: 450px;
	top: 68px;
	overflow: hidden;
	transition: 0.8s;
}

#class .intermediate_scroll {
	right:40px;
}

#class .advanced {
	position: relative;
	background-color: #FFFFFF;
	border: 4px solid #926BFF;
	left: 450px;
	top: 110px;
	overflow: hidden;
	transition: 0.8s;
}

#class .advanced_scroll {
	left:40px;
}

#class .tcm {
	position: relative;
	background-color: #FFFFFF;
	border: 4px solid #6B8DFF;
	right: 450px;
	top: 150px;
	overflow: hidden;
	transition: 0.8s;
}

#class .tcm_scroll {
	right:40px;
}

#class .beginner .grid_title{
	font-size: 24px;
	font-weight: bold;
	color: #FF936B;
	text-align: left;
	padding-left: 104px;
	margin-top: 16px;
	margin-bottom: 20px;
}

#class .intermediate .grid_title{
	font-size: 24px;
	font-weight: bold;
	color: #FE5761;
	text-align: right;
	padding-right: 104px;
	margin-top: 16px;
	margin-bottom: 20px;
}

#class .advanced .grid_title{
	font-size: 24px;
	font-weight: bold;
	color: #926BFF;
	text-align: left;
	padding-left: 104px;
	margin-top: 16px;
	margin-bottom: 20px;
}

#class .tcm .grid_title{
	font-size: 24px;
	font-weight: bold;
	color: #6B8DFF;
	text-align: right;
	padding-right: 104px;
	margin-top: 16px;
	margin-bottom: 20px;
}

#class .container1 {
	display: grid;
	grid-template-columns: 40% 60%;
	grid-template-rows: 47px auto 8px 8px;
	grid-auto-rows: 8px;
	gap: 16px;
	width: 240px;
}

#class .beginner .container1{
	padding-left: 33px;
}

#class .intermediate .container1{
	padding-right: 33px;
	margin-left: auto;
}

#class .advanced .container1{
	padding-left: 33px;
}

#class .tcm .container1{
	padding-right: 33px;
	margin-left: auto;
}
  
#class .container1 .grid-item {
	padding: 0px;
	border: none;
	margin-top: 0px;
}

#class .container1 .grid-item .class_img {
	width: 92px;
	height: 92px;
}
  
#class .container1 .item1-2 {
	display: grid;
	grid-row: 1;
	grid-column: 1/3;
	align-content: center;
	width: 100%;
	font-size: 20px;
	color: #FFFFFF;
	font-weight: bold;
}

#class .beginner .container1 .item1-2 {
	background-color: #FF936B;
	border-radius: 25px;
}

#class .intermediate .container1 .item1-2 {
	background-color: #FE5761;
	border-radius: 25px;
}

#class .advanced .container1 .item1-2 {
	background-color: #926BFF;
	border-radius: 25px;
}

#class .tcm .container1 .item1-2 {
	background-color: #6B8DFF;
	border-radius: 25px;
}

#class .container1 .item3 {
	display: grid;
	align-content: center;
	grid-row: 2;
	grid-column: 1;
}

#class .container1 .item4 {
	grid-row: 2;
	grid-column: 2;
	text-align: left;
	color: #000000;
	text-decoration: none;
}

#class .class_button3_mobile,
#fee .class_button3_mobile {
	text-align: center;
}

#class .class_button3_mobile p,
#fee .class_button3_mobile p {
	display: inline-block;
	width: 302px;
	height: 56px;
	line-height: 56px;
	text-decoration: none;
	font-size: 20px;
	font-weight: bold;
	color: #FFFFFF;
	background-color: #FF6B6B;
	text-align: center;
	border-radius: 25px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
	margin-bottom: 67px;
}

/*中国語講座下位ページ*/

#regulation #content,
#fee #content {
	background-color: #FAFAFA
}

#regulation .ti,
#fee .ti {
	margin-top: 24px;
}

#regulation .ti h3,
#fee .ti h3 {
	font-size: 20px;
	position: relative;
	color: #333333;
	font-weight: bold;
	margin-bottom: 16px;
}

#regulation .ti h3::before,
#fee .ti h3::before {
	content: "";
    display: block;
	position: absolute;
	width: 36px;
    border-bottom: 2px solid #008C7E;
	top: -10px;
	left: 10px;
}

#regulation .ti h3::after,
#fee .ti h3::after {
	content: "";
	display: block;
	position: absolute;
	width: 300px;
	border-bottom: 1px solid #61BDAF;
	top: -9px;
	left: 60px;
}

#regulation .text,
#fee .text {
	margin: 0px 16px 16px 16px
}

#fee .table_title{
	text-align: center;
	font-size: 1.4em;
	font-weight: bold;
	color: #008C7E;
}

#fee .frame {
	background-color: #FFFFFF;
	margin: 12px 40px 36px 40px;
	padding: 12px 24px 12px 24px;
	border-radius: 5px;
  }
  
  #fee .frame_title {
	font-size: 1.2em;
	margin-bottom: 12px;
	font-weight: bold;
  }
  
  #fee .frame_text {
	font-size: 1em;
	margin-bottom: 12px;
  }
  
  #fee .frame_annotation {
	color: #888;
	font-size: 0.9em;
	margin-bottom: 20px;
  }
  
  #fee .fee table,
  #fee .one_time_fee table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 10px;
  }
  
  #fee .fee table tr:nth-child(odd),
  #fee .one_time_fee table tr:nth-child(odd) {
	background-color: #B8CCD4;
  }
  
  #fee .fee table tr:nth-child(even),
  #fee .one_time_fee table tr:nth-child(even) {
	background-color: #C5D9D9;
  }
  
  #fee .fee table th,
  #fee .one_time_fee table th {
	border: 4px solid #FAFAFA;
	text-align: center;
	background-color: #008C7E;
	color: #FFFFFF;
	font-weight: bold;
	size: 18px;
	height: 36px;
  }
  
  #fee .fee table td,
  #fee .one_time_fee table td {
	border: 4px solid #FAFAFA;
	text-align: center;
	color: #000;
	size: 14px;
	padding: 4px 0px 4px 0px;
  }
  
  #fee .text_right {
	display: flex;
	justify-content: flex-end;
	font-size: 0.8em;
  }
  
  #fee .fee_annotation {
	color: #888;
	font-size: 0.9em;
  }
  
  #fee .text_topic {
	font-size: 1.2em;
  }

  #fee .class_button3_mobile {
	text-align: center;
}

  #fee .class_button3_mobile p {
	display: inline-block;
	width: 302px;
	height: 56px;
	line-height: 56px;
	text-decoration: none;
	font-size: 20px;
	font-weight: bold;
	color: #FFFFFF;
	background-color: #FF6B6B;
	text-align: center;
	border-radius: 25px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
	margin-top: 48px;
	margin-bottom: 67px;
}

#fee .area3,
#fee .area4 {
	margin-bottom: 24px;
}

/*各講座ページ*/
.foot_request {
	margin-top: 15px;
	text-align: center;
	font-weight: bold;
}

.foot_request2 {
	clear: both;
	background-color: #fc4f02;
	color: #ffffff;
	border: 1px solid #DDD;
	border-radius: 8px;
	-moz-border-radius: 8px;
	-webkit-border-radius: 8px;
	text-align: center;
	font-size: 14px;
	font-weight: bold;
	padding: 10px;
	margin: 10px 10px 30px 10px;
}

/*レベル診断*/
#diagnosis img {
	max-width: 100%;
	height: auto;
}



#diagnosis h1 {
	display: inherit;
	font-size: 16px;
	font-weight: bold;
	background: url(image/back_test.jpg) top left no-repeat;
	padding: 10px 30px 30px 80px;
	margin: 15px 0 0 5px;
}

#diagnosis ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

#diagnosis li {
	font-size: 15px;
	font-weight: bold;
	line-height: 1.2;
	color: #ffffff;
	float: left;
	padding: 40px 10px 60px 10px;
	text-align: left;
	width: 120px;
	height: auto;
	margin: 10px 5px 0 5px;
}

#diagnosis li a {
	color: #ffffff;
}

#diagnosis li a:hover {
	font-weight: bold;
}

#diagnosis #y {
	background: url(image/test_yes.jpg) no-repeat;
}


#diagnosis #n {
	background: url(image/test_no.jpg) no-repeat;
}

#diagnosis #y,
#diagnosis #n {
	height: auto;
	-moz-background-size: 100% auto;
	background-size: 100% auto;
}

#diagnosis #back {
	font-size: 18px;
	clear: both;
	padding-bottom: 20px;
	background: url(image/test_back.jpg) no-repeat;
	padding: 0 0 10px 28px;
	margin-left: 10px;
}

#diagnosis #goal {
	font-size: 18px;
	color: red;
	padding: 20px;
}

#diagnosis #link {
	background: url(image/link_arrow.jpg) 0 5px no-repeat;
	padding-left: 25px;
	margin: 15px 0 0 30px;
}





/*フォーム*/
form#mailformpro dl dt {
	float: none;
	width: auto;
	font-size: 15px;
	padding: 5px;
	text-align: left;
}

form#mailformpro dl dd {
	clear: both;
	border-top: none;
	padding: 5px 15px;
	font-size: 15px;
	line-height: 1.5em;
}

form#mailformpro dl dd span {
	/*display: block;*/
}

div.mfp_buttons button {
	font-size: 14px;
}

div#mfp_phase_confirm h4 {
	font-size: 18px;
}

form#mailformpro textarea,
form#mailformpro input,
form#mailformpro select {
	max-width: 100%;
}

ul#mfp_phase_stat {
	padding: 0px;
}

ul#mfp_phase_stat li {
	float: left;
	text-align: center;
	padding: 5px 0px;
	border-radius: 3px;
	margin: 5px;
	list-style: none;
	font-size: 14px;
	width: 30%;
}

ul#mfp_phase_stat li.mfp_phase_arrow {
	bos-shadow: none;
	display: none;
}

ul#mfp_phase_stat li.mfp_active_phase {
	background-color: #E8EEF9;
	box-shadow: 0px 0px 5px #000;
}

ul#mfp_phase_stat li.mfp_inactive_phase {
	background-color: #CCC;
	color: #666;
	box-shadow: 0px 0px 5px #CCC;
}

table#mfp_confirm_table tr th {
	white-space: nowrap;
	width: 100px;
}

div#mfp_thanks {
	text-align: center;
	font-size: 18px;
	padding: 20px 0px;
}

div#mfp_thanks strong {
	color: #C00;
	font-size: 24px;
	display: block;
}

form#mailformpro.regist {
	padding: 10px 10px;
}

.fo3 {
	width: 3em;
}

.fo4 {
	width: 4em;
}

.fo7 {
	width: 7em;
}

.fo9 {
	width: 9em;
}

.fo10 {
	width: 10em;
}

.fo15 {
	width: 15em;
}

.fo25 {
	width: 20em;
}

/*時間割と詳細料金*/
#timetable .back {
	margin: 10px 0 30px 20px;
}


/*孔子課堂講座申込みフォーム*/
#class_apply .pc {
	display: none;
}


/*HSK申込フォーム*/
.weekblue {
    display: inline-block;
    white-space: nowrap;
	color: #3366FF;
	font-weight: bold;
}

.weekred {
    display: inline-block;
    white-space: nowrap;
	color: #FF3333;
	font-weight: bold;
}

#hsk_apply .pc {
	display: none;
}

#hsk_apply #header + h2 {
	position: relative;
	display: inline-block;
	background: #FFFFFF;
	background-color: #FFFFFF !important;
	color: #FF936B;
	text-shadow: none;
	padding: 16px 24px 16px 16px;
	border: 5px solid #FF936B;
	transform: translateY(-50%);
	margin-left: 33px;
	font-size: 24px;
	box-shadow: none;
	margin-top: 80px;
	width: auto;
	box-sizing: border-box;
	z-index: 1;
}

#hsk_apply #header + h2::before {
	content: '';
    position: absolute;
	background: #FFFFFF;
	background-color: #FFFFFF;
	border: 5px solid #FF936B;
	width: 100%;
	height: 100%;
	top: -2px;
	left: -2px;
	box-sizing: border-box;
	z-index: -1;
}

#hsk_apply #header + h2::after {
	position: absolute;
	content: "";
    top: -46px;
    left: -38px;
    width: 440px;
	height: 169px;
    background-image: url('image/hsk_mobile_header.jpg');
	box-sizing: border-box;
    opacity: 1; 
    z-index: -2;
}

#hsk_apply #container {
	background-color: #fafafa;
}

#hsk_apply #content {
	z-index: 0;
}

#hsk_apply .ti:nth-child(5) {
	background-color: #ffffff;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	margin-left: 5px;
	margin-right: 5px;
}

#hsk_apply .ti:nth-child(11) {
	background-color: #ffffff;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	margin-left: 5px;
	margin-right: 5px;
}

#hsk_apply .ti {
	text-align: center;
	padding-left: 16px;
	padding-right: 16px;
}

#hsk_apply .ti h3 {
	display: inline-block;
	font-size: 24px;
	color: #F97240;
	margin-top: 108px;
}

#hsk_apply .ti:nth-child(3) h3::before {
	content: "";
	display: block;
	width: 50px;
	height: 50px;
	background: url('image/hsk_mobile_icon1.png') center center no-repeat;
	background-size: contain;
	margin: -96px auto 0;
}

#hsk_apply .ti:nth-child(5) h3::before {
	content: "";
	display: block;
	width: 50px;
	height: 50px;
	background: url('image/hsk_mobile_icon2.png') center center no-repeat;
	background-size: contain;
	margin: -96px auto 0;
}

#hsk_apply .ti:nth-child(7) h3::before {
	content: "";
	display: block;
	width: 50px;
	height: 50px;
	background: url('image/hsk_mobile_icon3.png') center center no-repeat;
	background-size: contain;
	margin: -96px auto 0;
}

#hsk_apply .ti:nth-child(9) h3::before {
	content: "";
	display: block;
	width: 50px;
	height: 50px;
	background: url('image/hsk_mobile_icon4.png') center center no-repeat;
	background-size: contain;
	margin: -96px auto 0;
}

#hsk_apply .ti:nth-child(11) h3::before {
	content: "";
	display: block;
	width: 50px;
	height: 50px;
	background: url('image/hsk_mobile_icon5.png') center center no-repeat;
	background-size: contain;
	margin: -96px auto 0;
}

#hsk_apply .ti:nth-child(13) h3::before {
	content: "";
	display: block;
	width: 50px;
	height: 50px;
	background: url('image/hsk_mobile_icon6.png') center center no-repeat;
	background-size: contain;
	margin: -96px auto 0;
}

#hsk_apply .content1,
#hsk_apply .content2,
#hsk_apply .content3,
#hsk_apply .content4,
#hsk_apply .content5,
#hsk_apply .content6 {
	padding-top: 8px;
	padding-left: 16px;
	padding-right: 16px;
	padding-bottom: 20px;
}

#hsk_apply .content2 {
	background-color: #ffffff;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
	margin-left: 5px;
	margin-right: 5px;
}

#hsk_apply .content5 {
	background-color: #ffffff;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
	margin-left: 5px;
	margin-right: 5px;
}

#hsk_apply .content1 p,
#hsk_apply .content2 p {
	padding-top: 10px;
	padding-bottom: 10px;
}

#hsk_apply .small {
	padding-top: 10px;
	font-size: 0.8em;
}

#hsk_apply .content1 img,
#hsk_apply .content2 img {
	width: 100%;
}

#hsk_apply .content2 .flex_parent {
	display: flex;
	align-items: center;
	align-items: stretch;
}

#hsk_apply .content2 .flex_left {
	width: 40px;
	align-self: stretch;
	display: flex;
	flex-direction: column;
}

#hsk_apply .content2 .flex_left p {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #FFFFFF;
	margin: 4px;
}

#hsk_apply .content2 .flex_left .text_shadow {
	text-shadow: -1px -1px 0 #737373,  1px -1px 0 #737373,  -1px 1px 0 #737373,  1px 1px 0 #737373;
}

#hsk_apply .content2 .flex_left .background_color_1 {
	background-color: #FADEBE;
}

#hsk_apply .content2 .flex_left .background_color_2 {
	background-color: #F2C49D;
}

#hsk_apply .content2 .flex_left .background_color_3 {
	background-color: #ECB287;
}

#hsk_apply .content2 .flex_left .background_color_4 {
	background-color: #E69F6F;
}

#hsk_apply .content2 .flex_left .background_color_5 {
	background-color: #E08954;
}

#hsk_apply .content2 .flex_left .background_color_6 {
	background-color: #D86F34;
}

#hsk_apply .content2 .flex_right {
	flex: 1;
}

#hsk_apply .content2 .flex_right p {
	padding: 8px;
	margin-top: 4px;
	margin-bottom: 4px;
}

#hsk_apply .content2 .flex_right .border_color_1 {
	border: 1px solid #FADEBE;
}

#hsk_apply .content2 .flex_right .border_color_2 {
	border: 1px solid #F2C49D;
}

#hsk_apply .content2 .flex_right .border_color_3 {
	border: 1px solid #ECB287;
}

#hsk_apply .content2 .flex_right .border_color_4 {
	border: 1px solid #E69F6F;
}

#hsk_apply .content2 .flex_right .border_color_5 {
	border: 1px solid #E08954;
}

#hsk_apply .content2 .flex_right .border_color_6 {
	border: 1px solid #D86F34;
}

#hsk_apply .hsk_ti {
	padding-top: 12px;
	padding-bottom: 12px;
	padding-left: 40px;
	position: relative;
}

#hsk_apply .hsk_ti::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0px;
	width: 24px;
	height: 24px;
	background-image: url(https://www.koushikadou.com/wp/wp-content/themes/koushikadou/image/hsk_h4.png);
	background-size: cover;
}

#hsk_apply .hsk_ti h4 {
	all: initial;
	color: #FF936B;
	font-weight: bold;
	font-size: 1.2em;
}

#hsk_apply .content3 .grid-container {
	display: grid;
	width: 100%;
	grid-template-columns: 6fr 11fr 11fr 4fr;
	gap:2px;
}

#hsk_apply .content3 .grid-item {
	display: grid;
	text-align: center;
	padding-top: 4px;
	padding-bottom: 4px;
	font-weight: bold;
	place-items: center;
	font-size: 16px;
}

#hsk_apply .content3 .grid-container .background_color_1 {
	background-color: #488CCB;
	color: #FFFFFF;
}

#hsk_apply .content3 .grid-container .background_color_2 {
	background-color: #C2E5FA;
	color: #000000;
}

#hsk_apply .content3 .grid-container .background_color_3 {
	background-color: #E8F6FF;
	color: #000000;
}

#hsk_apply .content3 .grid-container .background_color_4 {
	background-color: #D86F34;
	color: #FFFFFF;
}

#hsk_apply .content3 .grid-container .background_color_5 {
	background-color: #FFEFD8;
	color: #FAAE56;
}

#hsk_apply .content3 .grid-container .background_color_6 {
	background-color: #FFF9F4;
	color: #FAAE56;
}

#hsk_apply .content3 .flex_parent {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding-top: 12px;
}

#hsk_apply .content3 .flex_up {
	width: 100%;
	margin-left: 148px;
}

#hsk_apply .content3 .flex_up p {
	color: #FFFFFF;
	text-shadow: -1px -1px 0 #FF9E2F,  1px -1px 0 #FF9E2F,  -1px 1px 0 #FF9E2F,  1px 1px 0 #FF9E2F;
}

#hsk_apply .content3 .flex_up p::before {
	content: "＼";
	padding-right: 4px;
	color: #FF9E2F;
	text-shadow: none;
}

#hsk_apply .content3 .flex_up p::after {
	content: "／";
	padding-left: 4px;
	color: #FF9E2F;
	text-shadow: none;
}

#hsk_apply .content3 .flex_down {
	width: 100%;
}

#hsk_apply .content3 .flex_down p:first-child {
	font-weight: bold;
}

#hsk_apply .content3 .flex_down .hsk_strong {
	font-weight: bold;
	font-size: 1.2em;
	color: #FF9E2F;	
}

#hsk_apply .content4 .grid-container {
	display: grid;
	width: 100%;
	grid-template-columns: 48px 1fr;
	row-gap: 8px;
}

#hsk_apply .content4 .fixed-width-item {
	width: 48px;
	height: 100%;
}

#hsk_apply .content4 .fixed-width-item .flex_parent {
	display: flex;
	width: 100%;
	height: 100%;
	justify-content: center;
	align-items: center;
}

#hsk_apply .content4 .fixed-width-item .change_color_1 {
	background-color: #9C9C9C;
}

#hsk_apply .content4 .fixed-width-item .change_color_2 {
	background-color: #D86F34;
}

#hsk_apply .content4 .fixed-width-item .change_color_3 {
	background-color: #488CCB;
}

#hsk_apply .content4 .fixed-width-item .flex_parent .flex_child {
	font-weight: bold;
	font-size: 1.2em;
	color: #FFFFFF;
	writing-mode: vertical-rl;
	text-orientation: upright;
	white-space: nowrap;
}

#hsk_apply .content4 .fixed-width-item .flex_parent .flex_child br {
	display: none;
}

#hsk_apply .content4 .grid-item-p .change_color_1 {
	border: 1px solid #9C9C9C;
}

#hsk_apply .content4 .grid-item-p .change_color_2 {
	border: 1px solid #D86F34;
}

#hsk_apply .content4 .grid-item-p .change_color_3 {
	border: 1px solid #488CCB;
}

#hsk_apply .content4 .grid-container-2 {
	display: grid;
	width: 100%;
	grid-template-columns: 1fr;
	gap: 0px;
}

#hsk_apply .content4 .grid-container-2 .grid-item:first-child {
	margin-left: 12px;
	font-weight: bold;
}

#hsk_apply .content4 .grid-container-2 .grid-item:nth-child(2){
	margin-left: 12px;
}

#hsk_apply .content4 .grid-container-3 {
	display: grid;
	width: 100%;
	grid-template-columns: 40px 1fr;
	gap: 12px;
}

#hsk_apply .content4 .grid-container-3 .grid-item1 {
	display: flex;
	width: 40px;
	justify-content: center;
	align-items: center;
}

#hsk_apply .content4 .grid-container-3 .grid-item1 p {
	writing-mode: vertical-rl;
    text-orientation: upright;
    white-space: nowrap;
}

#hsk_apply .content4 .grid-container-3 .grid-item1 .change_color_1 {
	color: #9C9C9C;
	font-weight: bold;
	border: none;
	font-size: 1.2em;
}

#hsk_apply .content4 .grid-container-3 .grid-item1 .change_color_2 {
	color: #D86F34;
	font-weight: bold;
	border: none;
	font-size: 1.2em;
}

#hsk_apply .content4 .grid-container-3 .grid-item1 .change_color_3 {
	color: #488CCB;
	font-weight: bold;
	border: none;
	font-size: 1.2em;
}

#hsk_apply .content4 .grid-item .change_color_1 {
	background-color: #F3F3F3;
	border: none;
}

#hsk_apply .content4 .grid-item .change_color_2 {
	background-color: #FADEBE;
	border: none;
}

#hsk_apply .content4 .grid-item .change_color_3 {
	background-color: #BEDFF2;
	border: none;
}

#hsk_apply .content4 .grid-container-3 .grid-item2 {
	padding-top: 12px;
	padding-bottom: 12px;
}

#hsk_apply .content4 .grid-container-3 .grid-item2 .small{
	padding: 0px;
}

#hsk_apply .content4 .big_number{
	font-size: 1.5em;
	font-weight: bold;
	padding-left: 4px;
	padding-right: 4px;
}

#hsk_apply .content5 .grid-container-4 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 2px;
}

#hsk_apply .content5 .grid4-item {
	display: grid;
	text-align: center;
	padding-top: 4px;
	padding-bottom: 4px;
	font-weight: bold;
	place-items: center;
}

#hsk_apply .content5 .grid4-item:first-child,
#hsk_apply .content5 .grid4-item:nth-child(2) {
	background-color: #488CCB;
	color: #FFFFFF;
}

#hsk_apply .content5 .grid4-item:nth-child(3),
#hsk_apply .content5 .grid4-item:nth-child(4) {
	background-color: #E8F6FF;
	color: #000000;
}

#hsk_apply .content5 .grid4-item:nth-child(5),
#hsk_apply .content5 .grid4-item:nth-child(6) {
	background-color: #C2E5FA;
	color: #000000;
}

#hsk_apply .content5 .hsk_strong{
	font-weight: bold;
	color: #FF9E2F;
	font-size: 1.2em;
}

#hsk_apply .content6 .grid-container-5 {
	display: grid;
	width: 100%;
	grid-template-columns: repeat(4, 1fr);
	grid-gap: 0;
}

#hsk_apply .content6 .grid5-item {
	display: grid;
	background-color: #FFFFFF;
	border: 1px solid #488CCB;
	padding: 4px;
	text-align: center;
	place-items: center;
}

#hsk_apply .content6 .grid5-item:first-child,
#hsk_apply .content6 .grid5-item:nth-child(2),
#hsk_apply .content6 .grid5-item:nth-child(3),
#hsk_apply .content6 .grid5-item:nth-child(4) {
	background-color: #C2E5FA;
}

#hsk_apply .content6 .item-after {
	position: relative;
}

#hsk_apply .content6 .item-after::after {
	position: absolute;
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-top: 32px solid transparent;
	border-bottom: 32px solid transparent;
	border-left: 18px solid #488CCB;
	margin: auto;
	right: -19px;
	z-index: 1;
}

#hsk_apply .content6 #mailformpro .mailform {
	display: grid;
	grid-template-columns: 120px auto;
}

#hsk_apply .content6 #mailformpro dl dt {
	border-top: none;
	text-align: center;
	width: 120px;
	background-color: #FFF9F4;
	padding: 16px 0px;
	margin: 4px 0px;
	display: grid;
	grid-template-columns: 40px auto;
	place-items: center;
}

#hsk_apply .content6 #mailformpro dl dd {
	border-top: none;
	padding: 10px 0 10px 0;
}

#hsk_apply .content6 #mailformpro dl dd input,
#hsk_apply .content6 #mailformpro dl dd select {
	margin-left: 8px;
	margin-top: 8px;
	margin-bottom: 8px;
	border: solid 1px #D86F34;
}

#hsk_apply .content6 #mailformpro dl dd ul {
	margin-top: 10px;
	margin-bottom: 10px;
}

#hsk_apply .content6 #mailformpro dl dd ul li label input {
	margin-top: 5px;
	margin-bottom: 5px;
}

#hsk_apply .content6 #mailformpro dl dd #switching1-1 input,
#hsk_apply .content6 #mailformpro dl dd #switching2-1 input {
	margin-top: 0px;
	margin-bottom: 5px;
}

#hsk_apply .content6 #mailformpro dl dd ol li span {
	margin-left: 8px;
}

#hsk_apply .content6 #mailformpro dl dd ol li input {
	margin-top: 5px;
}

#hsk_apply .content6 #mailformpro dl dd ol li .fo25 {
	width: 24ch;
}

#hsk_apply .content6 #mailformpro dl dd textarea {
	margin-left: 8px;
	width: calc(22ch + 2px);
	height: 3em;
	resize: none;
	margin-top: 6px;
	margin-bottom: 6px;
	border-color: #D86F34;
}

#hsk_apply .content6 #mailformpro dl dd a {
	margin-left: 8px;
}

#hsk_apply .content6 #mailformpro dl dd .block {
	display: block;
}

#hsk_apply .content6 #mailformpro .mfp_buttons button {
	width: 138px;
    height: 56px;
    border-radius: 28px;
    border: none;
    color: #FFFFFF;
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    text-decoration: none;
    display: inline-block;
    line-height: 56px;
    box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3); /
}

#hsk_apply .content6 #mailformpro .mfp_buttons .reset {
	background-color: #9C9C9C;
}

#hsk_apply .content6 #mailformpro .mfp_buttons .submit {
	background-color: #E08954;
	position: relative;
}

#hsk_apply .content6 #mailformpro .mfp_buttons .submit::after {
	content: '>';
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
	font-size: 1.2em;
}

#mfp_overlay_background {
	z-index: 19999 !important;
}
#mfp_overlay {
	z-index: 20000 !important;
}

/*hskサンクスページ*/

#hsk_apply_thanks #header + h2 {
	position: relative;
	display: inline-block;
	background: #FFFFFF;
	background-color: #FFFFFF !important;
	color: #FF936B;
	text-shadow: none;
	padding: 16px 24px 16px 16px;
	border: 5px solid #FF936B;
	transform: translateY(-50%);
	margin-left: 33px;
	font-size: 24px;
	box-shadow: none;
	margin-top: 80px;
	width: auto;
	box-sizing: border-box;
	z-index: 1;
}

#hsk_apply_thanks #header + h2::before {
	content: '';
    position: absolute;
	background: #FFFFFF;
	background-color: #FFFFFF;
	border: 5px solid #FF936B;
	width: 100%;
	height: 100%;
	top: -2px;
	left: -2px;
	box-sizing: border-box;
	z-index: -1;
}

#hsk_apply_thanks #header + h2::after {
	position: absolute;
	content: "";
    top: -46px;
    left: -38px;
    width: 440px;
	height: 169px;
    background-image: url('image/hsk_mobile_header.jpg');
	box-sizing: border-box;
    opacity: 1; 
    z-index: -2;
}

#hsk_apply_thanks .ti {
	text-align: center;
	padding-left: 16px;
	padding-right: 16px;
}

#hsk_apply_thanks .ti h3 {
	display: inline-block;
	font-size: 24px;
	color: #F97240;
	margin-top: 82px;
}

#hsk_apply_thanks .ti h3::after {
	content: "";
	display: block;
	width: 50px;
	height: 50px;
	background: url('image/hsk_mobile_icontks.png') center center no-repeat;
	background-size: contain;
	margin: -96px auto 0;
}

#hsk_apply_thanks .text {
	padding-left: 20px;
	padding-right: 20px;
}

#hsk_apply_thanks .text p {
	padding-top: 10px;
	padding-bottom: 10px;
}

#hsk_apply_thanks .text .red {
	color: red;
	font-weight: bold;
}

#hsk_apply_thanks .text .bold {
	font-weight: bold;
}

#hsk_apply_thanks .contact {
	padding-left: 16px;
	padding-right: 16px;
	padding-bottom: 16px;
}

#hsk_apply_thanks .contact img {
	width: 380px;
	height: auto;
	display: block;
	margin-bottom: 20px;
}

#hsk_apply_thanks .contact p {
	padding-left: 40px;
	position: relative;
}

#hsk_apply_thanks .contact .address::before {
	content: "〒650-0021";
	position: absolute;
	top: -20px;
}

#hsk_apply_thanks .contact .address::after {
	content: "";
	background-image: url('image/icon_address.png');
	width: 30px;
	height: 30px;
	background-size: 30px 30px;
	display: inline-block;
	margin-right: 8px;
	vertical-align: middle;
	position: absolute;
	top: 0;
	left: 6px;
}

#hsk_apply_thanks .contact .mail::after {
	content: "";
	background-image: url('image/icon_mail.png');
	width: 30px;
	height: 30px;
	background-size: 30px 30px;
	display: inline-block;
	margin-right: 8px;
	vertical-align: middle;
	position: relative;
	transform: translate(-240px, -2px);
}

#hsk_apply_thanks .contact .tel::after {
	content: "";
	background-image: url('image/icon_tel.png');
	width: 30px;
	height: 30px;
	background-size: 30px 30px;
	display: inline-block;
	margin-right: 8px;
	vertical-align: middle;
	position: relative;
	transform: translate(-165px, -2px);
}

/*出張文化講座*/

#culture_seminar .culture-strong-black {
	font-weight: bold;
}

#culture_seminar .culture-strong-color {
	font-weight: bold;
	color: #926BFF;
}

#culture_seminar #header + h2 {
	position: relative;
	display: inline-block;
	background: #FFFFFF;
	background-color: #FFFFFF !important;
	color: #926BFF;
	text-shadow: none;
	padding: 16px 24px 16px 16px;
	border: 5px solid #926BFF;
	transform: translateY(-50%);
	margin-left: 33px;
	font-size: 24px;
	box-shadow: none;
	margin-top: 80px;
	width: auto;
	box-sizing: border-box;
	z-index: 1;
}

#culture_seminar #header + h2::before {
	content: '';
    position: absolute;
	background: #FFFFFF;
	background-color: #FFFFFF;
	border: 5px solid #926BFF;
	width: 100%;
	height: 100%;
	top: -2px;
	left: -2px;
	box-sizing: border-box;
	z-index: -1;
}

#culture_seminar #header + h2::after {
	position: absolute;
	content: "";
    top: -46px;
    left: -38px;
    width: 440px;
	height: 169px;
    background-image: url('image/hsk_mobile_header.jpg');
	box-sizing: border-box;
    opacity: 1; 
    z-index: -2;
}

#culture_seminar #container {
	background-color: #fafafa;
}

#culture_seminar #content {
	z-index: 0;
}

#culture_seminar .ti:nth-child(5) {
	background-color: #ffffff;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	margin-left: 5px;
	margin-right: 5px;
}

#culture_seminar .ti:nth-child(9) {
	background-color: #ffffff;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	margin-left: 5px;
	margin-right: 5px;
}

#culture_seminar .ti {
	text-align: center;
	padding-left: 16px;
	padding-right: 16px;
}

#culture_seminar .ti h3 {
	display: inline-block;
	font-size: 24px;
	color: #926BFF;
	margin-top: 82px;
}

#culture_seminar .ti:nth-child(3) h3::after {
	content: "";
	display: block;
	width: 50px;
	height: 50px;
	background: url('image/culture_seminar_icon1.png') center center no-repeat;
	background-size: contain;
	margin: -96px auto 0;
}

#culture_seminar .ti:nth-child(5) h3::after {
	content: "";
	display: block;
	width: 50px;
	height: 50px;
	background: url('image/culture_seminar_icon2.png') center center no-repeat;
	background-size: contain;
	margin: -96px auto 0;
}

#culture_seminar .ti:nth-child(7) h3::after {
	content: "";
	display: block;
	width: 50px;
	height: 50px;
	background: url('image/culture_seminar_icon3.png') center center no-repeat;
	background-size: contain;
	margin: -96px auto 0;
}

#culture_seminar .ti:nth-child(9) h3::after {
	content: "";
	display: block;
	width: 50px;
	height: 50px;
	background: url('image/culture_seminar_icon4.png') center center no-repeat;
	background-size: contain;
	margin: -96px auto 0;
}

#culture_seminar .ti:nth-child(11) h3::after {
	content: "";
	display: block;
	width: 50px;
	height: 50px;
	background: url('image/culture_seminar_icon5.png') center center no-repeat;
	background-size: contain;
	margin: -96px auto 0;
}

#culture_seminar .content1,
#culture_seminar .content2,
#culture_seminar .content3,
#culture_seminar .content4,
#culture_seminar .content5 {
	padding-top: 8px;
	padding-left: 16px;
	padding-right: 16px;
	padding-bottom: 20px;
}

#culture_seminar .content2 {
	background-color: #ffffff;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
	margin-left: 5px;
	margin-right: 5px;
}

#culture_seminar .content4 {
	background-color: #ffffff;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
	margin-left: 5px;
	margin-right: 5px;
}

#culture_seminar .content1 p,
#culture_seminar .content2 p,
#culture_seminar .content3 p,
#culture_seminar .content4 p,
#culture_seminar .content5 p {
	padding-top: 10px;
	padding-bottom: 10px;
}

#culture_seminar .content-space {
	display: flex;
	overflow-x: scroll;
	white-space: nowrap;
	width: 100%;
	scroll-snap-type: x mandatory;	
	gap: 20px;
	padding: 10px 0;
}

#culture_seminar .space-item {
	flex: 0 0 270px;
	scroll-snap-align: start;
	box-sizing: border-box;
	position: relative;
}

#culture_seminar .space-item p {
	white-space: normal;
	word-wrap: break-word;
	width: 100%;
	box-sizing: border-box;
	text-align: justify;
}

#culture_seminar .space-item img {
	width: 100%;
}

#culture_seminar .space-item .item-title {
	position: absolute;
	top: 220px;
	left: 8px;
	font-size: 28px;
	color: #FFFFFF;
	font-weight: bold;
}

#culture_seminar .space-item .item-fee {
	font-size: 18px;
	color: #926BFF;
	font-weight: bold;
	padding-left: 8px;
}

#culture_seminar .space-item .item-content {
	padding-left: 8px;
	padding-right: 8px;
}

#culture_seminar .step-field {
	display: flex;
	flex-direction: column;
	gap: 22px;
	margin: 30px auto;
}

#culture_seminar .step-field .step1,
#culture_seminar .step-field .step2,
#culture_seminar .step-field .step3,
#culture_seminar .step-field .step4,
#culture_seminar .step-field .step5 {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	background-color: #FFFFFF;
	border-radius: 5px;
}

#culture_seminar .step-field .step1 p:first-child,
#culture_seminar .step-field .step2 p:first-child,
#culture_seminar .step-field .step3 p:first-child,
#culture_seminar .step-field .step4 p:first-child,
#culture_seminar .step-field .step5 p:first-child {
	font-size: 20px;
	color: #926BFF;
	font-weight: bold;
	position: relative;
	padding: 40px;
}

#culture_seminar .step-field .step1 p:first-child::after,
#culture_seminar .step-field .step2 p:first-child::after,
#culture_seminar .step-field .step3 p:first-child::after,
#culture_seminar .step-field .step4 p:first-child::after {
	display: block;
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-width: 20px 20px 0;
	border-style: solid solid none;
	border-color: #FFFFFF rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
	content: "";
}

#culture_seminar .step-field .step1 p:last-child,
#culture_seminar .step-field .step2 p:last-child,
#culture_seminar .step-field .step3 p:last-child,
#culture_seminar .step-field .step4 p:last-child,
#culture_seminar .step-field .step5 p:last-child {
	font-size: 18px;
	font-weight: bold;
}

#culture_seminar .inquiry-button {
	text-align: center;
}

#culture_seminar .inquiry-button p {
	display: inline-block;
	width: 302px;
	height: 56px;
	line-height: 56px;
	text-decoration: none;
	font-size: 20px;
	font-weight: bold;
	color: #FFFFFF;
	background-color: #FF6B6B;
	text-align: center;
	border-radius: 25px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
	margin-bottom: 67px;
}

/*つなごう！言語と文化の架け橋スピーチコンテスト*/
#zhongguotong {
	font-family: 'Hiragino Kaku Gothic Pro', 'Meiryo', 'MS UI Gothic', sans-serif;
}

#zhongguotong .top_8 {
	padding-top: 8px;
}

#zhongguotong .top_12 {
	padding-top: 12px;
}

#zhongguotong .top_24 {
	padding-top: 24px;
}

#zhongguotong .top_32 {
	padding-top: 32px;
}

#zhongguotong .top_44 {
	padding-top: 44px;
}

#zhongguotong .bottom_12 {
	padding-bottom: 12px;
}

#zhongguotong .bottom_24 {
	padding-bottom: 24px;
}

#zhongguotong .bottom_48 {
	padding-bottom: 48px;
}

#zhongguotong h2 {
	display: none;
}

#zhongguotong .center {
	display: block;
	text-align: center;
	width: max-content;
	margin-left: auto;
	margin-right: auto;
}

#zhongguotong {
	margin: 0px;
	padding: 0px;
}

#zhongguotong #content {
	margin: 0px;
	padding: 0px;
}

#zhongguotong #chatch,
#zhongguotong #term,
#zhongguotong #theme,
#zhongguotong #news,
#zhongguotong #feature,
#zhongguotong #entry,
#zhongguotong #detail,
#zhongguotong #guide,
#zhongguotong #contact {
	margin: 0px;
}

#zhongguotong #chatch img{
	width: 100%;
}

#zhongguotong #term h3,
#zhongguotong #theme h3,
#zhongguotong #news h3,
#zhongguotong #feature h3,
#zhongguotong #entry h3:last-of-type,
#zhongguotong #guide h3,
#zhongguotong #contact h3 {
	padding-left: 0;
	padding-right: 0;
	position: relative;
	display: block;
	width: max-content;
	text-align: center;
	font-size: 24px;
	font-weight: bold;
	color: #008C7E;
	margin-left: auto;
	margin-right: auto;
}

#zhongguotong #term h3::after,
#zhongguotong #theme h3::after,
#zhongguotong #news h3::after,
#zhongguotong #feature h3::after,
#zhongguotong #entry h3:last-of-type::after,
#zhongguotong #guide h3::after,
#zhongguotong #contact h3::after {
	content: "";
	position: absolute;
	left: -5px;
	right: -5px;
	bottom: -2px;
	height: 2px;
	background-color: #008C7E;
}

#zhongguotong #term p,
#zhongguotong #theme p,
#zhongguotong #news .news_main,
#zhongguotong #feature p,
#zhongguotong #entry p,
#zhongguotong #guide p,
#zhongguotong #contact p {
	font-size: 16px;	
}

#zhongguotong #theme,
#zhongguotong #feature,
#zhongguotong #contact {
	background-color: #FAFAFA;
	border-radius: 36px;
}

#zhongguotong #theme p {
	line-height: 4;
	letter-spacing: 0.3em;
}

#zhongguotong .news_line {
	margin: 0px 20px;
	padding-bottom: 4px;
	border-bottom: solid 1px #008C7E;
}

#zhongguotong .news_small {
	font-size: 12px;
}

#zhongguotong #feature .feature_block {
	margin: 48px 32px 0px 32px;
	background-color: #FFFFFF;
}

#zhongguotong #feature h4 {
	position: relative;
	width: 100%;
	background-color: #008C7E;
	text-align: center;
	color: #FFFFFF;
	font-weight: bold;
	font-size: 20px;
	padding: 4px 0px;
	margin: 0px;
}

#zhongguotong #feature h4::before {
	content: "";
	position: absolute;
	left: -12px;
	top: -12px;
	width: 12px;
	aspect-ratio: 1;
	clip-path: polygon(0 100%,100% 0,100% 100%);
	background: linear-gradient(45deg,#008C7E,#008C7E);
}

#zhongguotong #feature h4::after {
	content: "";
	position: absolute;
	left: -12px;
	top: 0px;
	width: 12px;
	height: 100%;
	background-color: #008C7E;
}

#zhongguotong #feature .feature_block p {
	margin-left: 12px;
	margin-right: 12px;
	text-align: justify;
}

#zhongguotong #entry h3 {
	display: block;
	width: max-content;
	margin-left: auto;
	margin-right: auto;
	padding-left:0px;
	padding-right: 0px;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	color: #000000;
}

#zhongguotong .entry_button {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 290px;
	height: 48px;
	background-color: #FF6B6B;
	font-weight: bold;
	color: #FFFFFF;
	text-align: center;
	border-radius: 45px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
	cursor: pointer;
	transition: box-shadow 0.3 ease;
	margin-top: 44px;
	margin-left: auto;
	margin-right: auto;
}

#zhongguotong .entry_button:hover {
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3)
}

#zhongguotong .entry_button::after{
	content: "＞";
	position: absolute;
	top: 50%;
	right: 12px;
	transform: translateY(-50%);
	font-size: 16px;
	font-weight: bold;
	color: #FFFFFF;
}

#zhongguotong .download_area {
	padding-left: 24px;
	padding-right: 24px;
	display: grid;
	grid-template-columns: repeat(3, 108px);
	gap: 16px;
	justify-content: center;
}

#zhongguotong .frame_download {
	border: solid 3px #767676;
	display: flex;
	justify-content: center;
	border-radius: 20px;
}

#zhongguotong .frame_download p {
	position: relative;
	margin-top: 72px;
	margin-bottom: 16px;
	font-size: 12px;
	font-weight: bold;
	color: #767676;
}

#zhongguotong .frame_download p::after {
	content: url('image/zhongguotong_file_icon.png');
    display: block;
    position: absolute;
    left: 50%;
    transform: translateX(-50%) translateY(-104px);
}

#zhongguotong #detail {
	padding: 0px;
	margin: 0px 16px;
}

#zhongguotong #detail .click_item {
	display: flex;
	position: relative;
	background-color: #767676;
	height: 60px;
	cursor: pointer;
	justify-content: center;
	align-items: center;
}

#zhongguotong #detail .click_item::after {
	content: "";
	display: block;
	width: 18px;
	height: 18px;
	background: url('image/zhongguotong_open_item.png') no-repeat center center;
	background-size: cover;
	position: absolute;
	top: 50%;
	right: 18px;
	transform: translateY(-50%);
}

#zhongguotong #detail .click_item h3 {
	margin: 0;
	padding: 0;
	font-size: 20px;
	font-weight: bold;
	color: #FFFFFF;
}

#zhongguotong #detail .open_item {
	background-color: #FAFAFA;
}

#zhongguotong #detail .open_item p {
	font-size: 12px;
	padding-left: 4px;
	padding-right: 4px;
}

#zhongguotong #detail .open_item .p_red {
	font-weight: bold;
	color: #CE0000;
}

#zhongguotong #detail .open_item .p_small {
	font-size: 8px;
}

#zhongguotong #detail .open_item .h4_black,
#zhongguotong #contact .h4_black {
	font-size: 16px;
	text-align: center;
	font-weight: bold;
	margin: 0;
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 0;
	background-color: #FAFAFA;
	border: none;
	color: #000000;
}

#zhongguotong #detail .open_item .h4_green {
	font-size: 20px;
	text-align: center;
	font-weight: bold;
	margin: 0;
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 0;
	background-color: #FAFAFA;
	border: none;
	color: #008C7E;
}

#zhongguotong .click_parent2,
#zhongguotong .click_parent3 {
	margin-top: 8px;
}

#zhongguotong .click_child1,
#zhongguotong .click_child2,
#zhongguotong .click_child3 {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.5s ease-out;
}

#zhongguotong #detail .point_block {
	width: 280px;
  	height: 64px;
  	display: flex;
  	justify-content: center;
  	align-items: center;
  	text-align: center;
	font-weight: bold;
	color: #000000;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 44px;
}

#zhongguotong #detail .p_b_after_plus,
#zhongguotong #detail .p_b_after_equal {
	position: relative;
}

#zhongguotong #detail .p_b_after_plus::after {
	content: "";
	display: block;
	width: 18px;
	height: 18px;
	background: url('image/zhongguotong_plus.png') no-repeat center center;
	background-size: cover;
	position: absolute;
	left: 50%;
	bottom: -32px;
	transform: translateX(-50%);
}

#zhongguotong #detail .p_b_after_equal::after {
	content: "";
	display: block;
	width: 10.25px;
	height: 18px;
	background: url('image/zhongguotong_equal.png') no-repeat center center;
	background-size: cover;
	position: absolute;
	left: 50%;
	bottom: -32px;
	transform: translateX(-50%);
}

#zhongguotong #detail .p_b_yellow {
	background-color: #FFE380;
}

#zhongguotong #detail .p_b_red {
	background-color: #FFBBBB;
}

#zhongguotong #detail .p_b_blue {
	background-color: #C0E4FF;
}

#zhongguotong #guide a {
	display: flex;
	justify-content: center;
}

#zhongguotong #contact {
	margin-bottom: 48px;
}

#zhongguotong #contact p:first-of-type {
	font-weight: bold;
}

/*写真コンテスト2024-2026*/
#contest_photo2024 .ti,
#contest_photo2025 .ti,
#contest_photo2026 .ti {
	text-align: center;
	padding-left: 16px;
	padding-right: 16px;
	padding-bottom: 16px;
}

#contest_photo2024 .ti h3,
#contest_photo2025 .ti h3,
#contest_photo2026 .ti h3 {
	display: inline-block;
	font-size: 24px;
	color: #8A63D2;
	margin-top: 82px;
	padding-left: 0px;
}

#contest_photo2024 .text_first,
#contest_photo2025 .text_first,
#contest_photo2026 .text_first {
	padding: 8px 16px 20px 8px;
}

#contest_photo2024 .text_first .photo_theme,
#contest_photo2025 .text_first .photo_theme,
#contest_photo2026 .text_first .photo_theme {
	font-size: 1.4em;
	font-weight: bold;
	margin-bottom: 24px;
}

#contest_photo2024 center p,
#contest_photo2025 center p,
#contest_photo2026 center p {
	display: inline-block;
	width: 302px;
	height: 56px;
	line-height: 56px;
	text-decoration: none;
	font-size: 20px;
	font-weight: bold;
	color: #FFFFFF;
	background-color: #FF6B6B;
	text-align: center;
	border-radius: 25px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
	margin-bottom: 67px;
}

#contest_photo2024 .first,
#contest_photo2024 .second,
#contest_photo2024 .third,
#contest_photo2024 .forth,
#contest_photo2024 .fifth,
#contest_photo2024 .sixth,
#contest_photo2024 .seventh,
#contest_photo2024 .eighth, 
#contest_photo2025 .first,
#contest_photo2025 .second,
#contest_photo2025 .third,
#contest_photo2025 .forth,
#contest_photo2025 .fifth,
#contest_photo2025 .sixth,
#contest_photo2025 .seventh,
#contest_photo2025 .eighth,
#contest_photo2026 .first,
#contest_photo2026 .second,
#contest_photo2026 .third,
#contest_photo2026 .forth,
#contest_photo2026 .fifth,
#contest_photo2026 .sixth,
#contest_photo2026 .seventh,
#contest_photo2026 .eighth  {
	padding-bottom: 48px;
}

#contest_photo2024 .second,
#contest_photo2024 .forth,
#contest_photo2024 .sixth, 
#contest_photo2024 .eighth,
#contest_photo2025 .second,
#contest_photo2025 .forth,
#contest_photo2025 .sixth, 
#contest_photo2025 .eighth,
#contest_photo2026 .second,
#contest_photo2026 .forth,
#contest_photo2026 .sixth, 
#contest_photo2026 .eighth {
	background-color: #FAFAFA;
	border-radius: 36px;
}

#contest_photo2024 .eighth,
#contest_photo2025 .eighth,
#contest_photo2026 .eighth {
	margin-bottom: 24px;
}

/*写真コンテスト結果2024*/
#photoresult2024 #content {
	width: 100%;
	float: none;
	margin: 0px;
}

#photoresult2024 {
	font-family: 'Hiragino Kaku Gothic Pro', 'Meiryo', 'MS UI Gothic', sans-serif;
	margin: 0px;
	padding: 0px;
}

#photoresult2024 h2 {
	display: none;
}

#photoresult2024 .t_24 {
	padding-top: 24px;
}

#photoresult2024 .t_36 {
	padding-top: 36px;
}

#photoresult2024 .t_48 {
	padding-top: 48px;
}

#photoresult2024 .t_72 {
	padding-top: 72px;
}

#photoresult2024 .t_80 {
	padding-top: 80px;
}

#photoresult2024 .b_36 {
	padding-bottom: 36px;
}

#photoresult2024 .b_72 {
	padding-bottom: 72px;
}

#photoresult2024 .t_center {
	display: block;
	text-align: center;
	width: max-content;
	margin-left: auto;
	margin-right: auto;
}

#photoresult2024 .t_green {
	color: #008C7E;
}

#photoresult2024 .t_gold {
	color: #BDA658;
}

#photoresult2024 .t_silver {
	color: #C4C1BE;
}

#photoresult2024 .t_bronze {
	color: #C38860;
}

#photoresult2024 .t_blue {
	color: #5570B3;
}

#photoresult2024 .t_red {
	color: #DE0012;
}

#photoresult2024 .main_content {
	width: 100%;
	float: none;
	margin: 24px 0px;
	padding: 0px;
}

#photoresult2024 h3 {
	padding-left: 0;
	padding-right: 0;
	position: relative;
	display: block;
	width: max-content;
	text-align: center;
	font-size: 24px;
	font-weight: bold;
}

#photoresult2024 h3::after {
	content: "";
	position: absolute;
	left: -5px;
	right: -5px;
	height: 3px;
}

#photoresult2024 .main_content h3::after {
	background-color: #008C7E;
	top: 60px;
}

#photoresult2024 .first_content h3::before {
	content: "";
	display: block;
	width: 50px;
	height: 50px;
	background: url('image/photoresult_icon.png') center center no-repeat;
	background-size: contain;
	margin: -96px auto 0;
}

#photoresult2024 .first_place h3::after {
	background-color: #BDA658;
	top: 33px;
}

#photoresult2024 .second_place h3::after {
	background-color: #C4C1BE;
	top: 33px;
}

#photoresult2024 .special_place h3::after {
	background-color: #5570B3;
	top: 33px;
}

#photoresult2024 .popular_place h3::after {
	background-color: #DE0012;
	top: 33px;
}

#photoresult2024 .third_place h3::after {
	background-color: #C38860;
	top: 33px;
}

#photoresult2024 .foot_content h3::after {
	background-color: #008C7E;
	top: 66px;
}

#photoresult2024 .text_bold {
	font-size: 20px;
	font-weight: 700;
}

#photoresult2024 .text_normal {
	font-size: 14px;
	padding-left: 24px;
	padding-right: 24px;
}

#photoresult2024 .t_align {
	text-align: justify;
	text-align-last: left;
}

#photoresult2024 .text_name {
	font-size: 18px;
	padding-left: 24px;
	padding-right: 24px;
}

#photoresult2024 .first_content,
#photoresult2024 .foot_content {
	background-color: #FAFAFA;
	border-radius: 36px;
}

#photoresult2024 .award_image {
	background-color: #FAFAFA;
	width: 100%;
	display: flex;
    justify-content: center;
}

#photoresult2024 .award_image img {
	max-height: 480px;
	width: auto;
	height: auto;
	display: block;
}

#photoresult2024 .catch_image img {
	aspect-ratio: 810 / 814;
    width: 100%;
    height: auto;
    object-fit: cover;
}

/*写真コンテスト結果2025*/
#photoresult2025 #content {
	width: 100%;
	float: none;
	margin: 0px;
}

#photoresult2025 {
	font-family: 'Hiragino Kaku Gothic Pro', 'Meiryo', 'MS UI Gothic', sans-serif;
	margin: 0px;
	padding: 0px;
}

#photoresult2025 h2 {
	display: none;
}

#photoresult2025 .t_24 {
	padding-top: 24px;
}

#photoresult2025 .t_36 {
	padding-top: 36px;
}

#photoresult2025 .t_48 {
	padding-top: 48px;
}

#photoresult2025 .t_72 {
	padding-top: 72px;
}

#photoresult2025 .t_80 {
	padding-top: 80px;
}

#photoresult2025 .b_36 {
	padding-bottom: 36px;
}

#photoresult2025 .b_72 {
	padding-bottom: 72px;
}

#photoresult2025 .t_center {
	display: block;
	text-align: center;
	width: max-content;
	margin-left: auto;
	margin-right: auto;
}

#photoresult2025 .t_green {
	color: #008C7E;
}

#photoresult2025 .t_gold {
	color: #BDA658;
}

#photoresult2025 .t_silver {
	color: #C4C1BE;
}

#photoresult2025 .t_bronze {
	color: #C38860;
}

#photoresult2025 .t_blue {
	color: #5570B3;
}

#photoresult2025 .t_red {
	color: #DE0012;
}

#photoresult2025 .main_content {
	width: 100%;
	float: none;
	margin: 24px 0px;
	padding: 0px;
}

#photoresult2025 h3 {
	padding-left: 0;
	padding-right: 0;
	position: relative;
	display: block;
	width: max-content;
	text-align: center;
	font-size: 24px;
	font-weight: bold;
}

#photoresult2025 h3::after {
	content: "";
	position: absolute;
	left: -5px;
	right: -5px;
	height: 3px;
}

#photoresult2025 .main_content h3::after {
	background-color: #008C7E;
	top: 60px;
}

#photoresult2025 .first_content h3::before {
	content: "";
	display: block;
	width: 50px;
	height: 50px;
	background: url('image/photoresult_icon.png') center center no-repeat;
	background-size: contain;
	margin: -96px auto 0;
}

#photoresult2025 .first_place h3::after {
	background-color: #BDA658;
	top: 33px;
}

#photoresult2025 .second_place h3::after {
	background-color: #C4C1BE;
	top: 33px;
}

#photoresult2025 .special_place h3::after {
	background-color: #5570B3;
	top: 33px;
}

#photoresult2025 .popular_place h3::after {
	background-color: #DE0012;
	top: 33px;
}

#photoresult2025 .third_place h3::after {
	background-color: #C38860;
	top: 33px;
}

#photoresult2025 .foot_content h3::after {
	background-color: #008C7E;
	top: 66px;
}

#photoresult2025 .text_bold {
	font-size: 20px;
	font-weight: 700;
}

#photoresult2025 .text_normal {
	font-size: 14px;
	padding-left: 24px;
	padding-right: 24px;
}

#photoresult2025 .t_align {
	text-align: justify;
	text-align-last: left;
}

#photoresult2025 .text_name {
	font-size: 18px;
	padding-left: 24px;
	padding-right: 24px;
}

#photoresult2025 .first_content,
#photoresult2025 .foot_content {
	background-color: #FAFAFA;
	border-radius: 36px;
}

#photoresult2025 .award_image {
	background-color: #FAFAFA;
	width: 100%;
	display: flex;
    justify-content: center;
}

#photoresult2025 .award_image img {
	max-height: 480px;
	width: auto;
	height: auto;
	display: block;
}

#photoresult2025 .catch_image img {
	aspect-ratio: 810 / 814;
    width: 100%;
    height: auto;
    object-fit: cover;
}

/*受講生体験談*/
#student .para {
	margin-top: 50px;
	background: url(image/back_student.jpg) top repeat-x;
	background-color: #fffeea;
	border: #7bb403 3px solid;
	position: relative;
}

#student .para .student_pic {
	position: absolute;
	top: -30px;
	left: 30px;
}

#student .para .student_right .title {
	margin: 0 10px 30px 190px;
	padding: 50px 0 3px 5px;
	color: orange;
	font-weight: bold;
	font-size: 16px;
	border-bottom: dotted #7bb403 2px;
}

#student .para .student_right .name {
	padding: 0 30px 30px 0;
	color: #004200;
	font-size: 15px;
	text-align: right
}

#student .para .line p {
	background-image: url(image/greendot.gif);
	line-height: 30px;
	margin: 20px 30px;
}

#student #content hr {
	margin: 50px 10px 80px 10px;
}

#student .success {
	overflow: hidden;
	margin: 20px 0;
}

#student .success dl {
	margin-top: 30px;
	width: 100%;
	text-align: center;
}

#student .success dt {
	background-color: #a5dded;
	padding: 5px 10px;
	color: #ffffff;
}

#student .success dd {
	background-color: #ddf0f8;
	padding: 15px 10px;
}

#student .success .stepup {
	background: url(image/stepup2.png) top center no-repeat;
	background-size: 50px 46px;
	padding-top: 50px;
}

#student .success p {
	font-size: 20px;
	padding: 0 10px;
	border-left: 4px #04b404 solid;
	margin: 5px 0;
}



/*HSK申込フォーム*/
#hsk_apply .pc {
	display: none;
}




/*漢語橋申込みフォーム*/
#chinesebridge_apply .pc,
#chinesebridge_apply .pc {
	display: none;
}

#chinesebridge_apply #content h4,
#chinesebridge_apply #content h4 {}

#chinesebridge_apply .text,
#chinesebridge_apply .text {
	margin-bottom: 30px;
	padding: 0 5px;
}

#chinesebridge_apply .first ul,
#chinesebridge_apply .first ul {
	margin-left: 20px;
}

#chinesebridge_apply #content #list td,
#chinesebridge_apply #content #list td {
	border: none;
	font-size: 17px;
}

#chinesebridge_apply #main ol>li,
#chinesebridge_apply #main ol>li {
	list-style: none;
	text-indent: -1.5em;
	padding-left: 1.5em;
}

#chinesebridge_apply #main ol>li:first-child:before,
#chinesebridge_apply #main ol>li:first-child:before {
	content: "\2460";
}

#chinesebridge_apply #main ol>li:first-child+li:before,
#chinesebridge_apply #main ol>li:first-child+li:before {
	content: "\2461";
}

#chinesebridge_apply #main ol>li:first-child+li+li:before,
#chinesebridge_apply2015 #main ol>li:first-child+li+li:before {
	content: "\2462";
}

#chinesebridge_apply #main ol>li:first-child+li+li+li:before,
#chinesebridge_apply2015 #main ol>li:first-child+li+li+li:before {
	content: "\2463";
}

#chinesebridge_apply #main ol>li:first-child+li+li+li+li:before,
#chinesebridge_apply2015 #main ol>li:first-child+li+li+li+li:before {
	content: "\2464";
}

#chinesebridge_apply #main ol>li:first-child+li+li+li+li+li:before,
#chinesebridge_apply2015 #main ol>li:first-child+li+li+li+li+li:before {
	content: "\2465";
}

#chinesebridge_apply #main ol>li:first-child+li+li+li+li+li+li:before,
#chinesebridge_apply2015 #main ol>li:first-child+li+li+li+li+li+li:before {
	content: "\2466";
}

#chinesebridge_apply #main ol>li:first-child+li+li+li+li+li+li:before,
#chinesebridge_apply2015 #main ol>li:first-child+li+li+li+li+li+li:before {
	content: "\2467";
}

#chinesebridge_apply #content #list,
#chinesebridge_apply2015 #content #list {
	margin: -30px 0 35px 25px;
}

#chinesebridge_apply #step th,
#chinesebridge_apply2015 #step th {
	width: 25%;
	height: 28px;
	font-size: 15px;
	line-height: 1;
	text-align: center;
	background-color: #09b909;
	color: #ffffff;
	font-weight: bold;
}

#chinesebridge_apply #step td br,
#chinesebridge_apply2015 #step td br {
	display: none;
}

#chinesebridge_apply #step td,
#chinesebridge_apply2015 #step td {
	height: 75px;
	text-align: center;
}

#chinesebridge_apply .award ol,
#chinesebridge_apply2015 .award ol {
	margin-left: 20px;
}

#chinesebridge_apply #content #text_list,
#chinesebridge_apply2015 #content #text_list {
	margin-top: -10px;
	padding-bottom: 30px;
	font-size: 15px;
}

#chinesebridge_apply #content #text_list dt,
#chinesebridge_apply2015 #content #text_list dt {
	width: 25%;
	float: left;
}

#chinesebridge_apply #content #text_list dd,
#chinesebridge_apply2015 #content #text_list dd {
	width: 75%;
	float: left;
	padding-bottom: 5px;
}

#chinesebridge_apply2015 #content .link2form {
	-moz-box-shadow: inset 0px 1px 0px 0px #ffffff;
	-webkit-box-shadow: inset 0px 1px 0px 0px #ffffff;
	box-shadow: inset 0px 1px 0px 0px #ffffff;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0.05, #fc8787), color-stop(1, #ff0000));
	background: -moz-linear-gradient(center top, #fc8787 5%, #ff0000 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fc8787', endColorstr='#ff0000');
	background-color: #fc8787;
	-webkit-border-top-left-radius: 6px;
	-moz-border-radius-topleft: 6px;
	border-top-left-radius: 6px;
	-webkit-border-top-right-radius: 6px;
	-moz-border-radius-topright: 6px;
	border-top-right-radius: 6px;
	-webkit-border-bottom-right-radius: 6px;
	-moz-border-radius-bottomright: 6px;
	border-bottom-right-radius: 6px;
	-webkit-border-bottom-left-radius: 6px;
	-moz-border-radius-bottomleft: 6px;
	border-bottom-left-radius: 6px;
	text-indent: 0;
	border: 1px solid #dcdcdc;
	display: inline-block;
	color: #fff;
	font-family: arial;
	font-size: 20px;
	font-style: normal;
	width: 80%;
	padding: 20px 0;
	text-decoration: none;
	text-align: center;
	text-shadow: 1px 1px 0px #333;
}

#chinesebridge_apply2015 #content .link2form:hover {
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0.05, #ff0000), color-stop(1, #fc8787));
	background: -moz-linear-gradient(center top, #ff0000 5%, #fc8787 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0000', endColorstr='#fc8787');
	background-color: #ff0000;
}

#chinesebridge_apply2015 #content .link2form:active {
	position: relative;
	top: 1px;
}


/*漢語橋概要*/


#chinesebridge_outline #content .ti h3 {
	padding: 2px 14px;
	font-size: 16px;
	font-weight: normal;
	line-height: 1.5;
	border-left: 5px solid #004200;
	color: #004200;
}






/*中国通コンテスト*/
#contest_sentence2015 #content .link2form {
	-moz-box-shadow: inset 0px 1px 0px 0px #ffffff;
	-webkit-box-shadow: inset 0px 1px 0px 0px #ffffff;
	box-shadow: inset 0px 1px 0px 0px #ffffff;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0.05, #fc8787), color-stop(1, #ff0000));
	background: -moz-linear-gradient(center top, #fc8787 5%, #ff0000 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fc8787', endColorstr='#ff0000');
	background-color: #fc8787;
	-webkit-border-top-left-radius: 6px;
	-moz-border-radius-topleft: 6px;
	border-top-left-radius: 6px;
	-webkit-border-top-right-radius: 6px;
	-moz-border-radius-topright: 6px;
	border-top-right-radius: 6px;
	-webkit-border-bottom-right-radius: 6px;
	-moz-border-radius-bottomright: 6px;
	border-bottom-right-radius: 6px;
	-webkit-border-bottom-left-radius: 6px;
	-moz-border-radius-bottomleft: 6px;
	border-bottom-left-radius: 6px;
	text-indent: 0;
	border: 1px solid #dcdcdc;
	display: inline-block;
	color: #fff;
	font-family: arial;
	font-size: 20px;
	font-style: normal;
	width: 80%;
	padding: 20px 0;
	text-decoration: none;
	text-align: center;
	text-shadow: 1px 1px 0px #333;
}

#contest_sentence2015 #content .link2form:hover {
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0.05, #ff0000), color-stop(1, #fc8787));
	background: -moz-linear-gradient(center top, #ff0000 5%, #fc8787 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0000', endColorstr='#fc8787');
	background-color: #ff0000;
}

#contest_sentence2015 #content .link2form:active {
	position: relative;
	top: 1px;
}



/*孔子課堂の特徴*/
#point #first {
	color: orange;
	padding-top: 10px;
}

#point #top p {
	padding: 10px 0;
	font-size: 16px;
}

#point #second h2 {
	color: #ffffff;
	font-weight: bold;
	font-size: 17px;
	margin: 0 0 5px 0;
}

#point #second ul {
	padding-left: 10px;
	font-size: 15px;
	margin: 10px 0 0 20px;
}

#point #second ul li {
	list-style-image: url(image/point8_9s.png);
	margin-left: 15px;
	padding: 5px;
}

#point #box {
	padding: 5px;
	background-color: #fdf4e1;
	margin-bottom: 20px;
}

#point #content .link {
	background: url(image/link_arrow.png) no-repeat;
	background-position: 0 5px;
	padding-left: 25px;
	margin: 15px 0;
}

#point #content img {
	float: left;
	padding-right: 20px;
}

#point #content h3 {
	clear: both;
}

#point #content #class_list {
	clear: both;
}

#point #content ul {}

#point #content ul li {
	list-style-image: url(image/list-style.png);
	margin-left: 25px;
	padding: 7px 0;
}

#point #content #left,
#point #content #right {
	float: left;
	width: 50%;
}

#point #content .link_arrow {
	padding-top: 2px;
	margin-left: 600px;
}



/*学校概要*/
#summary .img1 {
	text-align: center;
}

#summary #content h3 {
	background-color: #004200;
	font-size: 18px;
	color: #ffffff;
	padding: 10px 20px;
	margin: 20px 0;
	border-bottom: 1px solid #ccc;
	font-weight: bold;
}

#summary #box {
	padding: 15px;
	background-color: #fdf4e1;
	margin-bottom: 40px;
}

#summary #box br {
	display: none;
}

#summary .int_left {
	text-align: center;
}


#summary .int .top {
	border-bottom: 1px dotted #ccc;
	margin-bottom: 20px;
}

#summary #content .name {
	font-size: 20px;
	font-weight: bold;
}

#summary #content hr {
	border-style: solid;
	color: #ccc;
	margin: 20px 0 30px 0;
}


/*講師紹介*/
#teacher .teacher_pic {
	text-align: center;
}

#teacher .para p {
	font-size: 16px;
}

#teacher #content h4 {
	width: 100%;
	font-size: 18px;
}

#teacher #content ul {
	font-size: 14px;
	margin: 10px 0 15px 25px;
	list-style: disc;
}

#teacher #content .link {
	background: url(image/link_arrow.png) left no-repeat;
	padding: 20px;
	margin-left: 20px;
	font-size: 14px;
}

#teacher #content hr {
	clear: both;
	margin: 50px 10px;
	border-style: none;
}





/*講師個人ページ*/

.teacher {
	overflow: hidden;
}

.teacher .teacher_pic {
	text-align: center;
	padding-top: 20px;
}

.teacher h3 {
	font-size: 18px;
	border-bottom: 1px solid #ccc;
	margin: 5px 0 10px 0;
	padding-bottom: 3px;
}

.teacher ul {
	font-size: 12px;
	margin: 10px 0 15px 25px;
	list-style: disc;
}

.teacher .link {
	clear: both;
	background: url(image/link_arrow.png) left no-repeat;
	padding-left: 20px;
	margin-left: 15px;
	margin-top: 20px;
}

.teacher h4 {
	color: #ffffff;
	font-size: 15px;
	margin: 10px 0;
}

.teacher #para p {
	padding-left: 15px;
	padding: 0 10px 10px 15px;
}




/*舞子学院*/
#maikogakuin .ti h3,
#chugokugokouza .ti h3,
#seminar .ti h3 {
	padding: 10px;
	margin: 15px 0;
	background: #004200;
	color: #ffffff;
}

#maikogakuin .text,
#chugokugokouza .text,
#seminar .text {
	padding: 0 15px 0 25px;
	margin-bottom: 40px;
}



#maikogakuin #top_link,
#chugokugokouza #top_link,
#seminar #top_link {
	margin: 20px 0 30px 10px;
	overflow: hidden;
}



#maikogakuin #top_link li a,
#chugokugokouza #top_link li a,
#seminar #top_link li a {
	background: url(image/arrow5.png) 15px 10px no-repeat;
	background-color: #50a10f;
	color: #ffffff;
	border: 1px solid #ccc;
	float: left;
	width: auto;
	margin: 0 10px 10px 0;
	padding: 10px 10px 10px 42px;

}

#maikogakuin #top_link #top_link_inquiry a,
#seminar #top_link #top_link_inquiry a,
#chugokugokouza #top_link #top_link_inquiry a {
	background: url(image/arrow5.png) 15px 10px no-repeat;
	background-color: #f06f11;
}

#maikogakuin #top_link li a:hover,
#chugokugokouza #top_link li a:hover,
#seminar #top_link li a:hover {
	background-color: #e3fad1;
	color: #50a10f;
}

#maikogakuin #top_link #top_link_inquiry a:hover,
#seminar #top_link #top_link_inquiry a:hover,
#chugokugokouza #top_link #top_link_inquiry a:hover {
	background-color: #f8b584;
	color: #f06f11;
}

#maikogakuin #top_info {
	clear: both;
	margin: 20px 15px 50px 15px;
	border-bottom: 2px dotted #ccc;
	padding-bottom: 50px;

}

#maikogakuin #top_info h3 {
	font-size: 16px;
	color: #004200;
	background-color: #eee;
	padding: 5px 20px;
	border-top: 2px solid #004200;
	border-right: 1px solid #ccc;
	border-left: 1px solid #ccc;
}

#maikogakuin #top_info ul {
	font-size: 13px;
	overflow: hidden;
	border: 1px solid #ccc;
	padding: 10px 15px 3px 15px;
}

#maikogakuin #top_info li {
	border-bottom: dotted #ccc 1px;
	margin-top: 10px;
	padding-bottom: 5px;
	overflow: hidden;
}

#maikogakuin #top_info ul .info_date {
	float: left;
	width: 70px;
}

#maikogakuin #top_info ul .info_pre {}

#maikogakuin .kouza {
	overflow: hidden;
	margin-bottom: 30px;
}

#maikogakuin .kouza .link_box {
	border: 1px solid #ccc;
	width: auto;
	margin: 10px;
}

#maikogakuin .kouza .link_box h4 {
	margin: 0;
	background: #81cb45;
	padding: 5px 10px;
	color: #ffffff;
}

#maikogakuin .kouza .maiko_inquiry h4 {
	background: #f06f11;
}

#maikogakuin .kouza .link_box p {
	padding: 15px 10px;
	background: url(image/arrow3.png) bottom 5px right 5px no-repeat;
}

#maikogakuin .kouza .maiko_inquiry p {
	background: url(image/arrow2.png) bottom 5px right 5px no-repeat;
}

#maikogakuin .title_h4 h4 {
	background: none;
	color: #81cb45
}

#maikogakuin #table1 {
	margin: 15px;
}

#maikogakuin #table1 th {
	border: 1px solid #ccc;
	padding: 10px;
	background: #eee;
}

#maikogakuin #table1 td {
	border: 1px solid #ccc;
	padding: 10px;
}

#maikogakuin #table1 .zip {
	border-right: none;
	padding-right: 0;
}

#maikogakuin #table1 .add {
	border-left: none;
}

#maikogakuin #route01,
#maikogakuin #route02 {
	margin: 20px;
	overflow: hidden;
}

#maikogakuin .route_title {
	font-size: 18px;
	border-top: 2px dotted #ccc;
	padding: 30px 0 15px 0;
}

#maikogakuin .route {
	width: 95%;
	height: auto;
	border: 1px solid #ccc;
	padding: 5px;
	overflow: hidden;
	margin-bottom: 10px;
}

#maikogakuin #route_link {
	margin: 20px;
}

#maikogakuin #route_link li {
	background: url(image/arrow3.png) no-repeat;
	padding: 0 0 10px 30px;
}

#maikogakuin .route .number {
	height: 25px;
	font-size: 20px;
	font-weight: bold;
	padding-bottom: 7px;
}

#maikogakuin .route img {
	width: 100%;
	height: auto;
}



/*舞子学院中国語講座*/
#chugokugokouza .table,
#seminar .table {
	margin: 15px 5px;
}

#chugokugokouza .nowrap,
#seminar .nowrap {}

#chugokugokouza table,
#seminar table {
	width: auto;
	border: 1px solid #50a10f;
	border-collapse: collapse;
	border-spacing: 0;
}

#chugokugokouza table th,
#seminar table th {
	color: #fff;
	padding: 10px;
	border-bottom: 1px solid #50a10f;
	border-left: 1px solid #50a10f;
	background: #81cb45;
	line-height: 120%;
	text-align: center;
}

#chugokugokouza table td,
#seminar table td {
	padding: 10px;
	border-bottom: 1px solid #50a10f;
	border-left: 1px solid #50a10f;
}

#chugokugokouza table tr:nth-child(2n+1),
#seminar table tr:nth-child(2n+1) {
	background: #f0fee5;
}

#chugokugokouza_thanks #content,
#seminar_thanks #content {
	height: 600px;
}

#chugokugokouza .text a,
#seminar .text a {
	text-decoration: underline;
}



/*神戸舞子学院中国文化史セミナー*/
#seminar .table a {
	text-decoration: underline;
	color: green;
}

#seminar .table a:hover {
	color: red;
}


#seminar .mr {
	font-size: 70%;
}

.seminar_contents {
	border: 1px solid #50a10f;
	margin: 15px;
	position: relative;
	padding: 15px;
}

.seminar_contents .date {
	position: absolute;
	top: 0;
	left: 0;
	font-size: 20px;
	padding: 10px;
	background: #81cb45;
	color: #fff;
}

.seminar_contents .box {
	overflow: hidden;
}

.seminar_contents .box_left {
	text-align: center;
	margin-left: 30px;
}

.seminar_contents .box_right {}

.seminar_contents .name {
	line-height: 1;
}

.seminar_contents .theme {
	margin: 20px 0;
	border-bottom: 1px dotted #81cb45;
	padding-bottom: 5px;
}

.seminar_contents .detail {}

/*Blog*/
/* .post スコープに限定（他のCSSと競合しない） */
.post {
  --color-primary:  #008c7e; /* メインカラー（要変更） */
  --color-text:     #333333;
  --color-text-sub: #666666;
  --color-border:   #dddddd;
  --color-bg-light: #f5f5f5;
  --color-white:    #ffffff;
}

/* =====================================================
   記事全体ラッパー
   ===================================================== */
.post {
  max-width: 680px;
  margin: 0 auto;
  padding: 36px 20px 80px;
}

/* =====================================================
   記事ヘッダー（日付 + タイトル）
   ===================================================== */
.post-header {
  margin-bottom: 32px;
}

/* PC用日付 （デフォルト非表示）*/
.post-date.mobile-show {
  font-size: 13px;
  color: var(--color-text-sub);
  margin-bottom: 10px;
}

/* スマホ用日付 */
.post-date.mobile_no {
  display: none;
  font-size: 13px;
  color: var(--color-text-sub);
  margin-bottom: 10px;
}

.post-header h2 {
  font-size: 20px;
  font-weight: 700;           /* 元の font-weight: 700 はそのまま維持 */
  line-height: 1.5;
  color: var(--color-text);   /* 元の color: #fff を上書き */
  border-bottom: 2px solid var(--color-primary);
  padding: 0 0 14px 0;        /* 元の padding: 10px を上書き */

  /* --- グローバル h2 の打ち消し --- */
  text-shadow: none;           /* 4. text-shadow 打ち消し */
  border-top: none;            /* 5. border-top 打ち消し */
  box-shadow: none;            /* 7. box-shadow 打ち消し */
  background: none;            /* 8〜10. background グラデーション打ち消し */
  background-size: auto;       /* 11〜13. background-size 打ち消し */
  -webkit-background-size: auto;
}

/* =====================================================
   記事本文
   .post-content 内は p タグだけで書けばOK
   ===================================================== */
.post-content {
  margin-bottom: 28px;
}

/* clearfix */
.post-content.clearfix::after {
  content: "";
  display: table;
  clear: both;
}

/* ★ インラインの margin-bottom: 指定が不要になる核心部分 */
.post-content p {
  font-size: 14px;
  line-height: 1.9;
  color: var(--color-text);
  margin-bottom: 16px; /* 段落間の余白を統一 */
}

/* 最後の p は余白不要 */
.post-content p:last-child {
  margin-bottom: 0;
}

/* 本文内リンク */
.post-content a {
  color: var(--color-primary);
  text-decoration: underline;
}

.post-content a:hover {
  opacity: 0.75;
}

/* 本文内見出し（h3, h4 を直打ちする場合の保険） */
.post-content h3 {
  font-size: 16px;
  font-weight: 700;
  border-left: 4px solid var(--color-primary);
  padding-left: 12px;
  margin: 28px 0 12px;
}

.post-content h4 {
  font-size: 14px;
  font-weight: 700;
  margin: 20px 0 8px;
}

/* 本文内画像 */
.post-content img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 20px auto;
}

/* =====================================================
   記事メタ情報（カテゴリー）
   ===================================================== */
.post-meta {
  font-size: 12px;
  color: var(--color-text-sub);
  border-top: 1px solid var(--color-border);
  padding-top: 14px;
  margin-top: 28px;
}

.post-meta .category a {
  color: var(--color-primary);
  text-decoration: underline;
  margin: 0 2px;
}

.post-meta .category a:hover {
  opacity: 0.75;
}

/* =====================================================
   前後記事ナビゲーション
   ===================================================== */
.navigation {
  max-width: 680px;
  margin: 0 auto;
  padding: 24px 20px 60px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid #dddddd; /* --color-border と同じ値 */
  font-size: 13px;
}

.navigation .prev,
.navigation .next {
  max-width: 45%;
}

.navigation .prev a,
.navigation .next a {
  color: #8b1a2d; /* --color-primary と同じ値 */
  text-decoration: underline;
}

.navigation .prev a:hover,
.navigation .next a:hover {
  opacity: 0.75;
}

.navigation .next {
  text-align: right;
  margin-left: auto;
}

/*GoogleMap*/
.map_wrapper {
	max-width: 640px;
	min-width: 280px;
	margin: 20px auto;
	padding: 4px;
	border: 1px solid #CCC;
}

.googlemap {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}

.googlemap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}

.map_wrapper p {
	text-align: center;
	font-size: 12px;
}

.map_wrapper a {
	text-decoration: none;
	color: #999;
}

.map_wrapper a:hover {
	text-decoration: none;
	color: #E18830;
}

/*ふわっとアニメーション*/

.fadein {
	opacity: 0;
	transform: translate(0, 30px);
	transition: all 1.5s;
  }
  
  .fadein-bottom {
	transform: translate(0, 30px);
  }
  
  .fadein.scrollin {
	opacity: 1;
	transform: translate(0, 0);
  }

/*404ページのスライドショー*/
/* スライドショーのスタイル */
#p404 .slideshow-container {
	position: relative;
	max-width: 100%;
	margin: auto;
}
  
#p404 .slide {
	position: absolute;
	display: none;
	top: 0;
	left: 0;
	width: 100%;
	opacity: 0;
	transition: opacity 0.5s ease-in-out;
}
  
#p404 .slideshow-container img {
	width: 100%;
	height: auto;
}
  
#p404 #prevBtn, #p404 #nextBtn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	cursor: pointer;
	width: 30px;
    height: 30px;
    background-color: rgba(0, 0, 0, 0.5);
    border-radius: 50%;
}
  
#p404 #prevBtn {
	left: 0;
}
  
#p404 #nextBtn {
	right: 0;
}

#p404 .mobile_slide_btn{
	width: 10px;
	margin: auto;
	color: rgba(187, 187, 187, 0.6);
	transition: color 0.6s ease;
	margin-top: 2px;
}
  
/* ドットのスタイル */
#p404 .dot-container {
	display: flex;
	justify-content: center;
	align-items: center;
	padding-top: 10px;
	padding-bottom: 10px;
}
  
#p404 .dot {
	height: 10px;
	width: 10px;
	background-color: #bbb;
	border-radius: 50%;
	display: inline-block;
	margin: 0 4px;
	transition: background-color 0.6s ease;
}
  
#p404 .active {
	background-color: #717171;
}

#notfound {
	font-size: 36px;
	text-align: center;
	margin: 45px 0;
}

#not {
	text-align: center;
	margin: 20px 0;
	font-size: 18px;
}