@charset "utf-8";

/* break point memo
30em ≠ 480px
32.5em ≠ 520px
40em ≠ 640px
57em ≠ 912px
70em ≠ 1120px */


/* =============================================================  Reset and Utility.css  */

html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, code,del, dfn, em, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,b, u, i, center,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, embed,figure, figcaption, footer, header, hgroup,menu, nav, output, ruby, section, summary,time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-style: normal;
	font-size: 100%;
	font-weight: normal;
	box-sizing: border-box;
}
article, aside, details, figcaption, figure,footer, header, hgroup, menu, nav, section {display: block;}
html{overflow-y: scroll;}
blockquote, q {quotes: none;}
blockquote:before, blockquote:after,q:before, q:after {content: '';content: none;}
input, textarea{margin: 0;padding: 0;outline: none;}
ol, ul{list-style:none;}
table{border-collapse: collapse; border-spacing:0;width:100%;}
img {vertical-align: middle; max-width:100%;height: auto;}
a:focus {outline:none;}

.clearfix {min-height: 1px;}
.clearfix:after {content: "."; display: block;clear: both;height: 0;visibility: hidden;}
* html .clearfix {
    height: 1px;
    /*¥*//*/
    height: auto;
    overflow: hidden;
    /**/
}
.both{clear:both;}

/* =============================================================  HTML,Body,Anchor*/
html {
    font-size: 68%;
    font-family: 'Open Sans','游ゴシック','メイリオ', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Verdana, Arial, Meiryo, 'MS P Gothic', 'MS Pゴシック', sans-serif;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -o-text-size-adjust: 100%;
    text-size-adjust: 100%;
}
body {
    background-color: #404047;
    font-size: 1.4em;
    line-height: 1.25;
    color: #333333;

    /*
    background: transparent url(images/bg_img01.png) left center no-repeat;
    background-size: cover;
    background-attachment: fixed; */
}
html,body{height: 100%;}
#wrapper{position: relative;min-height: 100%;height: auto !important;height: 100%;}

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

#ga{position:fixed;bottom:0;left:0;z-index:9999;color:#f00;}

.photo {
    border: 1px solid #d5d5d5;
    padding: 5px;
    box-shadow: 0 1px 3px rgba(128,128,128,0.2);
    background-color: #fff;
}

/* =============================================================  text  */
#content p{
    margin-bottom: 1em;
    line-height: 1.6;
/*    letter-spacing: .05rem;*/
}

