@charset "UTF-8";
/*
 * sp.css
 *
 */
 
@media screen and (max-width:1110px){
header,
.side_and_contents,
#headerIn,
#navi1 ul,
#footer_box {
    width:100%;
}
#contents {
	width:76%;
	padding:0;
}
.side_and_contents {
	padding:10px;
	box-sizing:border-box;	
}
#head-h1 h1 {
    width:auto;
}
aside {
	width:170px;
    padding: 0 1% 2% 0;
}
aside > ul > li > ul > li > a {
    margin:10px auto;
    padding: 5px;
}
aside .menber_menu li {
    width: 175px;
}
.menber_menu a {
    padding: 8px 20px;
}
#footer_box {
    padding: 20px;
	box-sizing:border-box;
}
#footer_left {
	width:307px;
}
#footer_right {
	width:53%;
}
#footer_right ul {
	width:100%;
}
#footer_right ul li {
    width: 41%;
	padding:1%;
}
/*==================================
             toppage
==================================*/
.acc_info iframe {
    width:95%;
}
.tab_content_description li {
	padding:0 10px 5px 0;
}
.top_info img, .info_menu_box {
    display:block;
}
.top_info img {
    width:100%;
}
.info_menu_box {
    width: 100%;
	margin:20px auto;
}
.info_list ul {
	margin:20px 0 20px;
}
#all:checked ~ #all_content,
#oshirase:checked ~ #oshirase_content,
#shiken:checked ~ #shiken_content,
#koshu:checked ~ #koshu_content,
#kyogikai:checked ~ #kyogikai_content {
    padding: 20px 10px;
}
#main .acc_info table {
    width: 100%;
}
.top_info h2 img {
	display:inline-block;
}
/*==================================
              about
==================================*/
.frame,
.page table {
    width:auto;
}
.gaiyou iframe {
    width:95%;
}
/*==================================
              koshu
==================================*/
.sub_menu li {
	width:22%;
    margin:1%;
}
#apply ul.chui2 {
	margin: 20px 10px 10px 60px;
}
#apply li {
	margin:0 auto;
	padding:5px 0;
}
#gaiyou li > ul > li {
	margin:10px auto;
}
/*==================================
              kyogikai
==================================*/
#gaiyou li {
	margin:0 auto;
}
.shiken_info #gaiyou table {
	margin:0 auto 20px;
	width:100%;
}
/*==================================
              contact
==================================*/
.contact_list table th {
    width:80px;
}
.contact_list table td {
    width:75%;
}
textarea {
    width: 100%;
}
.contact_list table td br {
    display: block;
}
/*==================================
             news_list
==================================*/
.top_news p {
    width: 80%;
	margin:5px auto;
}
.news_copy .top_news p {
	width:100%;
}
/*==================================
             schedule
==================================*/
#schedule li {
	margin:0 auto;
	padding:5px 0;
}


@media screen and (max-width:760px){
#headerIn h1 br {
	display:block;
}
}
 
@media screen and (max-width:720px){
/*==================================
            toppage
==================================*/
.tab_content_description time,
.sch_tab_content_description time,
.tab_content_description p,
.sch_tab_content_description p {
    display: block;
	padding:10px;
	text-decoration:none;
}
.tab_content_description a,
.sch_tab_content_description a {
	text-decoration:none;
}
.tabs,
.sch_tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    width: 100%;
	margin:0 auto;
}
.tab_item,
.sch_tab_item {
	width:48%;
    padding: 10px;
    font-size: 16px;
    list-style: none;
}
#sch_all:checked ~ #sch_all_content {
    width: 100%;
}
}

