 @import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
 /* 
 * ------- commons ---------------------
 */


 /*----------------------------
clearfix
-----------------------------*/

 .clearfix:before,
 .clearfix:after {
   content: " ";
   display: table;
 }

 .clearfix:after {
   clear: both;
 }

 .clearfix {
   *zoom: 1;
 }

 /*----------------------------
fonts
-----------------------------*/

 @font-face {
   font-family: 'minchouFont';
   src: url('../fonts/HanaMinA.eot');
   /* IE9 Compat Modes */
   src: url('../fonts/HanaMinA.eot?#iefix') format('embedded-opentype'),
     /* IE6-IE8 */
     url('../fonts/HanaMinA.woff') format('woff');
   /* Modern Browsers */
 }

 .minchouFontClass {
   font-family: "minchouFont";
 }

 /* Noto Sans Japanese */
 .noto100 {
   font-weight: 100;
 }

 .noto200 {
   font-weight: 200;
 }

 .noto300 {
   font-weight: 300;
 }

 .noto400 {
   font-weight: 400;
 }

 .noto500 {
   font-weight: 500;
 }

 .noto700 {
   font-weight: 700;
 }

 .noto900 {
   font-weight: 900;
 }

 @media screen and (max-width: 768px) {
   .minchouFontClass {
     font-family: serif;
   }
 }

 /*----------------------------
spacer
-----------------------------*/

 /* padding */
 .pt0 {
   padding-top: 0px !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;
 }

 .pt40 {
   padding-top: 40px !important;
 }

 .pt50 {
   padding-top: 50px !important;
 }

 .pt60 {
   padding-top: 60px !important;
 }

 .pt70 {
   padding-top: 70px !important;
 }

 .pt80 {
   padding-top: 80px !important;
 }

 .pt90 {
   padding-top: 90px !important;
 }

 .pt100 {
   padding-top: 100px !important;
 }

 .pb0 {
   padding-bottom: 0px !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;
 }

 .pb40 {
   padding-bottom: 40px !important;
 }

 .pb50 {
   padding-bottom: 50px !important;
 }

 .pb60 {
   padding-bottom: 60px !important;
 }

 .pb70 {
   padding-bottom: 70px !important;
 }

 .pb80 {
   padding-bottom: 80px !important;
 }

 .pb90 {
   padding-bottom: 90px !important;
 }

 .pb100 {
   padding-bottom: 100px !important;
 }

 .pl0 {
   padding-left: 0px !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;
 }

 .pl40 {
   padding-left: 40px !important;
 }

 .pl50 {
   padding-left: 50px !important;
 }

 .pr0 {
   padding-right: 0px !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;
 }

 .pr40 {
   padding-right: 40px !important;
 }

 .pr50 {
   padding-right: 50px !important;
 }

 /* margin */
 .mt0 {
   margin-top: 0px !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;
 }

 .mt40 {
   margin-top: 40px !important;
 }

 .mt50 {
   margin-top: 50px !important;
 }

 .mt60 {
   margin-top: 60px !important;
 }

 .mt70 {
   margin-top: 70px !important;
 }

 .mt80 {
   margin-top: 80px !important;
 }

 .mt90 {
   margin-top: 90px !important;
 }

 .mt100 {
   margin-top: 100px !important;
 }

 .mb0 {
   margin-bottom: 0px !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;
 }

 .mb40 {
   margin-bottom: 40px !important;
 }

 .mb50 {
   margin-bottom: 50px !important;
 }

 .mb60 {
   margin-bottom: 60px !important;
 }

 .mb70 {
   margin-bottom: 70px !important;
 }

 .mb80 {
   margin-bottom: 80px !important;
 }

 .mb90 {
   margin-bottom: 90px !important;
 }

 .mb100 {
   margin-bottom: 100px !important;
 }

 .ml0 {
   margin-left: 0px !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;
 }

 .ml40 {
   margin-left: 40px !important;
 }

 .ml50 {
   margin-left: 50px !important;
 }

 .mr0 {
   margin-right: 0px !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;
 }

 .mr40 {
   margin-right: 40px !important;
 }

 .mr50 {
   margin-right: 50px !important;
 }

 /* 
 * ------- style base ---------------------
 */


 /*----------------------------
general
-----------------------------*/
 /*
.browser-head {
	height: 58px;
	width: 100%;
	background: url(../img/top/browser_head.png) no-repeat #dedede;
	background-position: center center;
	position: fixed;
	left:0;
	top:0;
	z-index: 10000;
	border-radius: 10px 10px 0 0;
}
*/


 body {
   font-size: 14px;
   line-height: 1.8em;
   font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
   margin: 0;
   padding: 0;
   letter-spacing: 0.05em;
 }

 body.top {
   display: none;
 }



 .container {
   width: 100%;
   margin: 0 auto;
 }

 /* title */

 h1,
 h2,
 h3,
 h4,
 h5,
 h6 {
   letter-spacing: 1px;
   font-weight: normal;
   font-family: 'Noto Sans Japanese', sans-serif;
 }

 h1 {
   font-size: 2.4em;
   line-height: 1.3em;
 }

 h2 {
   font-size: 1.25em;
   margin: .75em 0;
 }

 h2 {
   font-size: 1.25em;
   margin: .75em 0;
 }

 h5 {
   font-size: .83em;
   margin: 1.5em 0
 }

 h6 {
   font-size: .75em;
   margin: 1.67em 0
 }

 @media screen and (max-width: 768px) {

   h1,
   h2,
   h3,
   h4,
   h5,
   h6 {
     letter-spacing: 0;
   }
 }

 /*----------------------------
header
-----------------------------*/


 header {
   width: 100%;
   height: 76px;
   z-index: 9999;
   position: fixed;
   background: #FFF;
   left: 0;
   top: 0;
 }

 header .logo2 {
   z-index: 2;
   float: left;
   background-color: #FFF;
   background-position: center center;
   box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
   -moz-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
   -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
 }

 /* header下にライン

.secondary header {
	height:75px;
	border-bottom:1px solid #ececec;
}
 */



 /* navi */



 .fat-nav {
   z-index: 9999;
   position: fixed;
   right: 2%;
   top: 16px;
   padding: 12px;
   width: auto;
   height: auto;
 }

 .fat-nav ul {}

 .fat-nav li {
   margin-left: 1.8em;
   display: inline-block;
   line-height: 1;
 }

 .fat-nav li a {
   text-decoration: none;
   padding: 5px;
 }

 .fat-nav li .home a {}

 .fat-nav .fa-home {
   font-size: 1.5em;
 }

 .fat-nav li.inq a {
   display: block;
   padding: 8px 18px;
   border-radius: 2px;
   /* CSS3草案 */
   -webkit-border-radius: 2px;
   /* Safari,Google Chrome用 */
   -moz-border-radius: 2px;
   /* Firefox用 */
 }

 @media screen and (max-width: 768px) {
   .fat-nav li.inq a {
     display: inline;
     padding: 0;
     background: none;
   }

   .fat-nav li.inq a:hover,
   .fat-nav li a:hover {
     background: none;
     font-size: 1.4em;
   }

   .fat-nav li.inq a {
     display: inline;
     padding: 0;
     background: none;
   }

   .fat-nav li.inq a:hover,
   .fat-nav li a:hover {
     font-size: 1.4em;
   }

   .fat-nav li.inq a,
   .fat-nav li a,
   .fat-nav li.inq a:hover {
     background: none !important;
   }
 }

 /*----------------------------
main-area
-----------------------------*/


 main {
   width: 100%;
 }

 .content {
   width: 100%;
   max-width: 1000px;
   margin: 0 auto;
   padding-bottom: 60px;
 }

 .content.map {
   max-width: auto;
 }

 @media screen and (max-width: 768px) {
   .content {
     width: 90%;
     padding-bottom: 30px;
   }
 }

 /*----------------------------
footer
-----------------------------*/


 footer {
   padding: 8px 0 0;
   width: 100%;
 }

 footer .inner {
   width: 90%;
 }

 footer ul {
   float: left;
   padding: 10px 0;
 }

 footer ul li {
   margin-right: 2.5em;
   display: inline-block;
   line-height: 1;
 }

 footer ul li a {
   text-decoration: none;
   padding: 5px;
 }

 footer .totop {
   float: right;
 }

 footer .totop a:hover {
   filter: alpha(opacity=30);
   -moz-opacity: 0.3;
   opacity: 0.3;
 }

 footer .fa-home {
   font-size: 1.3em;
 }

 footer .copyright {
   width: 100%;
   padding: 30px 0;
   text-align: center;
   line-height: 1;
   border-top: 1px solid #d7d7d7;
 }

 /* バナー付 */

 footer .add-banner {
   clear: both;
   width: 100%;
   border-top: 1px solid #d7d7d7;
   padding: 30px 0;
 }

 footer .add-banner .inner-add-banner {
   width: 90%;
   margin: 0 auto;
 }

 footer .add-banner .inner-add-banner .copyright {
   float: left;
   text-align: left;
   border: none;
   padding: 0;
   line-height: 28px;
   box-sizing: border-box;
   width: auto;
 }

 footer .add-banner .inner-add-banner .wrap-banner {
   float: right;
   width: 590px;
   box-sizing: border-box;
 }

 footer .add-banner .inner-add-banner .wrap-banner div {
   display: inline-block;
   margin: 0 5px;
 }

 footer .add-banner .facebook a {
   display: block;
   width: 180px;
   height: 28px;
   background-image: url(../img/common/bnr_bg_fb.png);
   background-position: center center;
   background-repeat: no-repeat;
   text-indent: -9999px;
 }

 footer .add-banner .twitter a {
   display: block;
   width: 180px;
   height: 28px;
   background-image: url(../img/common/bnr_bg_twitter.png);
   background-position: center center;
   background-repeat: no-repeat;
   text-indent: -9999px;
 }

 footer .add-banner .ameblo a {
   display: block;
   width: 180px;
   height: 28px;
   border: 1px solid #dfdfdf;
   background-image: url(../img/common/bnr_bg_ameblo.png);
   background-position: center center;
   background-repeat: no-repeat;
   text-indent: -9999px;
   box-sizing: border-box;
 }

 @media screen and (max-width: 768px) {
   footer ul {
     float: none;
     text-align: center;
   }

   footer .totop {
     float: none;
     text-align: center;
   }

   /* バナー付 */

   footer .add-banner .inner-add-banner .wrap-banner {
     float: none;
     width: 570px;
     margin: 0 auto;
   }

   footer .add-banner .inner-add-banner .wrap-banner div {
     display: inline-block;
     margin-left: 0;
     margin: 0 auto;
   }

   footer .add-banner .inner-add-banner .copyright {
     float: none;
     text-align: center;
     border: none;
     margin-bottom: 0.5em;
   }
 }

 @media screen and (max-width: 640px) {
   footer ul li {
     margin-right: 0;
     display: block;
     line-height: 1.8em;
   }

   /* バナー付 */

   footer .add-banner .inner-add-banner .wrap-banner {
     width: auto;
     margin: 0 auto;
   }

   footer .add-banner .inner-add-banner .wrap-banner div {
     display: block;
     margin-left: 0;
     width: 180px;
     margin: 0 auto;
     margin-bottom: 10px;
   }
 }

 /*----------------------------
others
-----------------------------*/



 /*----------------------------
ブラウザ判別
-----------------------------*/

 /* Edge */

 .edge . .catch {
   position: absolute;
 }

 /* IE */
 .ie . .catch {
   position: absolute;
 }

 /*----------------------------
pickup1
-----------------------------*/

 .pickup1 {
   width: 100%;
   background-position: center top;
   background-image: url(../img/top/bg_pick1.jpg);
 }

 .pickup1 .inner {
   width: 100%;
   box-sizing: border-box;
   padding: 38px 2% 24px;
 }

 .pickup1 h1 {
   font-size: 3vw;
   line-height: 1em;
   margin: 0 0 20px;
   padding: 0;
   text-align: center;
 }

 .pickup1 p {
   width: 60%;
   margin: 0 auto;
   margin-bottom: 1.2em;
 }

 .pickup1 .btn {
   text-align: center;
 }

 .pickup1 .btn a {
   display: inline-block;
   padding: 5px 56px;
   text-decoration: none;
   box-sizing: border-box;
 }

 @media screen and (max-width: 768px) {
   .pickup1 h1 {
     font-size: 4.5vw;
   }

   .pickup1 p {
     width: 90%;
   }
 }

 @media screen and (max-width: 400px) {
   .pickup1 h1 {
     font-size: 6vw;
   }
 }

 /*----------------------------
inquiry set
-----------------------------*/

 .inqset {
   width: 100%;
   padding: 16px 0;
   margin-bottom: 60px;
 }

 .inqset .inner {
   width: 90%;
 }

 .inqset .inner .tel {
   line-height: 1;
   float: left;
 }

 .inqset .inner .tel .number {
   margin-left: 0.5em;
   font-size: 2em;
   font-family: 'Noto Sans Japanese', sans-serif;
   vertical-align: -4px;
 }

 .inqset .inner .tel .number:before {
   content: url(../img/common/icn_tel.png);
   left: -5px;
   top: -2px;
   position: relative;
 }

 .inqset .inner .form {
   float: right;
 }

 .inqset .inner .form a {
   padding: 4px 3vw 4px 2vw;
   text-decoration: none;
   border-radius: 2px;
   /* CSS3草案 */
   -webkit-border-radius: 2px;
   /* Safari,Google Chrome用 */
   -moz-border-radius: 2px;
   /* Firefox用 */
 }

 .inqset .inner .form a:before {
   content: url(../img/common/icn_mail.png);
   left: -1.4vw;
   top: 1px;
   position: relative;
 }

 @media screen and (max-width: 1023px) {

   .inqset .inner .tel,
   .inqset .inner .form {
     float: none;
     text-align: center;
   }

   .inqset .inner .form a {
     padding: 6px 10px;
     text-decoration: none;
   }

   .inqset .inner .form a:before {
     content: url(../img/common/icn_mail.png);
     left: -3px;
     top: 1px;
     position: relative;
   }

   .inqset .inner .tel {
     margin-bottom: 0.8em;
   }

   .inqset .inner .tel .number {
     margin-left: 11px;
     line-height: 1.3em;
   }
 }

 @media screen and (max-width: 640px) {
   .inqset {
     margin-bottom: 0;
   }
 }

 /*----------------------------
pickup2 pickup3
-----------------------------*/


 .pickupsecInner {
   padding-bottom: 40px;
 }

 .pickup2 {
   float: left;
   width: 50%;
   padding: 8px 4%;
   box-sizing: border-box;
   border-right: 1px #111 solid;
 }

 .pickup3 {
   float: right;
   width: 50%;
   padding: 8px 4%;
   box-sizing: border-box;
 }

 .pickup2 h1,
 .pickup3 h1 {
   font-size: 1.9em;
   text-align: center;
   margin-bottom: 1em;
 }

 .pickup2 p,
 .pickup3 p {
   margin-bottom: 1.5em;
 }

 .pickup2 .btn,
 .pickup3 .btn {
   text-align: center;
   line-height: 1;
 }

 .pickup2 .btn a,
 .pickup3 .btn a {
   display: inline-block;
   padding: 8px 42px;
   text-decoration: none;
   box-sizing: border-box;
 }

 @media screen and (max-width: 640px) {

   .pickup2,
   .pickup3 {
     float: none;
     width: 100%;
     padding: 8px 4%;
   }

   .pickup2 {
     border-right: none;
   }

   .pickup2 .btn,
   .pickup3 .btn {
     margin-bottom: 30px;
   }

   .pickupsecInner {
     padding-bottom: 10px;
   }
 }

 /*----------------------------
news company-data
-----------------------------*/

 .lower-bar {
   clear: both;
   width: 100%;
 }

 .lower-bar .inner {
   padding: 28px 0;
   width: 90%;
 }

 .lower-bar .inner .news {
   padding: 0 3em 0 0;
   float: left;
   max-height: 160px;
   overflow: auto;
   box-sizing: border-box;
 }

 .lower-bar .inner .news h1 {
   font-size: 1.3em;
   line-height: 1;
   margin: 0 0 1em;
   font-weight: bold;
 }

 .lower-bar .inner .news dl {}

 .lower-bar .inner .news dl dt {
   clear: both;
   float: left;
   width: 5em;
 }

 .lower-bar .inner .news dl dd {
   padding-left: 5.2em !important;
 }

 .lower-bar .inner .news dl dt,
 .lower-bar .inner .news dl dd {
   line-height: 1.2em;
   padding: 0.2em 0;
 }

 .lower-bar .company_data {
   float: left;
   box-sizing: border-box;
   padding-left: 30px;
 }

 .lower-bar .company_data .name {
   font-size: 1.1em;
   float: left;
   padding: 0 1em 0 0;
   margin-left: 20px;
 }

 .lower-bar .company_data .data {
   float: left;
   padding: 0 0 0 1.5em;
   border-left: 1px dotted #666;
 }

 }

 .lower-bar .company_data .data .telno,
 .lower-bar .company_data .data .faxno {
   display: inline-block;
   padding: 0 1em 0 0;
 }

 .lower-bar .inqset {
   width: auto;
   border: none;
   padding: 0 0;
   margin: 0;
   float: left;
 }

 .lower-bar .inqsetr .tel {
   float: none;
 }

 .lower-bar .inqset .tel .number {
   margin-left: 0.5em;
   font-size: 2em;
   font-family: 'Noto Sans Japanese', sans-serif;
   vertical-align: -4px;
 }

 .lower-bar .inqset .tel .number:before {
   content: url(../img/common/icn_tel.png);
   left: -5px;
   top: -2px;
   position: relative;
 }

 .lower-bar .inqset .form {
   float: none;
   margin-top: 1em;
 }

 .lower-bar .inqset .form a {
   padding: 4px 3vw 4px 2vw;
   text-decoration: none;
   border-radius: 2px;
   /* CSS3草案 */
   -webkit-border-radius: 2px;
   /* Safari,Google Chrome用 */
   -moz-border-radius: 2px;
   /* Firefox用 */
 }

 .lower-bar .inqset .form a:before {
   content: url(../img/common/icn_mail.png);
   left: -1.4vw;
   top: 1px;
   position: relative;
 }

 @media screen and (max-width: 1023px) {
   .lower-bar .inner .news {
     padding: 0;
     float: none;
     max-height: none;
     overflow: auto;
     margin-bottom: 20px;
   }

   .lower-bar .inner .news dl dt {
     float: none;
     width: auto;
   }

   .lower-bar .inner .news dl dd {
     border-bottom: 1px dotted #CCC;
     padding-bottom: 0.5em;
     margin-bottom: 0.5em;
     padding-left: 0 !important;
   }

   .lower-bar .inner .news dl dt,
   .lower-bar .inner .news dl dd {
     line-height: 1.4em;
   }

   .lower-bar .company_data {
     float: none;
     padding-left: 0;
     padding: 10px;
   }

   .lower-bar .company_data .name {
     float: none;
     padding: 0;
     text-align: center;
     margin: 0 0 10px 0;
   }

   .lower-bar .company_data .data {
     float: none;
     border-left: none;
     text-align: center;
     padding-left: 0;
   }

   .lower-bar .company_data .data .telno,
   .lower-bar .company_data .data .faxno {
     display: inline-block;
     padding: 0 0.5em 0 0.5em;
   }

   .lower-bar .inqset {
     float: none;
   }

   .lower-bar .inqset .tel,
   .lower-bar .inqset .form {
     float: none;
     text-align: center;
   }

   .lower-bar .inqset .form {
     margin-bottom: 20px;
   }
 }

 @media screen and (max-width: 400px) {

   .lower-bar .company_data .data .telno,
   .lower-bar .company_data .data .faxno {
     display: block;
     padding: 0;
   }
 }

 /* 
 * ------- secondary contents ---------------------
 */

 /* title */

 .titlebar {
   width: 100%;
   height: 190px;
   background-image: url(../img/common/bg_titlebar.png);
   background-repeat: no-repeat;
   margin-top: 76px;
   margin-bottom: 80px;
   background-position: center -20px;
 }

 .titlebar.addnav {
   margin-bottom: 0;
 }

 .titlebar .inner {
   width: 90%;
   margin: 0 auto;
   position: relative;
   top: 50%;
   transform: translateY(-30%);
 }

 .titlebar .inner h1 {
   position: relative;
   top: 50%;
   -webkit-transform: translateY(-50%);
   /* Safari用 */
   transform: translateY(-30%);
   margin: 0;
   padding: 0;
   text-align: center;
   line-height: 1;
   font-family: 'Noto Sans Japanese', sans-serif;
   font-size: 3.4em;
   letter-spacing: 0.1em;
 }

 .content h2 {
   font-size: 2.6em;
   text-align: center;
   margin-bottom: 2em;
 }

 .content h3 {
   font-size: 1.6em;
   line-height: 1.3em;
   text-align: center;
   margin-bottom: 2em;
   position: relative;
 }

 .content h3::after {
   position: absolute;
   bottom: -16px;
   left: 50%;
   z-index: 1;
   content: '';
   display: block;
   height: 3px;
   background: #dcdcdc;
   width: 120px;
   margin-left: -60px;
 }

 /* h3左寄せ */
 .content h3.tx-left {
   text-align: left;
 }

 .content h4 {
   font-size: 1.1em;
   font-weight: bold;
   margin-bottom: 1em;
 }

 /* h4中央 */
 .content h4.tx-center {
   text-align: center;
 }

 /* h3PCで左、タブレット中央 */
 .content h3.tx-flex,
 .content h4.tx-flex {
   text-align: left;
 }

 @media screen and (max-width: 768px) {

   .content h3.tx-flex,
   .content h4.tx-flex {
     text-align: center;
   }
 }

 @media screen and (max-width: 768px) {
   .titlebar {
     background-size: cover;
     background-position: center 0;
     margin-bottom: 30px;
   }

   .titlebar .inner h1 {
     font-size: 3em;
   }

   .content h2 {
     font-size: 2.4em;
     line-height: 1.2em;
   }
 }

 @media screen and (max-width: 400px) {
   .titlebar {
     height: 140px;
   }

   .titlebar .inner {
     width: 96%;
   }

   .titlebar .inner h1 {
     font-size: 2em;
     letter-spacing: 0em;
   }

   .content h2 {
     font-size: 1.8em;
   }
 }

 /* subnavi */


 .subnavi {
   text-align: center;
   width: 100%;
   border-bottom: 1px solid #EEE;
   margin-bottom: 80px;
 }

 .subnavi ul {
   margin: 0 auto;
   max-width: 1000px;
 }

 .subnavi ul li {
   display: inline-block;
   line-height: 1;
   margin: 0;
   padding: 0;
   margin: 0 15px 0;
 }

 .subnavi ul li a {
   text-decoration: none;
   padding: 13px 0 11px;
   display: block;
 }

 .subnavi ul li a:hover {
   color: #999;
 }

 @media screen and (max-width: 768px) {
   .subnavi {
     border-bottom: none;
   }

   .subnavi ul li {
     width: 100%;
     box-sizing: border-box;
     display: block;
     border: none;
     margin: 0;
   }

   .subnavi ul li a {
     box-sizing: border-box;
     margin: 0;
     border: none;
     border-bottom: 1px dotted #DDD;
   }

   .subnavi ul li.first {
     border-top: none;
   }
 }


 /* txt */

 a:link,
 a:visited {
   -webkit-transition: all 0.5s;
   -moz-transition: all 0.5s;
   transition: all 0.5s;
   ;
 }

 .txtbold {
   font-weight: bold;
 }

 .txtstyle1 {
   font-size: 1.16em;
   font-weight: bold;
 }

 .txtstyle2 {
   font-size: 1.24em;
   font-weight: bold;
 }

 .txtslow {
   line-height: 2.3;
 }

 .sp,
 .ssp {
   display: none;
 }

 .tx-center {
   text-align: center;
 }

 .tx-left {
   text-align: left;
 }

 .tx-flex {
   text-align: center;
 }

 .tx-em {
   background: linear-gradient(transparent 62%, rgba(255, 250, 137, 0.71) 0%);
 }

 @media screen and (max-width: 768px) {
   .tx-flex {
     text-align: left;
     /*PCで中央、スマホタブレット左寄せ*/
   }
 }

 .btn a {
   -webkit-transition: all 0.7s;
   -moz-transition: all 0.7s;
   transition: all 0.7s;
 }

 .caption {
   font-weight: bold;
   margin-top: 10px;
 }

 .before,
 .after {
   position: relative;
 }

 .before::after {
   position: absolute;
   content: " ";
   display: inline-block;
   background: url(../img/common/watermark_before.png);
   background-repeat: no-repeat;
   background-size: contain;
   z-index: 1;
 }

 .after::after {
   position: absolute;
   content: " ";
   display: inline-block;
   background: url(../img/common/watermark_after.png);
   background-repeat: no-repeat;
   background-size: contain;
   z-index: 1;
 }

 @media screen and (max-width: 768px) {
   .sp {
     display: block;
   }

   .ssp {
     display: none;
   }

   .pc {
     display: none;
   }
 }

 @media screen and (max-width: 400px) {
   .ssp {
     display: block;
   }
 }

 /* 「※」付きなど用の文字インデント */

 .ex {
   padding-left: 1em;
   /*1em（1文字）分、右に動かす*/
   text-indent: -1em;
   /*最初の行だけ1em（1文字）分、左に動かす*/
   margin-bottom: 0.4em;
   line-height: 1.3em;
   font-size: 0.9em;
 }

 /* 下線 */
 .underline {
   text-decoration: underline;
 }

 /* number */

 .r-number {
   width: 78px;
   height: 78px;
   border-radius: 50%;
   text-align: center;
   margin: 0 auto;
   margin-bottom: 30px;
   line-height: 82px;
   font-size: 46px;
 }

 .small-writeup {
   border: 1px solid #dadada;
   padding: 40px;
   width: 100%;
   box-sizing: border-box;
   margin-bottom: 40px;
 }

 .content .small-writeup h3 {
   font-size: 1.4em;
   margin-bottom: 1em;
 }

 .content .small-writeup h3::after {
   position: relative;
   background: none;
   bottom: 0;
 }

 @media screen and (max-width: 768px) {
   .r-number {
     width: 46px;
     height: 46px;
     line-height: 50px;
     font-size: 30px;
   }

   .small-writeup {
     padding: 20px;
     margin-bottom: 30px;
   }
 }

 /* pic */

 .content img {
   width: auto;
   max-width: 100%;
 }

 .content .pic-full img {
   width: 100%;
   text-align: center;
 }

 /* アンカーのずれを調整 */

 #anchor1,
 #anchor2,
 #anchor3 {
   margin-top: -76px;
   padding-top: 76px;
 }

 /*----------------------------
table
-----------------------------*/


 table {
   border-collapse: collapse;
   border-spacing: 0;
 }

 td,
 th {
   padding: 0;
 }

 /* 普通 */
 table {
   width: 100%;
   margin-bottom: 3.5em;
   box-sizing: border-box;
 }

 table tr {}

 table th {
   padding: 8px;
   border: 1px #dadada solid;
   font-weight: bold;
   vertical-align: middle;
 }

 table td {
   padding: 8px;
   border: 1px #ddd solid;
   font-weight: normal;
 }

 /* 線のtable */

 table.table-various1 {
   width: 100%;
   padding-top: 1.5em;
 }

 table.table-various1 caption {
   display: none;
 }

 table.table-various1 tr {}

 table.table-various1 th {
   padding: 9px 5px;
   border: none;
   background-color: transparent;
   text-align: left;
 }

 table.table-various1 th span {
   font-weight: normal;
   padding-top: 0.3em;
   display: block;
 }

 table.table-various1 th .cap {
   display: inline-block;
 }

 table.table-various1 caption {
   text-align: right;
   padding: 0;
   margin: 0;
   line-height: 1;
 }

 table.table-various1 td {
   padding: 9px 5px;
   border: none;
   font-weight: normal;
   text-align: left;
 }

 /* 横長のtable */


 .table-various2 {
   width: 100%;
 }

 /* 横→縦 */

 table.table-various3 th {
   text-align: center;
 }

 table.table-various3 td {}

 table.table-various3 td:first-child {
   text-align: left;
 }

 @media only screen and (max-width: 768px) {
   table th {
     display: block;
     border-top: none;
     border-bottom: none;
   }

   table td {
     display: block;
   }

   table.table-various1 {
     position: relative;
     border-top: none;
   }

   table.table-various1 th {
     border-bottom: none;
     box-sizing: border-box;
     padding: 5px;
   }

   table.table-various1 td {
     border-bottom: none;
     box-sizing: border-box;
     padding: 5px 5px 20px;
   }

   /* 横長（保留）

.table-various2 {
	min-width:768px;
	overflow:scroll;
}



.table-various2 table th {
	display:table-cell;
	 border-top: 1px #ddd solid;
 border-bottom: 1px #ddd solid;
}

.table-various2 table td {
 display:table-cell;
}

 */


   table.table-various3 {
     display: block;
     border-top: none;
     width: 100%;
   }

   table.table-various3 thead {
     display: block;
     float: left;
     border-bottom: 1px #ddd solid;
   }

   table.table-various3 tbody {
     display: block;
     width: auto;
     position: relative;
     overflow-x: auto;
     white-space: nowrap;
   }

   table.table-various3 th {
     display: block;
     width: auto;
     border-top: 1px #ddd solid;
     border-bottom: none;
     border-right: 1px #ddd solid;
     width: auto;
   }

   table.table-various3 tbody tr {
     display: inline-block;
     vertical-align: top;
     margin: 0 -3px;
   }

   table.table-various3 td {
     display: block;
     border-bottom: none;
     text-align: left;
     border-left: none;
   }
 }

 /*----------------------------
flow
-----------------------------*/

 .flow-down {
   background-image: url(../img/common/bg_flow_down.gif);
   background-position: center bottom;
   background-repeat: no-repeat;
   margin-bottom: 50px;
   padding-bottom: 70px;
   width: 100%;
 }

 .flow-down.first {
   position: relative;
   padding-top: 30px;
 }

 .flow-down.first::before {
   position: absolute;
   top: 0;
   left: 0;
   z-index: 1;
   content: '';
   display: block;
   height: 1px;
   background: #d5d5d5;
   width: 100%;
 }

 .flow-end {}

 .flow-down h3,
 .flow-end h3 {
   font-size: 1.6em;
   margin-bottom: 1.5em;
 }

 .flow-down h3::after,
 .flow-end h3::after {
   position: absolute;
   bottom: -20px;
   left: 50%;
   z-index: 1;
   content: '';
   display: block;
   height: 4px;
   width: 100px;
   margin-left: -50px;
   border-radius: 4px;
 }

 /*----------------------------
faq
-----------------------------*/

 .faq {
   margin-bottom: 50px;
 }

 .content .faq h3 {
   font-size: 1.4em;
   text-align: left;
   padding-left: 44px;
   position: relative;
 }

 /*　人のアイコンバージョン
.content .faq h3 {
	font-size:1.4em;
	background-image:url(../img/common/icn_human.png);
	background-position:0 2px;
	background-repeat:no-repeat;
	background-size:20px;
	padding-left:28px;
	text-align:left;
}

*/

 .content .faq h3::before {
   content: "Q";
   font-family: "Courier New", Courier, monospace;
   position: absolute;
   width: 32px;
   height: 32px;
   left: 2px;
   top: -1px;
   border-radius: 50%;
   color: #FFF;
   text-align: center;
   line-height: 30px;
   font-size: 28px;
 }

 .content .faq h3::after {
   position: absolute;
   bottom: -16px;
   left: 0;
   z-index: 1;
   content: '';
   display: block;
   height: 2px;
   width: 100%;
   margin-left: 0;
 }

 .content .faq .answer {
   padding-left: 44px;
   position: relative;
   box-sizing: border-box;
 }

 .content .faq .answer::before {
   content: "A";
   font-family: "Courier New", Courier, monospace;
   position: absolute;
   width: 32px;
   height: 32px;
   left: 2px;
   border-radius: 50%;
   color: #FFF;
   text-align: center;
   line-height: 32px;
   font-size: 28px;
 }

 .content .faq .pic {}

 /*----------------------------
map
-----------------------------*/

 .map {
   margin-bottom: 60px;
 }

 .map h2 {
   font-size: 2.6em;
   text-align: center;
   margin-bottom: 2em;
 }

 /*----------------------------
inquiry 
-----------------------------*/


 .inquiry table {
   empty-cells: show;
   width: 100%;
   line-height: 1.3em;
   border-spacing: 0px;
   margin-bottom: 1.5em;
   padding: 20px 0;
   list-style-type: none;
   box-sizing: border-box;
 }

 .inquiry table th {
   padding: 12px 36px 12px 0;
   border: none;
   border-bottom: 1px solid #FFF;
   text-align: right;
   font-weight: bold;
   vertical-align: top;
   width: 33%;
   line-height: 2.2em;
   box-sizing: border-box;
   color: #333;
 }

 .inquiry table td {
   padding: 12px 5px 12px 0;
   border: none;
   border-bottom: 1px solid #FFF;
   text-align: left;
   box-sizing: border-box;
 }

 .inquiry table td .select {
   margin-bottom: 0.5em;
 }

 .inquiry table td .select li {
   float: left;
   margin-right: 20px;
 }

 .inquiry table td .select li input {
   vertical-align: middle;
 }

 .inquiry table td label {
   padding: 0 0 0px 5px;
 }

 .inquiry table input {
   margin: 2px 0 2px 0;
   height: 1.6em;
 }

 .inquiry .formBtn {
   width: 100%;
   text-align: center;
   margin-bottom: 30px;
 }

 .inquiry .btnSend {
   padding: 5px 0;
   margin: 0 5px 0 5px;
   border: 0;
   width: 160px;
   box-sizing: border-box;
   border-radius: 2px;
 }

 .inquiry .btnReset {
   padding: 5px 0;
   margin: 0 5px 0 5px;
   border: 0;
   width: 160px;
   box-sizing: border-box;
   border-radius: 2px;
   border: 1px solid;
 }


 .inquiry .forml {
   width: 90%;
 }

 .inquiry .formm {
   width: 50%;
 }

 .inquiry .tel {
   text-align: center;
   font-size: 3em;
   font-family: 'Noto Sans Japanese', sans-serif;
   margin-bottom: 1em;
 }

 @media only screen and (max-width: 768px) {
   .inquiry table {
     width: 100%;
     margin: 0 0 3% 0;
     padding: 10px 0;
     box-sizing: border-box;
   }

   .inquiry table tr {
     display: block;
   }

   .inquiry table th {
     display: list-item;
     padding: 10px 10px 5px;
     border-bottom: none;
     text-align: left;
     font-weight: bold;
     vertical-align: top;
     width: 100%;
     line-height: 1em;
     box-sizing: border-box;
   }

   .inquiry table td {
     display: list-item;
     width: 100%;
     border-bottom: 1px #FFF solid;
     font-weight: normal;
     padding: 5px 10px 10px 10px;
   }

   .inquiry .forml {
     width: 100%;
   }

   .inquiry .formm {
     width: 100%;
   }

   .inquiry .btnSend {
     width: 100px;
   }

   .inquiry .btnReset {
     width: 100px;
   }
 }

 .inquiry p {
   text-align: center;
 }

 @media only screen and (max-width: 640px) {
   .inquiry .tel {
     font-size: 2.6em;
   }

   .inquiry p {
     text-align: left;
   }
 }

 /*----------------------------
list
-----------------------------*/

 .content ul.circle,
 .content ul.check {
   position: relative;
 }

 .content ul.circle li {
   padding: 0 0 0.5em 1.2em;
   margin-bottom: 0.7em;
 }

 .content ul.check li {
   padding: 0 0 0.5em 2em;
   margin-bottom: 0.7em;
 }

 .content ul.circle li:before {
   position: absolute;
   content: "";
   width: 6px;
   height: 6px;
   border-radius: 50%;
   left: 0.5em;
   margin-top: 0.6em;
 }

 .content ul.check li::before {
   position: absolute;
   content: "\f14a";
   font-family: FontAwesome;
   left: 0.3em;
   font-size: 1.3em;
 }

 .content ol.number-list {
   display: block;
   list-style-position: outside;
 }

 .content ol.number-list li {
   list-style-type: decimal;
   padding: 0 0 0 10px;
   margin-bottom: 1em;
   margin-left: 2em;
 }

 /*----------------------------
variable grid
-----------------------------*/


 .one_half,
 .one_third,
 .two_third,
 .one_quarter,
 .two_quarter,
 .three_quarter,
 .one_fifth,
 .two_fifth,
 .three_fifth,
 .four_fifth,
 .one_sixth,
 .two_sixth,
 .three_sixth,
 .four_sixth,
 .five_sixth {
   display: inline;
   float: left;
   margin: 0 0 0 5%;
   list-style: none;
 }

 .one_half:first-child,
 .one_third:first-child,
 .two_third:first-child,
 .one_quarter:first-child,
 .two_quarter:first-child,
 .three_quarter:first-child,
 .one_fifth:first-child,
 .two_fifth:first-child,
 .three_fifth:first-child,
 .four_fifth:first-child,
 .one_sixth:first-child,
 .two_sixth:first-child,
 .three_sixth:first-child,
 .four_sixth:first-child,
 .five_sixth:first-child {
   margin-left: 0;
 }

 .first {
   margin-left: 0;
   clear: left;
 }

 /*Half Grid*/

 .one_half {
   width: 47.5%;
 }

 /*Third Grid*/


 .one_third {
   width: 30%;
 }

 .two_third {
   width: 65%;
 }

 /*Quarter Grid*/


 .one_quarter {
   width: 21.25%;
 }

 .two_quarter {
   width: 47.5%;
 }

 /* Same as one_half */
 .three_quarter {
   width: 73.75%;
 }

 /*Fifth Grid*/


 .one_fifth {
   width: 16%;
 }

 .two_fifth {
   width: 37%;
 }

 .three_fifth {
   width: 58%;
 }

 .four_fifth {
   width: 79%;
 }

 /*Sixth Grid*/

 .one_sixth {
   width: 12.5%;
 }

 .two_sixth {
   width: 30%;
 }

 /* Same as one_third */
 .three_sixth {
   width: 47.5%;
 }

 /* Same as one_half */
 .four_sixth {
   width: 65%;
 }

 /* Same as two_third */
 .five_sixth {
   width: 82.5%;
 }

 @media screen and (max-width: 768px) {

   .one_half,
   .one_third,
   .two_third,
   .one_quarter,
   .two_quarter,
   .three_quarter,
   .one_fifth,
   .two_fifth,
   .three_fifth,
   .four_fifth,
   .one_sixth,
   .two_sixth,
   .three_sixth,
   .four_sixth,
   .five_sixth {
     margin: 0 0 3em 0;
   }

   .one_half,
   .one_third,
   .two_third,
   .one_quarter,
   .two_quarter,
   .three_quarter,
   .one_fifth,
   .two_fifth,
   .three_fifth,
   .four_fifth,
   .one_sixth,
   .two_sixth,
   .three_sixth,
   .four_sixth,
   .five_sixth {
     width: 100%;
   }
 }

 .hoverTrans a:hover {
   cursor: pointer;
   filter: alpha(opacity=70);
   -ms-filter: "alpha(opacity=70)";
   -moz-opacity: 0.7;
   -khtml-opacity: 0.7;
   opacity: 0.7;
   zoom: 1;
   transition: all 0.3s ease;
   -webkit-transition: all 0.3s ease;
   -moz-transition: all 0.3s ease;
   -o-transition: all 0.3s ease;
 }


 @font-face {
   font-family: 'KouzanMouhituFontOTF';
   src: url('../fonts/KouzanMouhituFontOTF.otf');
 }

 .KouzanMouhitu--font {
   font-family: 'KouzanMouhituFontOTF';
   font-size: 25px;
   line-height: 1.4;
 }

 table.custom-table th {
   background-color: #C8D2E3;
   color: #222;
 }