.txtC{text-align:center !important;}.txtL{text-align:left;}.txtR{text-align:right;}
.red{color:red}
.bold{font-weight: bold;}
.tdu_b{border-bottom:1px solid #666; font-size: 1.4rem;}
.fs9{font-size: 0.9rem;line-height: 1.4;}.fs10{font-size: 1rem;line-height: 1.4;}.fs11{font-size: 1.1rem;line-height: 1.4;}.fs12{font-size: 1.2rem;}.fs13{font-size: 1.3rem;}.fs16{font-size: 1.6rem;}.fs18{font-size: 1.8rem;}.fs21{font-size: 2.1rem;}.fs24{font-size: 2.4rem;}

.floatL{float:left;}
.floatR{float:right;}

.disc li{
    list-style-type: disc;
    margin-left: 2rem;
}
.circle li{
    list-style-type: circle;
    margin-left: 2rem;
}
.decimal li{
    list-style-type: decimal;
    margin-left: 2rem;
}
.kome li{
    margin-left: 1em;
    position: relative;
}
.kome li::before{
    content: "※";
    position: absolute;
    left: -1em;
}

.w15p{width: 15%;}.w20p{width: 20%;}.w25p{width: 25%;}.w30p{width: 30%;}.w35p{width: 35%;}.w40p{width: 40%;}.w45p{width: 45%;}.w50p{width: 50%;}

@media screen and (max-width: 40em), print{
    .rbr{display: none;}
}

/* =============================================================  parts  */

.ma0{margin: 0 !important;}
/*space px*/
.mt0{margin-top: 0 !important;}.mt5{margin-top: 5px !important;}.mt10{margin-top: 10px !important;}.mt15{margin-top: 15px !important;}.mt20{margin-top: 20px !important;}.mt25{margin-top: 25px !important;}.mt30{margin-top: 30px !important;}.mt35{margin-top: 35px !important;}.mt40{margin-top: 40px !important;}.mt45{margin-top: 45px !important;}.mt50{margin-top: 50px !important;}.mt100{margin-top: 100px !important;}.mr0{margin-right: 0 !important;}.mr5{margin-right: 5px !important;}.mr10{margin-right: 10px !important;}.mr15{margin-right: 15px !important;}.mr20{margin-right: 20px !important;}.mr25{margin-right: 25px !important;}.mr30{margin-right: 30px !important;}.mr35{margin-right: 35px !important;}.mr40{margin-right: 40px !important;}.mr45{margin-right: 45px !important;}.mr50{margin-right: 50px !important;}.mr100{margin-right: 100px !important;}.mb0{margin-bottom: 0 !important;}.mb5{margin-bottom: 5px !important;}.mb10{margin-bottom: 10px !important;}.mb15{margin-bottom: 15px !important;}.mb20{margin-bottom: 20px !important;}.mb25{margin-bottom: 25px !important;}.mb30{margin-bottom: 30px !important;}.mb35{margin-bottom: 35px !important;}.mb40{margin-bottom: 40px !important;}.mb45{margin-bottom: 45px !important;}.mb50{margin-bottom: 50px !important;}.mb100{margin-bottom: 100px !important;}.ml0{margin-left: 0 !important;}.ml5{margin-left: 5px !important;}.ml10{margin-left: 10px !important;}.ml15{margin-left: 15px !important;}.ml20{margin-left: 20px !important;}.ml25{margin-left: 25px !important;}.ml30{margin-left: 30px !important;}.ml35{margin-left: 35px !important;}.ml40{margin-left: 40px !important;}.ml45{margin-left: 45px !important;}.ml50{margin-left: 50px !important;}.ml100{margin-left: 100px !important;}.pt0{padding-top: 0 !important;}.pt5{padding-top: 5px !important;}.pt10{padding-top: 10px !important;}.pt15{padding-top: 15px !important;}.pt20{padding-top: 20px !important;}.pt25{padding-top: 25px !important;}.pt30{padding-top: 30px !important;}.pt35{padding-top: 35px !important;}.pt40{padding-top: 40px !important;}.pt45{padding-top: 45px !important;}.pt50{padding-top: 50px !important;}.pt100{padding-top: 100px !important;}.pr0{padding-right: 0 !important;}.pr5{padding-right: 5px !important;}.pr10{padding-right: 10px !important;}.pr15{padding-right: 15px !important;}.pr20{padding-right: 20px !important;}.pr25{padding-right: 25px !important;}.pr30{padding-right: 30px !important;}.pr35{padding-right: 35px !important;}.pr40{padding-right: 40px !important;}.pr45{padding-right: 45px !important;}.pr50{padding-right: 50px !important;}.pr100{padding-right: 100px !important;}.pb0{padding-bottom: 0 !important;}.pb5{padding-bottom: 5px !important;}.pb10{padding-bottom: 10px !important;}.pb15{padding-bottom: 15px !important;}.pb20{padding-bottom: 20px !important;}.pb25{padding-bottom: 25px !important;}.pb30{padding-bottom: 30px !important;}.pb35{padding-bottom: 35px !important;}.pb40{padding-bottom: 40px !important;}.pb45{padding-bottom: 45px !important;}.pb50{padding-bottom: 50px !important;}.pb100{padding-bottom: 100px !important;}.pl0{padding-left: 0 !important;}.pl5{padding-left: 5px !important;}.pl10{padding-left: 10px !important;}.pl15{padding-left: 15px !important;}.pl20{padding-left: 20px !important;}.pl25{padding-left: 25px !important;}.pl30{padding-left: 30px !important;}.pl35{padding-left: 35px !important;}.pl40{padding-left: 40px !important;}.pl45{padding-left: 45px !important;}.pl50{padding-left: 50px !important;}.pl100{padding-left: 100px !important;}

/*space em*/
.mb1{margin-bottom:1em !important;}.mb2{margin-bottom: 2em !important;}.mb3{margin-bottom:3em !important;}.mb4{margin-bottom:4em !important;}

/* =============================================================  input */
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="password"],
textarea,
select{
    border: none;
    border-radius: .5rem;
    box-sizing: border-box;
    font-size: 1.4rem;
    /* height: 100%; */
    padding: 1rem;
    vertical-align: baseline;
    width: 100%;
}
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
    background-color: #f4fcff;
}
input.imeoff{ime-mode: disabled;}