@media screen and (max-width:850px){

aside,
#navi1,
#head-h1 nav,
#head-h1 h1,
.only_pc {
	display:none;
}
#wrapper {
    overflow: hidden;
}
#menuToggle,
.only_sp {
    display: block;
}
#contents {
	display:block;
    padding:0 10px;
    width:100%;
}
.top_img {
	width:100%;
	height:auto;
}
#wrapper,
.side_and_contents,
header,
#main,
section {
	width:100%;
}
#headerIn h1 {
    margin:0 auto;
	padding:10px;
}
#headerIn {
    margin: 0 auto;
}
.acc_info iframe,
.gaiyou iframe {
    width:95%;
}
.page table {
    width:95%;
}
.page h2 {
    margin: 10px auto 0;
}
.page li {
    margin:0 auto;
}
.page table th, .page table td {
	display:block;
	padding:10px 0;
	width:100%;
}
#main .acc_info table th {
	width:100%;
}
.contact_tel ul {
	display:block;
}
#main .contact_tel li:first-of-type {
    width:auto;
    margin: 0 auto;
	border-bottom:#fff solid 1px;
}
.tel p a {
    font-size: 28px;
    font-weight: bold;
    color: #fff;
    text-align: center;
	text-decoration:none;
}
#contents .contact_tel {
	padding:20px 20px 0;
	box-sizing:border-box;	
}
#main .contact_tel li {
	display:block;
	margin:0 auto;
}
#copyright {
	display:block;
	text-align:center;
	color:#FFFFFF;
  	font-family: Verdana, "Droid Sans" !important;
	font-size:14px;
}
#footer_box {
    width:auto;
	padding:10px;
}
#footer_left .menber_menu li {
    margin: 20px auto;
}
#footer_right {
    float: none;
    width:100%;	
    margin: 0 auto;
}
#footer_right ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    width:100%;
	margin:0 auto 2%;
}
#footer_right ul li::before {
    margin: 0 1% 0 0;
}
#footer_right ul li {
    width: 47%;
    margin:0;
	padding:2% 1%;
    color: #fff;
    background-color: #35ADDA;
    font-size: 20px;
    list-style: none;
	border:#fff solid 1px;
	font-size:14px;
}
#footer_right ul li a {
    color: #fff;
	font-weight:bold;
}
#footer_right ul li::before {
    color: #fff;
}
#footer_left {
	width:100%;
}
#footer .e_weld_btn {
  margin: 20px auto;
}
/*==================================
             toppage
==================================*/
.top_info img {
    width:100%;
	margin:0 auto;
}
.top_shiken .page li {
    margin:0 auto;
}
.info_menu_box {
    width:auto;
}
.info_menu li {
	margin:5px;
}
.info_menu li a {
	padding:20px 10px;
}
.info_menu li a::before {
    font-size: 24px;
}
.info_menu li:nth-of-type(1) {
    background-size: 25px 25px;
    background-position: 3% 50%;	
}
.info_menu li:nth-of-type(1) a {
    padding: 20px 10px 20px 40px;
}
.info_menu li:nth-of-type(6) a::before {
    padding: 0 18px 0 5px;
}
.info_menu li:nth-of-type(1) a:hover {
    background-size: 25px 25px;
    background-position: 3% 50%;
}
.kyogikai_topix {
	margin:20px auto;
}
.top_about_copy {
    margin: 20px auto;
}
.koumoku {
	margin:0 auto 20px;
}
#sch_kyogikai:checked ~ #sch_kyogikai_content {
    width: 100%;
}
.top_news p {
    width: 100%;
}
#main .news_list_link {
    width: 200px;
}
#all:checked ~ #all_content, #oshirase:checked ~ #oshirase_content, #shiken:checked ~ #shiken_content, #koshu:checked ~ #koshu_content, #kyogikai:checked ~ #kyogikai_content {
    padding: 20px 0;
	width:100%;
}
/*==================================
             about
==================================*/
.frame {
    width:auto;
}
.top_copy {
    padding: 0 10px;
}
.top_copy h3 {
	margin:20px auto;
    padding: 20px 10px;
}
/*==================================
             contact
==================================*/
.contact_list a {
	pointer-events:inherit;
	text-decoration:none;
	color:#000;
	font-weight:bold;
}
.contact_list table {
    width: 100%;
    box-sizing: border-box;
	border-bottom:#797979 solid 1px;
}
.contact_list table th, .contact_list table td {
    display: block;
    width: 100%;
	padding:10px;	
    box-sizing: border-box;
	border-bottom:none;
}
.contact_list table th {
	border-bottom:#797979 solid 1px;
}
textarea {
    width: 100%;
}
textarea, select {
    margin: 10px auto;
}
.contact_list table td br {
	display:block;
}
/*==================================
             koshu
==================================*/
#main .sub_menu li {
	margin:1%;
	width:22%;
}
#gaiyou ul > li > ul,
#form ul,
#form ul > li > ul {
	margin:20px auto;
}
#situation table th,
#situation table td,
#situation table tr {
    width:100%;
	border:none;
}
#situation table th,
#situation table td {
    width:auto;
	border-top: 1px solid #BBBBBB;
}
#situation table {
    border:none;
    width:100%;
    margin:20px auto;
	border: 1px solid #BBBBBB;
	padding:0;	
}
#situation table tr:first-of-type th {
	border-top:none;
}
#price table {
	width:700px;
	border:none;
	margin:0 auto;	
}
#price table th,
#price table td {
	display:revert;
}
.after_box {
    width: auto;
    height: auto;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 30px 10px 0;
    padding: 0;
    border: #D3D1D1 solid 2px;
}
.after_box table {
    margin: 0 auto;
    padding: 20px;
    display: block;
}
.scroll {
	display:block;
    margin: 20px;
    padding: 0;
    color: #FF0000;
}
/*==================================
             kyogikai
==================================*/
#main .kyogi_shosai th,
#main .kyogi_shosai td {
	display:revert;
}
#main .kyogi_shosai {
	width:790px;
	margin:20px auto;
	border:none;
	padding:0 20px;
}
#gaiyou .after_box {
	margin:30px auto;
	padding:0 0 20px;	
}
/*==================================
             shiken
==================================*/
.shiken_info .item li {
	padding:10px;
}
.shiken_info #situation table {
    width: 90%;
    margin:10px 0;
}
.e_weld_box h3  br {
	display:block;
}
.e_weld_box ul {
  	width: 100%;
  	display:block;
  	margin:0 auto;
}
.e_weld_box ul li {
	margin:10px auto;
}
.e_weld_link p {
	display:block;
	margin:10px auto 0;
}
#main .e_weld_box br {
	display:block;
}
#kaijyo .shiken_kaijyo,
.shiken .shikenkaijyo_chui .shiken_kaijyo,
#apply .shiken_kaijyo_moshikomi,
#apply .kenteiryo,
#apply .moushikomi_otoiawase,
#price .jimutesuryo {
	width:790px;
	margin:20px auto;
	border:none;
	padding:0 20px;
}
.page #kaijyo table.shiken_kaijyo th,
.page #kaijyo table.shiken_kaijyo td,
.page .shikenkaijyo_chui table.shiken_kaijyo th,
.page .shikenkaijyo_chui table.shiken_kaijyo td,
.page #apply table.shiken_kaijyo_moshikomi th,
.page #apply table.shiken_kaijyo_moshikomi td,
.page #apply table.kenteiryo th,
.page #apply table.kenteiryo td,
.page #apply table.moushikomi_otoiawase th,
.page #apply table.moushikomi_otoiawase td {
	display:table-cell;
}

/*==================================
             nyukai
==================================*/
.page table.kojinkaihi,
.page table.kaiingai,
.page table.dantaikaihi,
.page table.kaiin_jyokyo,
.page table.dantaikijyun{
	width:790px;
	margin:20px auto;
	border:none;
	padding:0 20px;
}
.page table.kojinkaihi th,
.page table.kojinkaihi td,
.page table.kaiingai th,
.page table.kaiingai td,
.page table.dantaikaihi th,
.page table.dantaikaihi td,
.page table.kaiin_jyokyo th,
.page table.kaiin_jyokyo td,
.page table.dantaikijyun th,
.page table.dantaikijyun td {
	display:table-cell;
}
/*==================================
             link
==================================*/
.top_link li {
	padding:10px 0;
}
.top_link ul {
	margin:20px auto 0;
}
/*==================================
             news
==================================*/
.top_news li time {
    padding: 15px 0;
}
/*==================================
             privacy
==================================*/
.kojinjyouhou {
	padding:10px;
}
.top_privacy h4 {
	padding:10px 10px 0;
	margin:20px auto 0;
}

/*==================================
             sitemap
==================================*/
#main .sitemap_01 {
    display:block;
	margin:0 auto;	
}
#main .sitemap_01 ul {
    margin: 10px 0 20px;
	padding:0 10px;
    border-top: #35ADDA solid 1px;
}
.top_sitemap ul li {
	margin:10px auto;
}
/*==================================
            menuToggle
==================================*/
#humberger-menu {
	display:block;
}
#menuToggle {
  display: block;
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 100;
  -webkit-user-select: none;
  user-select: none;
}

#menuToggle input {
  display: block;
  width: 40px;
  height: 32px;
  position: absolute;
  top: -7px;
  left: -5px;
  cursor: pointer;
  opacity: 0; /* hide this */
  z-index: 102; /* and place it over the hamburger */
  -webkit-touch-callout: none;
}

/*
 * Just a quick hamburger
 */
#menuToggle span {
	display: block;
	width: 33px;
	height: 4px;
	margin-bottom: 5px;
	position: relative;
	background: #999999;
	border-radius: 3px;
	z-index: 101;
	transform-origin: 4px 0px;
	-ms-transform-origin: 4px 0px; /* IE 9 */
	-webkit-transform-origin: 4px 0px; /* Safari and Chrome */
	-moz-transform-origin: 4px 0px; /* Firefox */
	-o-transform-origin: 4px 0px; /* Opera */

	transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
				background 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
				opacity 0.55s ease; /* Firefox 4 */
	-moz-transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
				background 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
				opacity 0.55s ease;
	-webkit-transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
				background 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
				opacity 0.55s ease; /* Safari and Chrome */
	-o-transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
				background 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
				opacity 0.55s ease; /* Opera */
}