input[type="radio"],input[type="checkbox"]{
    vertical-align: middle;
    margin: 0 0.2rem 0 1rem;
}

span.wpcf7-list-item{
    margin: 0 1rem 0 0 !important;
}

input[type="submit"],
input[type="button"]{
    background-color: #00469B;
    border: 2px solid;
    border-radius: 0.2rem;
    color: #fff;
    font-size: 1.6rem;
    padding: 1.2rem 8rem;
    position: relative;
    text-align: center;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    -khtml-border-radius: 3px;
    border-radius: 3px;
}
input[type="submit"]:hover,
input[type="button"]:hover{
    background-color: #999;
}
input[type="submit"]:focus,
input[type="button"]:focus{
}
input[type="submit"][disabled="disabled"]{
    background-color: #eee;
    border-color: #bbb;
    color: #888;
}

.req{position: relative;}
.req::after{
    content: "*";
    color: #c84557;
    display: inline-block;
}


label{display: inline-block;}

/* =============================================================  effect  */
input[type="submit"],
input[type="button"]{
    -webkit-transition: all .12s ease-out;
     -moz-transition: all .12s ease-out;
        -ms-transition: all .12s ease-out;
         -o-transition: all .12s ease-out;
            transition: all .12s ease-out;
}

.about_ab_wrap,
.service_list,
.flow_list,
.thing_list,
.thing_info,
.catmanage,
.affiliations {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    flex-align: stretch;
    -webkit-align-items: stretch;
    align-items: stretch;
}
.catmanage,
.affiliations {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
}


/* =============================================================  slider  */
.slider_wrap{
    margin-bottom: 2rem;
    overflow: hidden;
}

/* =============================================================  wrap,box  */
.footer_inner{
    max-width: 1120px;
    margin-left:auto;
    margin-right:auto;
}

#content{}

.home .content_wrap{background-color: transparent;}
.content_wrap{background-color: #fff;}

.breadCrumb{
    padding: 1rem 1rem 2rem;
    text-align: right;
}
.breadCrumb li{display:inline;}
.breadCrumb,
.breadCrumb a{
    color: #999;
    font-size: 1.1rem;
}

/* =============================================================  header  */
#header{
    background-color: transparent;
    color: #fff;
    margin-bottom: 2rem;
    width:100%;
}

.header_cont {
    width:1000px;
				margin:0 auto;
					padding:0;
}

.middle #header {
	    background: url(../images/bg_img07.jpg) center top no-repeat;
					height:480px;
					background-size: cover;
					    margin-bottom: 0;

	}

.header-L{
	 width:210px;
		float:left;
display:inline;
				margin:0;
				padding:0;

}


.middle #header	.header-L{
				height:400px;
}


.header_logo{
}

.header-R{
    width:330px;
				float:right;
	display:inline;
				margin:0;
				padding:0;

}

p.tel_info {
    width:325px;
				text-align: right;
				margin-top:10px;
					}
					
#gnav_pc ul {
    width:324px;
				margin-top:10px;
				padding:0;
				}
					
#gnav_pc li {
    background-color: rgba(255,255,255,.7) !important;
						padding:20px 15px;
				}

@media screen and (min-width: 57em), print{
    /* 大きい時(57em以上の時) */
    #header{
        border-top-width: 4rem;
    }

    .header_logo_wrap{
        padding: 4.5rem 0;
    }
				
				#gnav {
					display:none;}
				
    #gnav_pc a{
        color: #fff;
        font-weight: bold;
    }
    #gnav_pc li{
 				float:left;
       display:block;
    }
    .nav_sp-trigger{display: none;}
}




@media screen and (max-width: 57em){
    /* sp menu str --------------------------------------- */
    #gnav {z-index: 9990;}
    #gnav ul {
      /* mobile first */
      background-color: rgba(255, 255, 255, 1);
      box-shadow: 0 0 1rem rgba(0, 0, 0, 0.2);
      border-radius: .25em;
      max-width: 400px;
      overflow: hidden;
      padding: 2rem;
      visibility: hidden;
      width: 90%;
      z-index: 9998;
      position: fixed;
      right: 1rem;
      top: 1rem;

      transform: scale(0);
      transform-origin: 100% 0;
      transition: transform 0.3s, visibility 0s 0.3s;
    }
    #gnav .is-visible {
      visibility: visible;
      transform: scale(1);
      transition: transform 0.3s, visibility 0s 0s;
    }

/*スマホメニュー内部*/
   #gnav .is-visible a{
        border-left: 4px solid #000;
        display: block;
        font-size: 1.4rem;
								margin: 1.2rem 0;
        padding: .5rem 0 .5rem 1rem;
    }

   #gnav .is-visible .menu01 a{
        border-left: 4px solid #FFF200;
    }
   #gnav .is-visible .menu02 a{
        border-left: 4px solid #FAB744;
    }
   #gnav .is-visible .menu03 a{
        border-left: 4px solid #00449F;
    }
   #gnav .is-visible .menu04 a{
        border-left: 4px solid #6B0060;
    }
   #gnav .is-visible .menu05 a{
        border-left: 4px solid #00722BC;
    }
   #gnav .is-visible .menu06 a{
        border-left: 4px solid #A50800;
    }






     .is-fixed .nav_sp-trigger {
      animation: 0.3s linear 0s normal none 1 running cd-bounce-in;
      transform: scale(1);
      transition: all 0s ease 0s;
      visibility: visible;
    }
    .nav_sp-trigger {
      transform: scale(0);
      transition: transform 0.3s ease 0s, visibility 0s ease 0.3s;
      visibility: hidden;
    }

    .nav_sp-trigger {
      position: fixed;
      top: 1rem;
      right: 1rem;
      width: 44px;
      height: 44px;
      background-color: rgba(255, 255, 255, 1);
      border-radius: 0.25em;
        border: 1px solid #ddd;
        cursor: pointer;
      /* image replacement */
      overflow: hidden;
      text-indent: 100%;
      white-space: nowrap;
      z-index: 9999;
    }
    .nav_sp-trigger span {
      /* the span element is used to create the menu icon */
      position: absolute;
      display: block;
      width: 20px;
      height: 2px;
      background-color: #00469B;
      top: 50%;
      margin-top: -1px;
      left: 50%;
      margin-left: -10px;
      -webkit-transition: background 0.3s;
      -moz-transition: background 0.3s;
      transition: background 0.3s;
    }
    .nav_sp-trigger span::before, .nav_sp-trigger span::after {
      content: '';
      position: absolute;
      left: 0;
      background: inherit;
      width: 100%;
      height: 100%;
      /* Force Hardware Acceleration in WebKit */
      -webkit-transform: translateZ(0);
      -moz-transform: translateZ(0);
      -ms-transform: translateZ(0);
      -o-transform: translateZ(0);
      transform: translateZ(0);
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
      -webkit-transition: -webkit-transform 0.3s, background 0s;
      -moz-transition: -moz-transform 0.3s, background 0s;
      transition: transform 0.3s, background 0s;
    }
    .nav_sp-trigger span::before {
      top: -6px;
      -webkit-transform: rotate(0);
      -moz-transform: rotate(0);
      -ms-transform: rotate(0);
      -o-transform: rotate(0);
      transform: rotate(0);
    }
    .nav_sp-trigger span::after {
      bottom: -6px;
      -webkit-transform: rotate(0);
      -moz-transform: rotate(0);
      -ms-transform: rotate(0);
      -o-transform: rotate(0);
      transform: rotate(0);
    }
    .nav_sp-trigger.menu-is-open {
      box-shadow: none;
        border: none;
    }
    .nav_sp-trigger.menu-is-open span {
      background: rgba(232, 74, 100, 0);
    }
    .nav_sp-trigger.menu-is-open span::before, .nav_sp-trigger.menu-is-open span::after {
      background-color: #00469B;
    }
    .nav_sp-trigger.menu-is-open span::before {
      top: 0;
      -webkit-transform: rotate(-135deg);
      -moz-transform: rotate(-135deg);
      -ms-transform: rotate(-135deg);
      -o-transform: rotate(-135deg);
      transform: rotate(-135deg);
    }
    .nav_sp-trigger.menu-is-open span::after {
      bottom: 0;
      -webkit-transform: rotate(-225deg);
      -moz-transform: rotate(-225deg);
      -ms-transform: rotate(-225deg);
      -o-transform: rotate(-225deg);
      transform: rotate(-225deg);
    }
				
.header_cont {
	width:100%;
	}	
				
#gnav_pc, .header-R {
	display:none;
	}
	
.tel_info {
	display:none;
	}
	
	