#menuToggle span:first-child {
	transform-origin: 0% 0%;
	-ms-transform-origin: 0% 0%; /* IE 9 */
	-webkit-transform-origin: 0% 0%; /* Safari and Chrome */
	-moz-transform-origin: 0% 0%; /* Firefox */
	-o-transform-origin: 0% 0%; /* Opera */
}

#menuToggle span:nth-last-child(2) {
	transform-origin: 0% 100%;
	-ms-transform-origin: 0% 100%; /* IE 9 */
	-webkit-transform-origin: 0% 100%; /* Safari and Chrome */
	-moz-transform-origin: 0% 100%; /* Firefox */
	-o-transform-origin: 0% 100%; /* Opera */
}

/* 
 * Transform all the slices of hamburger
 * into a crossmark.
 */
#menuToggle input:checked ~ span {
	opacity: 1;
	transform: rotate(45deg) translate(-2px, -1px);
	-moz-transform: rotate(45deg) translate(-2px, -1px); /* Firefox 4 */
	-webkit-transform: rotate(45deg) translate(-2px, -1px); /* Safari and Chrome */
	-o-transform: rotate(45deg) translate(-2px, -1px); /* Opera */
	background: #232323;
}

/*
 * But let's hide the middle one.
 */
#menuToggle input:checked ~ span:nth-last-child(3) {
	opacity: 0;
	transform: rotate(0deg) scale(0.2, 0.2);
	-moz-transform: rotate(0deg) scale(0.2, 0.2); /* Firefox 4 */
	-webkit-transform: rotate(0deg) scale(0.2, 0.2); /* Safari and Chrome */
	-o-transform: rotate(0deg) scale(0.2, 0.2); /* Opera */
}

/*
 * Ohyeah and the last one should go the other direction
 */
#menuToggle input:checked ~ span:nth-last-child(2) {
	opacity: 1;
	transform: rotate(-45deg) translate(0, -1px);
	-moz-transform: rotate(-45deg) translate(0, -1px); /* Firefox 4 */
	-webkit-transform: rotate(-45deg) translate(0, -1px); /* Safari and Chrome */
	-o-transform: rotate(-45deg) translate(0, -1px); /* Opera */
}

/*
 * Make this absolute positioned
 * at the top left of the screen
 */
#menu {
	position: absolute;
	width: 300px;
	margin: -100px 0 0 0;
	padding: 50px 20px;
	padding-top: 125px;
	right: -100px;
	background: #F2F2F2;
	list-style-type: none;
	-webkit-font-smoothing: antialiased;
	/* to stop flickering of text in safari */
	transform-origin: 0% 0%;
	-ms-transform-origin: 0% 0%; /* IE 9 */
	-webkit-transform-origin: 0% 0%; /* Safari and Chrome */
	-moz-transform-origin: 0% 0%; /* Firefox */
	-o-transform-origin: 0% 0%; /* Opera */
	transform: translate(100%, 0);
	-moz-transform: translate(100%, 0); /* Firefox 4 */
	-webkit-transform: translate(100%, 0); /* Safari and Chrome */
	-o-transform: translate(100%, 0); /* Opera */
	transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0);
	-moz-transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0); /* Firefox 4 */
	-webkit-transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0); /* Safari and Chrome */
	-o-transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0); /* Opera */
}

#menu li {
	margin:0;
    padding: 10px 50px 10px 10px;
	width:55%;
    font-size: 14px;
    background-size: 7px auto;
	border-bottom:1px solid #333333;
}
#menu li a {
    color: #000;
    text-decoration: none;
}
#menu li a::before {
    left: 0;
    margin: 0 10px 0 0;
    font-family: 'Font Awesome 5 Free';
    content: '\f054';
    font-weight: 900;
    position: relative;
    color: #35ADDA;
}
#menu li h4 {
    padding: 10px 0 5px 20px;
    color: #113D96;
    background-image: url(../img/page_top_bg.png);
    background-position: left;
    background-repeat: no-repeat;
    background-size: 7px auto;
}
#menu li.business ul li {
    background-image: none;
}
#menu li.business {
    padding: 0;
    background-image: none;
}

/*
 * And let's fade it in from the left
 */