.middle #header,
.middle #header	.header-L{
					height:112px;
	}
	
	
	
    /* sp menu end --------------------------------------- */
}

    /* logo --------------------------------------- */
@media screen and (max-width: 40em), print{

.header-L{
	 width:85%;
		float:left;
display:inline;
				margin:2px 0 0;
				padding:0;
				height:450px;
}

.logo_pc {
	display:none;	
	}
}

@media screen and (min-width: 40em), print{
	
	.header-L{
				height:800px;
}
	
.logo_sp {
	display:none;	
	}
}

#body_bg{
    display: block;
    height: 100%;
    width: 100%;
    z-index: -1;
    position: fixed;
    bottom: 0;
    top: 0;
}
#body_bg::before{
    content: "";
    background-color: rgba(0,0,0,.0);
    display: block;
    height: 100%;
    width: 100%;
    z-index: 1;
    position: fixed;
    bottom: 0;
    top: 0;
}

/* =============================================================  info  */




/* =============================================================  event  */

.event-L {
    width: 45%;
				float:left;
				display:inline;
	}
.event-R {
    width: 50%;
				float:right;
				display:inline;
	}
	
@media screen and (max-width: 40em){
.event-L {
    width: 90%;
				margin-left:5%;
	}
.event-R {
    width: 90%;
				margin-right:5%;
	}
}
/* =============================================================  footer  */
.footer_wrap{
    width:100%;
    background-color:#e5e4e4;
}
.footer_inner{
    color: #888;
    padding: 3rem 0;
    text-align: center;
}

/* footer contact */
.contact_area{
    background-color: #003475 !important;
    padding: 8rem 2rem;
}

.contact_area .title2 {
	color:#FFF;
}

.contact_area_inner{
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
}
.contact_area_icon{
    background-color: #fff;
    border-radius: 10rem;
    display: inline-block;
    line-height: 10rem;
    width: 10rem;
    margin-bottom: 1rem;
}
.contact_area_title{
    font-size: 3rem;
}

.contact_area_txt{
	color:#FFF;
	text-align:center;
    max-width: 100rem;
    margin: 0 auto 2rem;
}

.footer_contact{
    margin: 2rem 0;
    color: #333;
}
.footer_contact th {
    background-color: rgba(0,0,0,0.1);
    padding: 1rem;
    color: #fff;
}
.footer_contact tr{display: block;}
.footer_contact th,
.footer_contact td{
    border-radius: .5rem;
    margin-bottom: .5rem;
    display: block;
}
.footer_contact input{color: #333;}
.submit_area{
    text-align: center;
}
.footer_contact_th,
.footer_contact_td{width: 100%;}
@media screen and (min-width: 40em), print{
    .footer_contact{
        border-collapse: separate;
        border-spacing: 2rem;
        margin: 0;
        display: table;
    }
    .footer_contact tr{display: table-row;}
    .footer_contact th,
    .footer_contact td{
        display: table-cell;
        background-color: #fff;
        color: #434343;
        margin-bottom: 0;
        vertical-align: middle;
    }
    .footer_contact th{background: #f5f5f5; font-weight: bold;}
    .footer_contact_th{width: 15%;}
    .footer_contact_td{width: 35%;}
}


@media screen and (max-width: 40em), print{
.footer_wrap{
	padding-bottom:40px;
	
}
				
}

/* footer navi */
.footer_navi{
    margin-bottom: 3rem;
}
.footer_navi li{
    display: inline-block;
    margin: 0 1rem;
}
.footer_navi a{
    color: #888;
}

/* footer info */
.footer_info{
    border-color: #cbcbcb;
    border-style: solid;
    border-width: 4px 0;
    margin-bottom: 3rem;
    padding: 2rem 0;
}
.footer_logo{
    max-width: 160px;
}



/* copyright */
.copyright{
    font-size: 1.1rem;
    display: block;
    padding-top: 1em;
}


/* page top */
#page_top {
    background: #282832;
    border: 1px solid rgba(255,255,255,.6);
    border-radius: 0.5rem;
    color: #fff;
    display: block;
    font-size: 1rem;
    padding: 1rem 0;
    text-align: center;
    text-decoration: none;
    width: 8rem;
    position: fixed;
    bottom:  1.8rem;
    right:  1.8rem;
}
#page_top:hover {
    text-decoration: none;
    background: #33333F;
}

@media screen and (min-width: 40em), print{
#tel_btn{
	display:none;}

}