#menuToggle input:checked ~ ul {
	transform: scale(1.0, 1.0);
	-ms-transform: scale(1.0, 1.0); /* IE 9 */
	-webkit-transform: scale(1.0, 1.0); /* Safari and Chrome */
	-o-transform: scale(1.0, 1.0); /* Opera */
	-moz-transform: scale(1.0, 1.0); /* Firefox */
	opacity: 1;
}

#humberger-menu {
	top:0px;
	right:10px;
	z-index:99999;
	position:absolute;
	transition : .3s;
	-moz-transition: .3s; /* Firefox 4 */
	-webkit-transition: .3s; /* Safari and Chrome */
	-o-transition: .3s; /* Opera */
}
.menu-off {
	position: fixed;
}
.hum-show {
	position: fixed;
	width: 100%;
	opacity:0.4;
}
#menu .menber_menu {
    width: 200px;
    margin: 20px;
    text-align: center;
    border-radius: 20px;
    background-color: #CADA29;
    padding: 0;
    border-bottom: none;
}
#menu .menber_menu a:before {
	display:none;
}
#menu .e_weld_btn {
    width: 230px;
    margin: 20px 0;
    text-align: center;
    border-radius:10px;
    padding: 0;
    border-bottom: none;
	border:#90DBFA solid 2px;
}
#menu .e_weld_btn h3 {
	font-size:16px;
}
#menu .e_weld_btn p {
	font-size:14px;
}
#menu .e_weld_btn a:before {
	display:none;
}
#menu .e_weld_btn a img {
   margin: 5px auto 15px;
}
}

@media screen and (max-width:630px){
/*==================================
             koshu
==================================*/
#main .sub_menu li {
	width:46%;
}
}

@media screen and (max-width:540px){
/*==================================
             toppage
==================================*/
.info_menu li {
    margin: 1%;
}
}

@media screen and (max-width:450px){
.h1_en {
    margin: 0;
    font-size: 16px;
}
/*==================================
             koshu
==================================*/
#main .sub_menu li {
	width:90%;
	margin:5px auto;
}
}

@media screen and (max-width:425px){
.info_menu {
    display:block;
}
div.page .info_menu li {
	width:100%;
}
.info_menu_box {
	width:90%;
	margin:20px auto;
	display:block;
}
.info_menu li:nth-of-type(1),
.info_menu li:nth-of-type(1) a:hover {
    background-position: 3% 50%;
}
.info_menu li:nth-of-type(1) a {
    padding: 20px 10px 20px 40px;
}
.info_menu li:nth-of-type(6) a::before {
    padding: 0 9px 0 5px;
}
/*==================================
             koshu
==================================*/
.sub_menu {
    display:block;
}
.sub_menu li {
    width:100%;
	margin:0 auto 5px;
}
}

@media screen and (max-width:380px){
.side_and_contents {
    padding: 10px;
}
#contents {
    padding:0;
}
#headerIn h1 a {
    font-size: 22px;
}
.hojin {
    font-size: 14px;
}
.h1_en {
    font-size: 12px;
}
#headerIn h1 {
    line-height: 0.8em;
}
#menuToggle {
    top: 20px;
    right: 10px;
}
.mail p {
    border-radius: 25px;
}
#apply h3 {
    margin: 20px auto 0;
}
#apply h4, #gaiyou h4, #judge h4 {
    margin: 0 auto;
}
#apply ul {
    margin: 10px auto;
}
.tab_item, .sch_tab_item {
	height:45px;
	padding:0;
}
section {
    margin: 0 auto 10px;
    padding: 0 0 10px;
}
/*==================================
             toppage
==================================*/
.top_news li time {
    padding:5px 0;
}
.tabs ul li p {
    width: 100%;
    margin:0 auto;
	padding:0;
}
#main .contact_tel li {
	width:auto;
}
.top_page section {
    margin: 0 auto 20px;
    padding: 0 0 20px;
}
.page h2 {
    line-height: 1.5em;
}
#main .news_list_link {
    width: 200px;
}
/*==================================
             about
==================================*/
.acc_info iframe, .gaiyou iframe {
    width: 100%;
}
/*==================================
             shiken
==================================*/
#situation ul li {
	display:block;
    width:auto;
}
.shiken_info #situation table {
    width: 100%;
}
/*==================================
             contact
==================================*/
#d_email {
	width:90%;
}
.contact_list {
    margin: 0 auto;
}
/*==================================
             privacy
==================================*/
.kojinjyouhou p {
    padding:0;
}
.text-right {
    text-align: left;
}
}