@media screen and (max-width: 40em), print{
#page_top {
    bottom:  70px;
    right:  1rem;
}

#tel_btn{
    width: 100%;
    position: fixed;
    bottom:  0;
    right:  0;
}

}

/* =============================================================  home  */
.home_sec{
    background-color: #fff;
    overflow: hidden;
    padding: 6rem 0;
}

.home_sec.bgalpha{background-color: transparent;}
.home_sec.bggray{background-color: #f3f3f3;}
.home_sec.bgor{background-color: #FEDFA0;
    background-color: rgba(254,223,160,.8) !important;


}
.home_sec.bggray p{text-align: justify;}
.home_sec_inner{
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
}

@media screen and (min-width: 40em),print{
    .home_sec_inner{
        padding: 0 1rem;
    }
    .about_news a::after{
        border: 1px solid;
        content: "READ MORE";
        font-size: 1.2rem;
        line-height: 3rem;
        height: 3rem;
        margin: auto;
        padding: 0 2rem;
        text-align: center;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 4rem;
    }
}

/* =============================================================  policy  */


@media screen and (max-width: 40em), print{
#policy {
	display:none;	
	}
}


@media screen and (min-width: 40em), print{
#policy_sp {
	display:none;	
	}
}

/* =============================================================  about  */


@media screen and (max-width: 40em), print{
.about_pc {
	display:none;	
	}
}


@media screen and (min-width: 40em), print{
.about_sp {
	display:none;	
	}
}




/* =============================================================  service  */
#service {
    text-align: center;
}
.service_list li{
    margin-bottom: 4rem;
    padding: 0 2rem;
    width: 50%;
}
.service_list img{
    display: block;
    margin: 0 auto 2rem;
}

.service_list_text {
	text-align:left;
	}

@media screen and (max-width: 40em), print{
    .service_list li{width: 100%;}
				
}
@media screen and (min-width: 57em), print{
    .service_list li{width: 33.33%;}
}



/* =============================================================  faq  */
#faq{
    background-color: #fff;
    position: relative;
}
.faq_box{
    max-width: 990px;
    margin: 0 auto;
}
.faq_title{
    border-bottom: 1px solid #eee;
    font-size: 1.6rem;
    font-weight: bold;
    margin-bottom: 1rem;
    padding-bottom: .5rem;
    text-align: center;
}
.faq_list{
    margin: 0 auto 4rem;
    padding: 0;
    text-align: left;
}
.faq_list dt{
				background-color:#00469B;
				width:100%;
				color:#FFF;
    cursor: pointer;
    font-size: 1.5rem;
    margin-bottom: 1rem;
    padding: 1rem 0rem 1rem 1rem;
    line-height: 1.4;
    position: relative;
}
.faq_list dt.open{
    font-weight: bold;
}
.faq_list dd{
	    background: url(../images/icon_a.jpg) left top no-repeat;
    margin-top: 1.5rem;
    margin-bottom: 1rem;
    padding: 1.5rem 9rem 2rem;
}

/* =============================================================  common  */
.sec{
    margin-bottom: 2rem;
    position: relative;
}
.sec_inner{
    border: 1px solid #ccc;
    padding: 2rem;
}

#pagetitle{}

.page_wrap{
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 2rem;
}

.title{
    background-color: #282832;
    color: #ffffff;
    font-size: 1.8rem;
    margin-bottom: 2rem;
    padding: 1rem 2.1rem;
}

.title1{
    margin-bottom: 2rem;
}
.title1_en{
    font-size: 2.4rem;
}
.title1_main{}

.title2{
    font-size: 2.4rem;
    letter-spacing: .18em;
    margin-bottom: 5rem;
    text-align: center;
}
.title2 span{
    background: url(../svg/icon_arrow.svg) left center no-repeat;
    display: inline-block;
    padding-left: 3rem;
}

.title3{}

.post_cont_date{
    font-size: 1.2rem;
    text-align: right;
}

.btn{
    border: 2px solid;
    border-radius: 0.2rem;
    font-size: 1.6rem;
    display: inline-block;
    padding: 1.2rem 3rem;
}


/* =============================================================  table  */
.table_wrap{
    display: block;
     width: 100%;
    position: relative;
    overflow-x: auto;
    white-space: nowrap;
}
.table_wrap table{min-width: 44rem;white-space: normal;}
.table_wrap::-webkit-scrollbar {
  height: 5px;
}
.table_wrap::-webkit-scrollbar-track {
  border-radius: 5px;
  background: #eee;
}
.table_wrap::-webkit-scrollbar-thumb {
  border-radius: 5px;
  background: #666;
}

@media screen and (min-width: 40em), print{
    .btn{
        padding: 1.2rem 8rem;
    }
}


/* =============================================================  post  */
/* category list */
.cat_list{margin-bottom: 4rem;}

/* single page */
.single_inner,
.prev-next{
    margin: 0 auto;
    max-width: 840px;
}
.single_wrap{
    background-color: #f3f3f3;
    padding: 4rem 1rem;
}
.single_inner{
    background-color: #fff;
    padding: 2rem;
    position: relative;
}
.page .single_wrap .single_inner:last-child{
    padding: 2em 2rem 4rem;
}

@media screen and (min-width: 42.5em),print{
    .single_wrap{
        padding: 8rem 1rem;
    }
    .single_inner{
        padding: 3rem 8rem;
    }
    .page .single_wrap .single_inner:last-child{
        padding: 3rem 8rem 8rem;
    }
}


.prev-next{
    position: relative;
    text-align: center;
    padding: 2rem 0;
    text-align: center;
}
.prev-next a{
    background-color: #888;
    border-radius: 5rem;
    display: inline-block;
    color: #fff;
    font-size: 1.2rem !important;
    font-weight: normal;
    padding: 0.5rem 2rem;
}
.prev-next a:hover{
    background-color: #282832;
}
.prev-next a[rel="prev"]{
    position: absolute;
    left: 0;
}
.prev-next a[rel="next"]{
    position: absolute;
    right: 0;
}
.to_list{margin-top: 5rem;}
.to_list a{
    background-color: #282832;
    padding: 1rem 4rem;
    margin-top:-0.5rem;
}
@media screen and (min-width: 32.5em),print{
    .to_list{margin-top: 0;}
}

/* ============================================================= col-3  */

.col-3 {
  position: relative;
  min-height: 1px;
  padding-right: 5px;
  padding-left: 5px;
		padding-bottom:10px;
}

@media (min-width: 768px) {
  .col-3 {
    float: left;
  }

  .col-3 {
    width: 33.33333333%;
  }
}


/* ============================================================= page plan  */

.plan_sec{
    width:100%;
    background-color: #fff;
    overflow: hidden;
    padding: 3rem 0 0;
}

.plan-read {
	text-align:center;
	}


.plan_tel {
text-align : center;
margin:0 0 30px;
padding:0;
	}


.to-toppage {
text-align : center;
margin:0;
padding:0;
}

.to-toppage-thanks {
text-align : center;
margin:50px;
padding:0;
}

.to-toppage a,
.to-toppage-thanks a{
	color:#FFF;
	font: 18px/30px;
	text-transform: uppercase;
	letter-spacing: 3px;
 background-color: #003475;
	padding: 10px 30px;
	border: none;
	cursor: pointer;
	height: auto;
	display: inline-block;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	-khtml-border-radius: 3px;
	border-radius: 3px;
	width: 250px;
}

.to-toppage a:hover {
	text-decoration:none;
	color: #fff;
	background: #999;
}







@media screen and (max-width: 40em), print{
.plan-read {
	margin: 0 30px;
	}
	
.plan_tel {
margin:30px 0;
	}

.plan_sec table th {
	padding:5px 0;}
	
}



/* ============================================================= table */

table {
	width: 100%;
	margin:0 auto 50px;
	border:#fff solid 30px;
	background-color: #FFF;
}

table th{
	margin:0;
	padding:2em;
	width:30%;
	text-align:left;
	background-color:#fff;
	border-bottom:#eee solid 1px;
	}
	
	
table td{
	text-align:left;
	margin:0;
	padding:5px 1em;
	border-bottom:#eee solid 1px;
	}

.icon-s {
	color:#003475;
	
	}

.access-info dt {
	margin:10px 0;
	}



/*お問い合わせフォーム*/

table.formTable {
	width: 700px;
}

table.formTable th{
	margin:0;
	padding:2em;
	width:40%;
	text-align:left;
	background-color:#fff;
	border-bottom:#eee solid 1px;
	}
	
table.formTable td{
	text-align:left;
	margin:0;
	padding:5px 1em;
	border-bottom:#eee solid 1px;
	}
	
	.formtext{
	text-align:center;}

	
.forma{
	margin-bottom: -80px;
	z-index: 10;
	margin-top: 48px;
}
.forma input{
	border-radius:4px;
	padding-top:10px;
	padding-bottom:10px;
	border:0px;
	/*font-family: 'Roboto', 'sans-serif';*/
	font-weight: 300;
	font-size:13px;
	color:#555555;
	background:#ededed;
}
input:focus{
	//border:0;
	outline:none;
}
textarea:focus{
	//border:0;
	outline:none;
}
.name{
	margin-bottom:10px;
	margin-right: 10px;
}
.Email{
	margin-bottom:10px;
}
.Subject{
	margin-bottom:10px;
	max-width: 816px;
}

textarea {
	border-radius:4px;
	padding-top:10px;
	padding-bottom:10px;
	border:0px;
	/*font-family: 'Roboto', 'sans-serif';*/
	font-weight: 300;
	font-size:13px;
	color:#555555;
	background:#ededed;
	border:none;
 max-width: 816px;
	height: 153px;
    resize: none;
   }
.forma input:focus, .forma textarea:focus{
	background:#dfdfdf;
	border:0;
}
.forma .cBtn a{
	/*font-family: 'Roboto', 'sans-serif';*/
	font-weight: 700;
	font-size:13px;
}

.forma .cBtn ul{
	margin-left: -15px;
	margin-top: 6px;
	padding-left: 0;
	margin-bottom: 200px;
}
.forma .cBtn ul i{
	padding-right: 10px;
}
.forma .cBtn .clear , .cBtn .send{
	margin-bottom: 0;
	margin-top: 4px;
	padding: 10px;
	padding-right: 17px;
	padding-left: 17px
	
}
.forma .cBtn .clear  a, .cBtn .send a{
	font-family: 'Roboto', 'sans-serif';
	font-weight: 700;
}
.forma .cBtn .send{
	box-shadow: 0px 2px 0px 0px #179abf;
	background:#1fcdff ;
}
.forma .cBtn .send:hover{
	background:#2f2f2f;
	box-shadow: 0px 2px 0px 0px #000 ;
}

/* contact form */
#contact form {
	margin-bottom: 50px;
}
#contact label {
	font: 15px/24px;
	margin: 12px 0x;
	color: #666;
	display: inline-block;
	float: left;
}
#contact input, #contact textarea, #contact select {
	padding: 7px 20px;
	color: #555;
	background: #eee;
	margin: 15px 0;
	border: 0;
	outline: none;
	font-size: 15px;
	line-height: 24px;
	width: 90%;
}
#contact input:focus, #contact textarea:focus, #contact select:focus {
	color: #000;
	background-color: #eee;
}

#contact input.submit, #contact a.toppage {
	font: 18px/30px;
	color: #fff;
	text-transform: uppercase;
	letter-spacing: 3px;
 background-color: #003475;
	padding: 10px 30px;
	border: none;
	cursor: pointer;
	height: auto;
	display: inline-block;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	-khtml-border-radius: 3px;
	border-radius: 3px;
	width: 250px;
}

#contact .submit-box {
text-align : center;
margin:0;
padding:0;
	}
	
#contact .input.submit {
		margin-bottom:0;
	
	}


#contact input.resetbtn {
	margin-left: 50%;
	width: 250px;
}


#contact input.return {
	margin-top: 50px;
}


#contact input.submit:hover {
	color: #fff;
	background: #999;
}
#contact span.required {
	color: #000;
	font-size: 13px;
}

#contact a:link, #contact a:visited, #contact a:hover, #contact a:active {
	color: #000;
}

#contact a.toppage {
	width: 280px;
	margin-left: 0;
}


.contact_tel {
text-align : center;
margin:0 0 100px;
padding:0;
}


	
@media screen and (max-width: 40em), print{

table {
	font-size:80%;
	border:#fff solid 10px;
		}
	

table th{
	margin:0;
	padding:0;
	width:30%;
	text-align:left;
	background-color:#fff;
	border-bottom:#eee solid 1px;
	}
	
table td{
	margin:0;
	padding:5px;
	}
	
table.formTable {
	font-size:80%;
	width: 100%;
}

table.formTable-re {
	font-size:100%;
}

.formtext{
	text-align:left;}


table.formTable th{
	margin:0;
	padding:2em;
	width:40%;
	}

table.formTable td{
	margin:0;
	padding:5px 1em;
	}

}




