
@import url(https://fonts.googleapis.com/css?family=Pacifico);
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url(https://fonts.googleapis.com/css?family=Josefin+Sans);
@import url(https://fonts.googleapis.com/css2?family=Lato:wght@900&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@700&display=swap);
@import url('https://fonts.googleapis.com/css2?family=Sarabun:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800&display=swap');

body, div,
h1, h2, h3, h4, h5, h6,
p, blockquote, pre, dl, dt, dd, ol, ul, li, hr,
fieldset, form, label, legend, th, td,
article, aside, figure, footer, header, hgroup, menu, nav, section,
summary, hgroup {
  margin: 0;
  padding: 0;
  border: 0;
}

a:active,
a:hover {
  outline: 0;
}

@-webkit-viewport { width: device-width; }
@-moz-viewport { width: device-width; }
@-ms-viewport { width: device-width; }
@-o-viewport { width: device-width; }
@viewport { width: device-width; }


/* ------------------------------------------
  RESPONSIVE NAV STYLES
--------------------------------------------- */

.nav-collapse ul {
  margin: 0;
  padding: 0;
  width: 100%;
  display: block;
  list-style: none;
}

.nav-collapse li {
  width: 100%;
  display: block;
}

.js .nav-collapse {
  clip: rect(0 0 0 0);
  max-height: 0;
  position: absolute;
  display: block;
  overflow: hidden;
  zoom: 1;
}

.nav-collapse.opened {
  max-height: 9999px;
}

.disable-pointer-events {
  pointer-events: none !important;
}

.nav-toggle {
  -webkit-tap-highlight-color: rgba(0,0,0,0);
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
}

br.xs {
  display: block;
 }
 br.sm {
  display: none;
 }
 br.lg {
  display: none;
 }


/* PC */
@media screen and (min-width: 800px) {
br.xs {
 display: none;
}
br.sm {
 display: none;
}
br.lg {
 display: block;
}
}


span.marker {
    background: linear-gradient(transparent 50%, #FFFF00 50%);
}

span.font-red {
    color: #D80000;
}

/* ------------------------------------------
  DEMO STYLES
--------------------------------------------- */

body {
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
    color: #333333;
    background: #fff;
    font: 14px/1.8 'Noto Sans JP', Arial, Verdana, 游ゴシック, YuGothic,'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', メイリオ, Meiryo,sans-serif;
}

section {
    text-align: center;
    padding: 0px 0 0 0;
    width: 100%;
}

h1 {
    margin-bottom: .5em;
}

p {
    width: 96%;
    margin: 0 auto;
    text-align: left;
    line-height: 1.8;
    letter-spacing: 1.5px;
}

.mincho {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.f_left{
    float: left;
}
.f_right{
    float: right;
}






/* ------------------------------------------
  FIXED HEADER
--------------------------------------------- */

#himage{
    z-index: 1;
    background: #FFFFFF;
    overflow: hidden;
    margin-top: 55px;
}

#himage img{
    width: 100%;
}

#wide {/*親div*/
  position: relative;/*相対配置*/
  }

#wide div {
    position: absolute;/*絶対配置*/
    width: 100%;
    top: 10%;
    left: 0%;
    transition: .3s;
}

#wide p.sub {
    font-size: 16px;
    font-weight: bold;
    color: #FFF;
    transition: .3s;
    text-align: center;
    margin-bottom: 5px;
	font-family: "Sarabun";
	font-weight: 600;
}

#wide .himage_logo {
    font-size: 20px;
    font-weight: bold;
    color: #FFF;
    line-height: 200px;
    transition: .3s;
    text-align: center;
    letter-spacing: 0;
	box-sizing: border-box;
}
#wide .himage_logo img{
	max-height:200px;
}


#wide p.title {
    font-size: 20px;
    font-weight: bold;
    color: #FFF;
    line-height: 1;
    transition: .3s;
    text-align: center;
    letter-spacing: 0;
}
#wide p.text {
    margin-top: 220px;
    font-size: 13px;
    font-weight: 700;
    color: #FFF;
    line-height: 1.7;
    transition: .3s;
    text-align: center;
	text-decoration: underline;
	text-underline-offset: 10%;
}


#wide img {
  width: 100%;
  }


#articles-scroll{
    overflow: hidden;
    z-index: 10;
    transition: .3s;
    background-color: rgba(255,255,255,0.9);
}

.is-fixed {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
}


header {
    overflow: hidden;
    
}

.logo {
    padding: 5px 20px 0 10px;
    float: left;
}

.logo img{
    height: 45px;
    transition: .3s;
}

.img-pc {
    display: none;
}
.img-sp {
    display: block;
}

.contact-sp {
    display: block !important;
}

@media screen and (min-width:800px) {
    .img-pc {
        display: block;
    }

    .img-sp {
        display: none;
    }
}
@media screen and (min-width: 1100px) {
	.contact-sp {
		display: none !important;
	}
}

/* ------------------------------------------
  MASK
--------------------------------------------- */

.mask {
 
}

.android .mask {
  -webkit-transition: none;
  transition: none;
}

.js-nav-active .mask {
  visibility: visible;
  opacity: 1;
}



/* ------------------------------------------
  NAVIGATION STYLES
--------------------------------------------- */

.fixed {
  position: fixed;
  width: 100%;
  left: 0;
  top: 0;
}

.nav-collapse,
.nav-collapse * {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.nav-collapse,
.nav-collapse ul {
    list-style: none;
    width: 100%;
    float: left;
    background: #222222;
}



.nav-collapse li {
    float: left;
    width: 100%;
}

.nav-collapse a {
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    text-decoration: none;
    padding: 0.7em 1em;
    color: #FFF;
    width: 100%;
    float: left;
    text-align: left;
    
}
.nav-collapse a:hover{
    background: #134C79;
}


@media screen and (min-width: 375px) {
    
    #wide div {
        top: 8%;
        left: 0%;
        transition: .3s;
    }
	
	#wide .himage_logo img{
		max-height:100px;
	}
	
    #wide p.sub {
        font-size: 6vw;
        transition: .3s;
    }
    #wide p.title {
        font-size: 6vw;
        transition: .3s;
    }
    #wide p.text {
        font-size: 8vw;
        transition: .3s;
		margin-top: 150px;
	}

	
    
}


@media screen and (min-width: 640px) {
    
    #wide div {
        top: 5%;
        left: 0%;
        transition: .3s;
    }
    #wide p.sub {
        font-size: 4vw;
        transition: .3s;
    }
    #wide p.title {
        font-size: 5vw;
        transition: .3s;
    }
    #wide p.text {
        font-size: 6vw;
        transition: .3s;
		margin-top: 180px;
	}

    #wide .himage_logo img{
		max-height:150px;
	}

}



@media screen and (min-width: 800px) {
    
    #wide div {
        top: 5%;
        left: 0%;
        transition: .3s;
    }
    #wide p.sub {
        font-size: 4vw;
        transition: .3s;
    }
    #wide p.title {
        font-size: 5vw;
        transition: .3s;
    }
    #wide p.text {
        font-size: 6vw;
        transition: .3s;
		margin-top: 180px;
	}

    #wide .himage_logo img{
		max-height:150px;
	}
	
    
}



@media screen and (min-width: 1100px) {
    
    #wide div {
        top: 5%;
        left: 0%;
        transition: .3s;
    }
    #wide p.sub {
        font-size: 4vw;
        transition: .3s;
    }
    #wide p.title {
        font-size: 5vw;
        transition: .3s;
    }
    #wide p.text {
        font-size: 6vw;
        transition: .3s;
		margin-top: 230px;
	}

    #wide .himage_logo img{
		max-height:200px;
	}
    
    #articles-scroll{
        background-color: rgba(255,255,255,1);
    }
    
    header {
        overflow: hidden;
    }
    .logo {
        padding: 7px 40px 20px 20px;
        float: left;
    }
    
    .logo img{
        height: 70px;
        transition: .3s;
    }
    
    
    
    #himage{
        z-index: 1;
        overflow: hidden;
        margin-top: 90px;
    }
    #himage img{
        width: 100%;
    }
    .is-fixed {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 2;
        width: 100%;
        height: 90px;
        border: none;
        background: #FFFFFF;
        transition: .3s;
    }

    .articles-Wrapper {
        margin: 0 auto;
    }
    
    
    .js .nav-collapse {
        position: relative;
    }
    .js .nav-collapse.closed {
        max-height: none;
    }
    .nav-toggle {
        display: none;
    }

    .mask {
        display: none !important;
        opacity: 0 !important;
    }
    
    .nav-collapse,
    .nav-collapse ul {
        float: right;
        width: auto;
        height: 90px;
        background: none;
    }

    .nav-collapse li {
        width: auto;

    }
    .nav-collapse li.menu-item {
        padding: 0 10px;
        margin-top: 30px;
    }
    
    .nav-collapse li.menu-item:first-child {
        border-left: none;
    }

    .nav-collapse a {
        padding: 0;
        text-align: center;
        border-top: 0;
        float: left;
        margin: 0;
        font-size: 14px;
        font-weight: bold;
        color: #222222;
    }


    .nav-collapse a:hover{
        background: none;
        color:#134C79;
        text-decoration: none;
    }
    
    
    a.contact_btn {
        display: block;
        position: relative;
        width: 150px;
        height: 90px;
        padding: 32px 0 !important;
        text-align: center;
        text-decoration: none;
        background: #FF4000;
        overflow: hidden;
        font-size: 16px;
        font-weight:bold;
        color: #fff !important;
        letter-spacing: 0em;
        font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", HelveticaNeue, "Segoe UI", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    }

    a.contact_btn:hover {
        color: #fff !important;
        background: #fd5b24 !important;
    }
    
    
    
    .nav-collapse .fa-envelope{
        width: 100%;
        font-size: 30px;
        display: block;
    }
    
    
    .nav-collapse li.mi_contact{
        width: 150px;
        height: 90px;
        margin-left: 20px;
    }
    
    .nav-collapse li.mi_contact span{
        display: none;
    }
    
}


@media screen and (min-width: 1230px) {
    
    .logo {
        padding: 7px 40px 20px 20px;
        float: left;
    }
    
    .nav-collapse li.menu-item {
        padding: 0 20px;
        margin-top: 30px;
    }
    
    
    .nav-collapse a {
        font-size: 15px;
    }
}

/* ------------------------------------------
  NAV TOGGLE STYLES
--------------------------------------------- */

@font-face {
  font-family: "responsivenav";
  src:url("../icons/responsivenav.eot");
  src:url("../icons/responsivenav.eot?#iefix") format("embedded-opentype"),
    url("../icons/responsivenav.ttf") format("truetype"),
    url("../icons/responsivenav.woff") format("woff"),
    url("../icons/responsivenav.svg#responsivenav") format("svg");
  font-weight: normal;
  font-style: normal;
}

.nav-toggle {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-decoration: none;
  text-indent: -300px;
  position: relative;
  overflow: hidden;
  width: 60px;
  height: 55px;
  float: right;
}

.nav-toggle:before {
  color: #333333; /* Edit this to change the icon color */
  font: normal 28px/55px "responsivenav"; /* Edit font-size (28px) to change the icon size */
  text-transform: none;
  text-align: center;
  position: absolute;
  content: "\2261"; /* Hamburger icon */
  text-indent: 0;
  speak: none;
  width: 100%;
  left: 0;
  top: 0;
}

.nav-toggle.active:before {
  font-size: 24px;
  content: "\78"; /* Close icon */
}


/* BUTTON
------------------------------------------------------------*/

.sts_more{
    width: 100%;
    text-align: center;
    margin:0 0 20px 0;
    padding: 0;
    letter-spacing: 0.05em;
}


a.cp_btn {
	display: inline-block;
    position: relative;
	width: 100%;
	padding: 5px 0;
	text-align: center;
	text-decoration: none;
	color: #FFF;
	transition: .4s;
    background: #FF6884;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    border-radius: 5px;
    font-size: 16px;
}

@media screen and (min-width: 920px) {
    a.cp_btn {
        font-size: 24px;
    }
}


a.cp_btn:hover {
	background: #468C00;
	color: #fff;
}

.sti_more{
    width: 100%;
    text-align: center;
    margin:0px 0 20px 0;
    padding: 0 10px;
    letter-spacing: 0.05em;
    box-sizing: border-box;
}

a.ci_btn {
	display: inline-block;
    position: relative;
	width: 100%;
	padding: 5px 0;
	text-align: center;
	text-decoration: none;
	color: #FFF;
	transition: .4s;
    background: #477D68;
    border-radius: 5px;
    font-size: 16px;
}

a.ci_btn:hover {
	background: #FF8409;
	color: #fff;
}


@media screen and (min-width: 920px) {
    
    .sti_more{
        margin:20px 0 20px 0;
    }
    
    a.ci_btn {
        width: 50%;
        font-size: 24px;
    }
}



.fa-caret-right{
    margin-left: 10px;
    font-size: 16px;
    position:absolute;
    top:28%;
}
@media screen and (min-width: 920px) {
    .fa-caret-right{
        margin-left: 20px;
        font-size: 20px;
        position:absolute;
        top:32%;
    }
}




/* フッター
------------------------------------------------------------*/
footer{
	clear: both;
	padding: 0;
	text-align: center;
	font-size: 12px;
    margin: 0 auto;
    background: #E5EDEF;
	margin-top: 50px;
}


footer .inner{
    margin: 0 auto;
    max-width: 1200px;
    padding: 0 10px;
    overflow: hidden;
}



address{
    width: 100%;
    padding:20px 0 30px 0;
    text-align: center;
    font-style: normal;
    
}

address p{
    overflow: hidden;
    vertical-align: middle;
    margin-top: 10px;
    color: #333333;
    text-align: center;
    font-size: 15px;
    line-height: 1.7em;
    letter-spacing: 0.03em;
	font-weight: bold;
}

address img{
    width: 100%;
    margin-right: 15px;
    max-width:260px; 
}



.copyright{
    width: 100%;
    margin: 0;
    text-align: center;
    padding:15px 0;
    background: #004C66;
}


small{
	font-size: 10px;
    color:#FFF;
}


footer .outer{
    margin: 0 auto;
    width: 100%;
    
}

footer .outer .tel_box{
    width: 100%;
    float: left;
    background: #155686;
    display: table-cell;
    height: auto;
    vertical-align: middle;
    padding: 20px 0 ;
    box-sizing: border-box;
}
footer .outer .mail_box{
    width: 100%;
    float: left;
    background: #134C78;
    display: table-cell;
    height: auto;
    vertical-align: middle;
    padding: 20px 0 ;
    box-sizing: border-box;
}
.btn-flat-border {
    display: inline-block;
    padding: 25px 20%;
    text-decoration: none;
    color: #FFF;
    border: solid 4px #FFF;
    transition: .4s;
    font-size: 20px;
    font-weight: bold;
}

.btn-flat-border:hover {
  background: #FFFFFF;
  color: #155686;
}

footer .outer .tel_box p.tel{
    text-align: center;
    font-size: 31px;
    color: #FFF;
    font-weight: bold;
    font-family: "Lato";
    line-height: 1.2;
}
footer .outer .tel_box p.reception{
    text-align: center;
    font-size: 14px;
    color: #FFF;
    font-weight: normal;
}

/*  画面サイズが640pxまで  */
@media screen and (min-width: 640px) {
    
    .btn_mail{
        float: left;
        width: 47%;
        font-size: 16px;
    }
    
    .btn_phone{
        float: right;
        width: 47%;
        margin-left: 6%;
        font-size: 26px;
    }
    .btn_phone span{
        font-size: 12px;
    }
    
    .btn_mail p{
        padding-top: 35px;
        text-align: center;
    }
    
    .btn_phone p{
        padding-top: 15px;
        text-align: center;
    }
    
    .btn_mail a{
        display: block;
        height: 100px;
        color: #313131;
        text-decoration: none;
    }
    .btn_phone a{
        display: block;
        height: 100px;
        color: #313131;
        text-decoration: none;
    }
}

@media screen and (min-width: 920px) {
    
    footer .outer .tel_box{
        width: 50%;
        float: left;
        background: #155686;
        display: table-cell;
        height: 200px;
        vertical-align: middle;
        padding-top: 60px;
        box-sizing: border-box;
    }
    footer .outer .mail_box{
        width: 50%;
        float: left;
        background: #134C78;
        display: table-cell;
        height: 200px;
        vertical-align: middle;
        padding-top: 50px;
        box-sizing: border-box;
    }
    
    .btn-flat-border {
        font-size: 24px;
    }


    footer .outer .tel_box p.tel{
        font-size: 42px;
    }
    footer .outer .tel_box p.reception{
        font-size: 16px;
    }
    
    
    .btn_mail{
        float: left;
        width: 47%;
        font-size: 20px;
    }
    
    .btn_phone{
        float: right;
        width: 47%;
        font-size: 30px;
    }
    .btn_mail p{
        padding-top: 30px;
        text-align: center;
    }
    
    .btn_phone p{
        padding-top: 10px;
        text-align: center;
    }
    
    
    footer .inner{
        margin: 0 auto;
        max-width: 1200px;
        padding: 35px 10px;
        overflow: hidden;
    }

    
    address{
        float: left;
        width: 100%;
        padding: 0 0 0 0;
        text-align: center;
        font-style: normal;

    }

    address p{
		font-size: 18px;
        margin-top: 10px;
        text-align: center;
    }

    address img{
        margin-right: 0;
		max-width:300px; 
    }

    
    small{
        font-size: 13px;
        color:#FFF;
    }
    
}




/* ------------------------------------------------------------------------------------ */
/* etc...										*/
/* ------------------------------------------------------------------------------------ */
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
 .clearfix {display: inline-block;}
 

.pagetop {
	display: none;
	position: fixed;
	bottom: 10px;
	right: 10px;
    width: 60px;
}
@media screen and (min-width: 920px) {
    .pagetop {
        display: none;
        position: fixed;
        bottom: 50px;
        right: 50px;
        width: 60px;
    }

}



.pagetop a {
    display: block;
    text-align: center;
    color: #222;
    font-size: 12px;
    text-decoration: none;
	filter:alpha(opacity=100);
    -moz-opacity: 1;
    opacity: 1;
}
.pagetop a:hover {
    display: block;
    text-align: center;
    color: #fff;
    font-size: 12px;
    text-decoration: none;
	filter:alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7;
}



	
/* movie
------------------------------------------------------------*/
	
	
div.vid_contents {
	width: 100%;/*背景色を横幅いっぱいに広げる*/
	text-align: center;
	margin: auto;
	padding: 4% 4% 0% 4%;/*ここで動画の周りの余白を調整*/
	box-sizing: border-box;
}
video.vid_main {
	width: 100%;
	max-width: 920px;/*PC版での最大幅*/
}
	
	
/* sec_top_concept
------------------------------------------------------------*/

#sec_top_concept{
    margin:0;
    padding:30px 0 30px 0;
    text-align: left;
}

#sec_top_concept .inner{
    margin: 0 auto;
    max-width: 1280px;
    overflow: hidden;
}


#sec_top_concept h1 {
    width: 100%;
    margin: 10px 0 35px 0;
    position: relative;
    display: inline-block;
    text-align: center;
    font-size: 24px;
    color: #111111;
    box-sizing: border-box;
    line-height: 1.7em;
    font-weight: bold;
    letter-spacing: 0.05em;
    padding-top: 20px;
}
#sec_top_concept h1 span{
    display: block;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", HelveticaNeue, "Segoe UI", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 18px;
    letter-spacing: 0.02em;
    color: #111111;
    line-height: 14px;
    margin-top: 15px;
    font-weight: bold;
}

#sec_top_concept h1:before {
  content: '';
  position: absolute;
  top: 0;
  display: inline-block;
  width: 120px;
  height: 1px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: black;
}


#sec_top_concept h2{
    margin:20px 0px 0px 0px; 
    font-size: 21px;
    position: relative;
    display: inline-block;
    padding: 0 0 0 20px;
    line-height: 24px;
    color:#313131;
}

#sec_top_concept div{
    padding: 0 10px;
    margin-top: 20px;
}

#sec_top_concept div p{
	text-align: center;
	font-size: 16px;
	font-weight: 500;
}

#sec_top_concept div p.main{
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.6;
	margin-bottom: 20px;
}

#sec_top_concept div p.sub{
	text-align: center;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.6;
	margin-bottom: 20px;
}
	
#sec_top_concept .flex_model-box {
    padding:  0 !important;             /* 余白指定 */
    display: flex;              /* フレックスボックスにする */
    justify-content:center;
	flex-wrap: wrap;            /* 折り返し指定 */
	width: 100%;
	margin-top: 30px;
}

#sec_top_concept .flex_model-item {
	padding: 10px 0 10px 0;
	color:  #000;               /* 文字色 */
	margin:  0px;              /* 外側の余白 */
	width: 100%;                 /* 幅指定 */
	box-sizing:border-box;
	text-align: center;
}

#sec_top_concept .flex_model-item img{
	max-width: 580px;
	width: 100%;

}

	
@media screen and (min-width: 920px) {

    /* sec_top_concept
    ------------------------------------------------------------*/
    #sec_top_concept{
        margin:0;
        padding:80px 0 40px 0;
        text-align: left;
    }
    #sec_top_concept h1 {
        font-size: 48px;
    }
    #sec_top_concept .flex_model-item {
		padding: 0;
		color:  #000;               /* 文字色 */
		margin:  0px 20px;              /* 外側の余白 */
		width: 45%;                 /* 幅指定 */
		box-sizing:border-box;
		text-align: center;
	}
	#sec_top_concept div p{
		font-size: 1.8vw;
	}

	#sec_top_concept div p.main{
		font-size: 3vw;
	}
}



/* sec_top_strong
------------------------------------------------------------*/

#sec_top_strong{
    margin:0;
    padding:30px 0 30px 0;
    text-align: left;
    
}

#sec_top_strong .inner{
    margin: 0 auto;
    max-width: 1280px;
    overflow: hidden;
    margin-bottom: 50px;
}
#sec_top_strong .outer1{
    margin: 0 auto;
    background:linear-gradient(90deg,#E7EDF1 0%,#E7EDF1 75%,#FFFFFF 75%,#FFFFFF 100%);
    padding: 40px 0 10px 0;
    margin-bottom: 50px;
}

#sec_top_strong .outer2{
    margin: 0 auto;
    background:linear-gradient(90deg,#FFFFFF 0%,#FFFFFF 25%,#E9F3E5 25%,#E9F3E5 100%);
    padding: 40px 0 10px 0;
    margin-bottom: 50px;
}

#sec_top_strong .outer3{
    margin: 0 auto;
    background:linear-gradient(90deg,#FFF0EB 0%,#FFF0EB 75%,#FFFFFF 75%,#FFFFFF 100%);
    padding: 40px 0 10px 0;
    margin-bottom: 50px;
}

#sec_top_strong .outer_in{
    margin: 0 auto;
    max-width: 1280px;
    overflow: hidden;
}

#sec_top_strong h1 {
    width: 100%;
    margin: 10px 0 35px 0;
    position: relative;
    display: inline-block;
    text-align: center;
    font-size: 24px;
    color: #111111;
    box-sizing: border-box;
    line-height: 1.7em;
    font-weight: bold;
    letter-spacing: 0.05em;
    padding-top: 20px;
}
#sec_top_strong h1 span{
    display: block;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", HelveticaNeue, "Segoe UI", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 18px;
    letter-spacing: 0.02em;
    color: #111111;
    line-height: 14px;
    margin-top: 15px;
    font-weight: no;
}

#sec_top_strong h1:before {
  content: '';
  position: absolute;
  top: 0;
  display: inline-block;
  width: 120px;
  height: 1px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: black;
}


#sec_top_strong h2 {
    width: 100%;
    margin: 0 0 20px 0;
    position: relative;
    display: inline-block;
    text-align: left;
    font-size: 22px;
    color: #111111;
    box-sizing: border-box;
    line-height: 1.7em;
    font-weight: bold;
    letter-spacing: 0.05em;
    padding-top: 20px;
}

#sec_top_strong h2:before {
  content: '';
  position: absolute;
  top: 0;
  display: inline-block;
  width: 120px;
  height: 1px;
  left: 0%;
  background-color: black;
}

#sec_top_strong .func_left{
    padding: 0 10px 0 10px;
    margin-top: 0;
    float: left;
    width: 560px;
    box-sizing: border-box;
}

#sec_top_strong .func_left p{
    font-size: 14px;
	margin-bottom: 15px;
	font-weight: 500;
	margin-left: 5px;
}

#sec_top_strong .func_left2{
    padding: 0 10px 0 10px;
    margin-top: 0;
    float: right;
    width: 600px;
    box-sizing: border-box;
}

#sec_top_strong .func_left2 p{
    font-size: 14px;
	margin-bottom: 15px;
	font-weight: 500;
	margin-left: 5px;
}

#sec_top_strong .func_left3{
    padding: 0 10px 0 10px;
    margin-top: 0;
    float: left;
    width: 100%;
    box-sizing: border-box;
}

#sec_top_strong .func_left3 p{
    font-size: 14px;
	margin-bottom: 15px;
	font-weight: 500;
	margin-left: 5px;
}

	
	
#sec_top_strong .func_right{
    padding: 0 0;
    margin-top: 30px;
    float: left;
    width: calc(100% - 560px);
}
#sec_top_strong .func_right img{
    text-align: right;
    max-width: 800px;
    width: 100%;
}

#sec_top_strong .func_right2{
    padding: 0 0;
    margin-top: 30px;
    float: left;
    width: calc(100% - 600px);
    
}
#sec_top_strong .func_right2 img{
    text-align: right;
    max-width: 700px;
    width: 100%;
}

#sec_top_strong .func_right3{
    padding: 0 0;
    margin-top: 30px;
    float: left;
    width: calc(100% - 600px);
}
#sec_top_strong .func_right3 img{
    text-align: right;
    max-width: 700px;
    width: 100%;
}

#sec_top_strong .func_left{
	width: 100%;
}
	#sec_top_strong .func_left3 p.jyouken-old{
		font-size: 18px;
		font-weight: bold;
		
	}
	#sec_top_strong .func_left3 ul.jyouken-old{
		list-style: disc;
		margin-left: 30px;
		width: calc( 100% - 30px );
	}
	
	#sec_top_strong .func_left3 ul.jyouken-old li{
		font-size: 16px;
		font-weight: 500;
	}
	
#sec_top_strong .func_left2{
	width: 100%;
	padding: 0 10px 0 10px;
}



    #sec_top_strong .func_right{
        width: 100%;
        text-align: center;
    }
    #sec_top_strong .func_right img{
        text-align: center;
        max-width: 700px;
        padding: 0 10px;
        box-sizing: border-box;
    }

    #sec_top_strong .func_right2{
        width: 100%;
        text-align: center;
    }
    #sec_top_strong .func_right2 img{
        text-align: center;
        max-width: 700px;
        padding: 0 10px;
        box-sizing: border-box;
    }

    #sec_top_strong .func_right3{
        width: 100%;
        text-align: center;
    }
	#sec_top_strong .func_right3 p.jyouken-new{
		font-size: 22px;
		font-weight: bold;
		
	}
	
    #sec_top_strong .func_right3 img{
        text-align: center;
        max-width: 700px;
        padding: 0 10px;
        box-sizing: border-box;
    }

	#sec_top_strong .func_right3 ul{
		list-style: disc;
		margin-left: 40px;
		width: calc( 100% - 40px );
	}
	#sec_top_strong .func_right3 ul li{
		color: #D80000;
		font-size: 20px;
		font-weight: bold;
		text-align: left;
		margin-bottom: 10px;
	}
	#sec_top_strong .func_right3 ul li p{
		font-size: 14px;
		color: #222;
		font-weight: 500;
	}
	
#sec_top_strong div img{
    width: 100%;
    max-width: 1200px;
}

#sec_top_strong .system_name1 {
    color: #FFF;/*文字色*/
    background: #134C79;
    max-width: 500px;
    text-align: center;
    font-size: 18px;
    padding: 5px 0;/*文字周りの余白*/
    border-radius: 0.5em;/*角丸*/
    margin-bottom: 20px;
}
#sec_top_strong .system_name2 {
    color: #FFF;/*文字色*/
    background: #207702;
    max-width: 500px;
    text-align: center;
    font-size: 18px;
    padding: 5px 0;/*文字周りの余白*/
    border-radius: 0.5em;/*角丸*/
    margin-bottom: 20px;
}
#sec_top_strong .system_name3 {
    color: #FFF;/*文字色*/
    background: #E33900;
    max-width: 500px;
    text-align: center;
    font-size: 18px;
    padding: 5px 0;/*文字周りの余白*/
    border-radius: 0.5em;/*角丸*/
    margin-bottom: 20px;
}

#sec_top_strong p.caution{
    margin-top: 10px;
    font-size: 12px !important;
} 

@media screen and (min-width: 920px) {
 
    
    #sec_top_strong .outer1{
        padding: 80px 0 80px 0;
        margin-bottom: 100px;
    }
    #sec_top_strong .outer2{
        padding: 80px 0 80px 0;
        margin-bottom: 100px;
    }
    #sec_top_strong .outer3{
        padding: 80px 0 80px 0;
        margin-bottom: 0px;
    }
    
    #sec_top_strong .func_left{
        width: 600px;
    }

    #sec_top_strong .func_left p{
        font-size: 16px;
    }

    #sec_top_strong .func_left2{
        width: 700px;
    }

    #sec_top_strong .func_right{
        width: calc(100% - 600px);
    }
    #sec_top_strong .func_right img{
        text-align: right;
        max-width: 800px;
        width: 100%;
        padding: 0 0;
    }

    #sec_top_strong .func_right2{
        width: calc(100% - 740px);
    }
    #sec_top_strong .func_right2 img{
        text-align: right;
        max-width: 700px;
        width: 100%;
        padding: 0 0;
    }
	
	#sec_top_strong .func_left3{
		padding: 0 10px 0 10px;
		margin-top: 0;
		float: left;
		width: 500px;
		box-sizing: border-box;
	}

    #sec_top_strong .func_right3{
		margin-top: 100px;
        width: calc(100% - 500px);
    }
    #sec_top_strong .func_right3 img{
        text-align: right;
        max-width: 700px;
        width: 100%;
        padding: 0 0;
    }
    #sec_top_strong .func_left p{
        font-size: 16px;
    }
    #sec_top_strong .func_left2 p{
        font-size: 16px;
    }
    #sec_top_strong .func_left3 p.jyouken-old{
		font-size: 24px;
		font-weight: bold;
		
	}
    #sec_top_strong .func_right3 p.jyouken-new{
		font-size: 24px;
		font-weight: bold;
		
	}
	#sec_top_strong .func_right3 ul li{
		color: #D80000;
		font-size: 28px;
		font-weight: bold;
		text-align: left;
		margin-bottom: 10px;
	}
	#sec_top_strong .func_right3 ul li p{
		font-size: 16px;
		color: #222;
		font-weight: 500;
	}
	
}

@media screen and (min-width: 920px) {

    /* sec_top_strong
    ------------------------------------------------------------*/
    #sec_top_strong{
        margin:0;
        padding:80px 0 40px 0;
        text-align: left;
    }
    #sec_top_strong h1 {
        font-size: 48px;
    }
    #sec_top_strong h2 {
        font-size: 32px;
    }
    
}

	
/* sec_top_area
------------------------------------------------------------*/

#sec_top_area{
    margin:0;
    padding:30px 0 30px 0;
    text-align: left;
}

#sec_top_area .inner{
    margin: 0 auto;
    max-width: 1280px;
    overflow: hidden;
}


#sec_top_area h1 {
    width: 100%;
    margin: 10px 0 35px 0;
    position: relative;
    display: inline-block;
    text-align: center;
    font-size: 24px;
    color: #111111;
    box-sizing: border-box;
    line-height: 1.7em;
    font-weight: bold;
    letter-spacing: 0.05em;
    padding-top: 20px;
}
#sec_top_area h1 span{
    display: block;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", HelveticaNeue, "Segoe UI", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 18px;
    letter-spacing: 0.02em;
    color: #111111;
    line-height: 14px;
    margin-top: 15px;
    font-weight: bold;
}

#sec_top_area h1:before {
  content: '';
  position: absolute;
  top: 0;
  display: inline-block;
  width: 120px;
  height: 1px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: black;
}


#sec_top_area h2{
    margin:20px 0px 0px 0px; 
    font-size: 21px;
    position: relative;
    display: inline-block;
    padding: 0 0 0 20px;
    line-height: 24px;
    color:#313131;
}

#sec_top_area div{
    padding: 0 10px;
    margin-top: 20px;
	text-align: center;
	margin: 0 auto;
}

#sec_top_area div p{
	text-align: center;
	font-size: 16px;
	font-weight: 500;
}

#sec_top_area div p.main{
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.6;
	margin-bottom: 20px;
}

#sec_top_area div p.sub{
	text-align: center;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.6;
	margin-bottom: 20px;
}
	
#sec_top_area .flex_model-box {
    padding:  0 !important;             /* 余白指定 */
    display: flex;              /* フレックスボックスにする */
    justify-content:center;
	flex-wrap: wrap;            /* 折り返し指定 */
	width: 100%;
	margin-top: 30px;
}

#sec_top_area .flex_model-item {
	padding: 10px 0 10px 0;
	color:  #000;               /* 文字色 */
	margin:  0px;              /* 外側の余白 */
	width: 100%;                 /* 幅指定 */
	box-sizing:border-box;
	text-align: center;
}
	
	#sec_top_area .flex_model-item .yatai_type{
		background-color:  #B20000; /* 背景色指定 */
		padding: 8px 0 10px 0;
		font-size: 20px;
		color: #FFF;
		font-weight: 500;
	}

#sec_top_area .flex_model-item img{
	max-width: 580px;
	width: 100%;

}

	
table.tbl_area {
    border-collapse: separate;  /* 表の線と線の間を空ける */
    border-spacing:  1px;       /* 表の線と線の間の幅 */
	text-align: center;
	margin: 0 auto;
	margin-bottom: 30px;
	width: 100%;
}

table.tbl_area th,
table.tbl_area td {
    padding: 10px 10px;          /* 余白指定 */
	font-size: 16px;
}

table.tbl_area th {
    background-color:  #B20000; /* 背景色指定 */
    color:  #fff;               /* 文字色指定 */
    font-weight:  normal;       /* 文字の太さ指定 */
	min-width:inherit;
}

table.tbl_area td {
    background-color:  #E7EDF1; /* 背景色指定 */
	color: #111;
	text-align: left;
	min-width: inherit;
}
	
	
@media screen and (min-width: 920px) {

    /* sec_top_area
    ------------------------------------------------------------*/
    #sec_top_area{
        margin:0;
        padding:80px 0 40px 0;
        text-align: left;
    }
    #sec_top_area h1 {
        font-size: 48px;
    }
    #sec_top_area .flex_model-item {
		padding: 0;
		color:  #000;               /* 文字色 */
		margin:  0px 20px;              /* 外側の余白 */
		width: 45%;                 /* 幅指定 */
		box-sizing:border-box;
		text-align: center;
	}
	#sec_top_area div p{
		font-size: 1.8vw;
	}

	#sec_top_area div p.main{
		font-size: 3vw;
	}
	table.tbl_area {
		width: auto;
	}
	table.tbl_area th,
	table.tbl_area td {
		padding: 10px 25px;          /* 余白指定 */
		font-size: 24px;
	}

	table.tbl_area th {
		background-color:  #B20000; /* 背景色指定 */
		color:  #fff;               /* 文字色指定 */
		font-weight:  normal;       /* 文字の太さ指定 */
		min-width: 200px;
	}

	table.tbl_area td {
		background-color:  #E7EDF1; /* 背景色指定 */
		color: #111;
		text-align: left;
		min-width: 350px;
	}
	#sec_top_area .flex_model-item .yatai_type{
		font-size: 24px;
	}
	
	
}


	
	
	
	
		
/* sec_top_areaimage
------------------------------------------------------------*/

#sec_top_areaimage{
    margin:0;
    padding:30px 0 30px 0;
    text-align: left;
}

#sec_top_areaimage .inner{
    margin: 0 auto;
    max-width: 1280px;
    overflow: hidden;
}


#sec_top_areaimage h1 {
    width: 100%;
    margin: 10px 0 35px 0;
    position: relative;
    display: inline-block;
    text-align: center;
    font-size: 24px;
    color: #111111;
    box-sizing: border-box;
    line-height: 1.7em;
    font-weight: bold;
    letter-spacing: 0.05em;
    padding-top: 20px;
}
#sec_top_areaimage h1 span{
    display: block;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", HelveticaNeue, "Segoe UI", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 18px;
    letter-spacing: 0.02em;
    color: #111111;
    line-height: 14px;
    margin-top: 15px;
    font-weight: bold;
}

#sec_top_areaimage h1:before {
  content: '';
  position: absolute;
  top: 0;
  display: inline-block;
  width: 120px;
  height: 1px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: black;
}


#sec_top_areaimage h2{
    margin:20px 0px 0px 0px; 
    font-size: 21px;
    position: relative;
    display: inline-block;
    padding: 0 0 0 20px;
    line-height: 24px;
    color:#313131;
}


	
#sec_top_areaimage .flex_model-box {
    padding:  0 !important;             /* 余白指定 */
    display: flex;              /* フレックスボックスにする */
    justify-content:center;
	flex-wrap: wrap;            /* 折り返し指定 */
	width: 100%;
	margin-top: 30px;
}

#sec_top_areaimage .flex_model-item {
	padding: 10px 0 10px 0;
	color:  #000;               /* 文字色 */
	margin:  0px;              /* 外側の余白 */
	width: 100%;                 /* 幅指定 */
	box-sizing:border-box;
	text-align: center;
}
	
	#sec_top_areaimage .flex_model-item .yatai_type{
		background-color:  #B20000; /* 背景色指定 */
		padding: 8px 0 10px 0;
		font-size: 20px;
		color: #FFF;
		font-weight: 500;
	}

#sec_top_areaimage .flex_model-item img{
	max-width: 580px;
	width: 100%;

}

	
@media screen and (min-width: 920px) {

    /* sec_top_areaimage
    ------------------------------------------------------------*/
    #sec_top_areaimage{
        margin:0;
        padding:80px 0 40px 0;
        text-align: left;
    }
    #sec_top_areaimage h1 {
        font-size: 48px;
    }
    #sec_top_areaimage .flex_model-item {
		padding: 0;
		color:  #000;               /* 文字色 */
		margin:  0px 20px;              /* 外側の余白 */
		width: 45%;                 /* 幅指定 */
		box-sizing:border-box;
		text-align: center;
	}
	
	
}


	
	
		
/* sec_top_button
------------------------------------------------------------*/

.sec_top_button{
    margin:0;
    padding:10px 0 30px 0;
    text-align: left;
}

.sec_top_button .inner{
    margin: 0 auto;
    max-width: 1280px;
    overflow: hidden;
}
	
.flex_button-box {
    padding:  0 !important;             /* 余白指定 */
    display: flex;              /* フレックスボックスにする */
    justify-content:center;
	flex-wrap: wrap;            /* 折り返し指定 */
	width: 100%;
	margin-top: 30px;
}

.flex_button-item {
	padding: 10px 0 10px 0;
	color:  #000;               /* 文字色 */
	margin:  0px 20px;              /* 外側の余白 */
	width: 100%;                 /* 幅指定 */
	box-sizing:border-box;
	text-align: center;
}

.flex_button-item-full {
	padding: 10px 0 10px 0;
	color:  #000;               /* 文字色 */
	margin:  0px 20px;              /* 外側の余白 */
	width: 100%;                 /* 幅指定 */
	box-sizing:border-box;
	text-align: center;
}

	
.apply-btn{
    /*コレ*/box-shadow: 4px 4px #D93600;
    /*コレ*/border-radius: 5px;
    display: block;
    width: calc( 100% - 4px );
	height: 80px;
    line-height: 80px;
    box-sizing: border-box;
    background: #FF4000;
    color: #FFF;
    text-decoration: none;
    text-align: center;
	font-size: 5vw;
	font-weight: bold;
	margin-bottom: 10px;
}
	
	.apply-btn:hover{
		background: #fc551d;
	}
	
.pdf-btn{
    /*コレ*/box-shadow: 4px 4px #003546;
    /*コレ*/border-radius: 5px;
    display: block;
    width: calc( 100% - 4px );
	height: 80px;
    line-height: 1.5;
	padding-top: 14px;
    box-sizing: border-box;
    background: #004C66;
    color: #FFF;
    text-decoration: none;
    text-align: center;
	font-size: 5vw;
	font-weight: bold;
	margin-bottom: 10px;
}
	.pdf-btn:hover{
		background: #015f80;
	}
	.pdf-btn span{
		display: block;
		font-size: 15px;
	}
	

.contact-btn{
    /*コレ*/box-shadow: 4px 4px #102e2e;
    /*コレ*/border-radius: 5px;
    display: block;
    width: calc( 100% - 4px );
	height: 80px;
    line-height: 80px;
    box-sizing: border-box;
    background: #123e3e;
    color: #FFF;
    text-decoration: none;
    text-align: center;
	font-size: 5vw;
	font-weight: bold;
	margin-bottom: 10px;
}
	
	.contact-btn:hover{
		background: #124d4d;
	}

@media screen and (min-width: 640px) {
	
	.apply-btn{
		/*コレ*/box-shadow: 4px 4px #D93600;
		/*コレ*/border-radius: 5px;
		display: block;
		width: calc( 100% - 4px );
		height: 100px;
		line-height: 100px;
		box-sizing: border-box;
		background: #FF4000;
		color: #FFF;
		text-decoration: none;
		text-align: center;
		font-size: 3.5vw;
		font-weight: bold;
		margin-bottom: 10px;
	}
	.pdf-btn{
		/*コレ*/box-shadow: 4px 4px #003546;
		/*コレ*/border-radius: 5px;
		display: block;
		width: calc( 100% - 4px );
		height: 100px;
		line-height: 1.5;
		padding-top: 15px;
		box-sizing: border-box;
		background: #004C66;
		color: #FFF;
		text-decoration: none;
		text-align: center;
		font-size: 3.5vw;
		font-weight: bold;
		margin-bottom: 10px;
	}
	.pdf-btn span{
		display: block;
		font-size: 18px;
	}
	.contact-btn{
		/*コレ*/box-shadow: 4px 4px #102e2e;
		/*コレ*/border-radius: 5px;
		display: block;
		width: calc( 100% - 4px );
		height: 100px;
		line-height: 100px;
		box-sizing: border-box;
		background: #123e3e;
		color: #FFF;
		text-decoration: none;
		text-align: center;
		font-size: 3.5vw;
		font-weight: bold;
		margin-bottom: 10px;
	}
}
@media screen and (min-width: 920px) {
	.apply-btn{
		/*コレ*/box-shadow: 4px 4px #D93600;
		/*コレ*/border-radius: 5px;
		display: block;
		width: calc( 100% - 4px );
		height: 100px;
		line-height: 100px;
		box-sizing: border-box;
		background: #FF4000;
		color: #FFF;
		text-decoration: none;
		text-align: center;
		font-size: 30px;
		font-weight: bold;
		margin-bottom: 10px;
	}
	.pdf-btn{
		/*コレ*/box-shadow: 4px 4px #003546;
		/*コレ*/border-radius: 5px;
		display: block;
		width: calc( 100% - 4px );
		height: 100px;
		line-height: 1.5;
		padding-top: 15px;
		box-sizing: border-box;
		background: #004C66;
		color: #FFF;
		text-decoration: none;
		text-align: center;
		font-size: 30px;
		font-weight: bold;
		margin-bottom: 10px;
	}
	.contact-btn{
		/*コレ*/box-shadow: 4px 4px #102e2e;
		/*コレ*/border-radius: 5px;
		display: block;
		width: calc( 100% - 0px );
		height: 100px;
		line-height: 100px;
		box-sizing: border-box;
		background: #123e3e;
		color: #FFF;
		text-decoration: none;
		text-align: center;
		font-size: 30px;
		font-weight: bold;
		margin-bottom: 10px;
	}
	
	.flex_button-item {
		padding: 0;
		color:  #000;               /* 文字色 */
		margin:  0px 20px;              /* 外側の余白 */
		width: 45%;                 /* 幅指定 */
		box-sizing:border-box;
		text-align: center;
	}
	.flex_button-item-full {
		padding: 0;
		color:  #000;               /* 文字色 */
		margin:  0px 45px;              /* 外側の余白 */
		width: 100%;                 /* 幅指定 */
		box-sizing:border-box;
		text-align: center;
	}
}

	
	
		
/* sec_top_structure
------------------------------------------------------------*/

#sec_top_structure{
    margin:0;
    padding:30px 0 30px 0;
    text-align: left;
}

#sec_top_structure .inner{
    margin: 0 auto;
    max-width: 1280px;
    overflow: hidden;
}


#sec_top_structure h1 {
    width: 100%;
    margin: 10px 0 35px 0;
    position: relative;
    display: inline-block;
    text-align: center;
    font-size: 24px;
    color: #111111;
    box-sizing: border-box;
    line-height: 1.7em;
    font-weight: bold;
    letter-spacing: 0.05em;
    padding-top: 20px;
}
#sec_top_structure h1 span{
    display: block;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", HelveticaNeue, "Segoe UI", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 18px;
    letter-spacing: 0.02em;
    color: #111111;
    line-height: 14px;
    margin-top: 15px;
    font-weight: bold;
}

#sec_top_structure h1:before {
  content: '';
  position: absolute;
  top: 0;
  display: inline-block;
  width: 120px;
  height: 1px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: black;
}


	#sec_top_structure .inner img{
		text-align: center;
		margin: 0 auto;
		width: 100%;
		max-width: 1200px;
	}

	
@media screen and (min-width: 920px) {

    /* sec_top_structure
    ------------------------------------------------------------*/
    #sec_top_structure{
        margin:0;
        padding:80px 0 40px 0;
        text-align: left;
    }
    #sec_top_structure h1 {
        font-size: 48px;
    }
   
	
}

	
	
		
/* sec_top_company
------------------------------------------------------------*/

#sec_top_company{
    margin:0;
    padding:30px 0 30px 0;
    text-align: left;
}

#sec_top_company .inner{
    margin: 0 auto;
    max-width: 1280px;
    overflow: hidden;
}


#sec_top_company h1 {
    width: 100%;
    margin: 10px 0 35px 0;
    position: relative;
    display: inline-block;
    text-align: center;
    font-size: 24px;
    color: #111111;
    box-sizing: border-box;
    line-height: 1.7em;
    font-weight: bold;
    letter-spacing: 0.05em;
    padding-top: 20px;
}
#sec_top_company h1 span{
    display: block;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", HelveticaNeue, "Segoe UI", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 18px;
    letter-spacing: 0.02em;
    color: #111111;
    line-height: 14px;
    margin-top: 15px;
    font-weight: bold;
}

#sec_top_company h1:before {
  content: '';
  position: absolute;
  top: 0;
  display: inline-block;
  width: 120px;
  height: 1px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: black;
}

table.tbl_company {
    border-collapse:separate;
    width: calc( 100% - 20px );
    margin:0 10px;
    padding: 0 0;
    color:#333333;
    box-sizing: border-box;
    
}

table.tbl_company th {
    display: block;
    text-align: left;
    margin:0 0 0 0;
    padding: 10px 10px;
    width: 100%;
    box-sizing: border-box;
    background: #134C78;
    color: #FFFFFF;
    font-weight: normal;
}

table.tbl_company td{
    display: block;
    border-top: none;
    border-bottom: none;
    text-align: left;
    margin:0 0 0 0;
    padding: 10px 10px;
    width: 100%;
    background: none;
    box-sizing: border-box;
}
#sec_top_company .flex_model-box {
    padding:  0 !important;             /* 余白指定 */
    display: flex;              /* フレックスボックスにする */
    justify-content:center;
	flex-wrap: wrap;            /* 折り返し指定 */
	width: 100%;
	margin-top: 30px;
}

#sec_top_company .flex_model-item {
	padding: 10px 0 10px 0;
	color:  #000;               /* 文字色 */
	margin:  0px;              /* 外側の余白 */
	width: 100%;                 /* 幅指定 */
	box-sizing:border-box;
	text-align: center;
}

#sec_top_company .flex_model-item img{
	max-width: 580px;
	width: 100%;
	padding: 0 10px;
	box-sizing: border-box;

}

	
@media screen and (min-width: 920px) {

    /* sec_top_company
    ------------------------------------------------------------*/
    #sec_top_company{
        margin:0;
        padding:80px 0 40px 0;
        text-align: left;
    }
    #sec_top_company h1 {
        font-size: 48px;
    }
   
	table.tbl_company {
        border-collapse:separate;
        width:calc( 100% - 40px ) ;
        color:#333333;
        padding: 0px;
        margin:30px 20px;
        box-sizing: border-box;
        border-top:1px solid #CCC;
    }

    table.tbl_company th {
        text-align:left;
        padding:25px 0 25px 30px;
        font-size:16px;
        vertical-align:top;
        font-weight:bold;
        letter-spacing: 2px;
        width:250px !important;
        display:table-cell;
        box-sizing: border-box;
        background: none;
        color:#222222;
        border-bottom:1px solid #CCC;
    }

    table.tbl_company td{
        width: calc(100% - 250px) !important;
        text-align:center;
        padding:25px 0 25px 10px;
        line-height:1.7;
        font-size:16px;
        letter-spacing: 1px;
        background:none;
        text-align: left;
        display:table-cell;
        box-sizing: border-box;
        border-bottom:1px solid #CCC;
    }
	
	#sec_top_company .flex_model-item {
		padding: 0;
		color:  #000;               /* 文字色 */
		margin:  0px 20px;              /* 外側の余白 */
		width: 45%;                 /* 幅指定 */
		box-sizing:border-box;
		text-align: center;
	}
	#sec_top_company .flex_model-item img{
		max-width: 580px;
		width: 100%;
		padding: 0 0px;
		box-sizing: border-box;

	}
}

	
	
	

		
/* sec_top_schedule
------------------------------------------------------------*/

#sec_top_schedule{
    margin:0;
    padding:30px 0 30px 0;
    text-align: left;
}

#sec_top_schedule .inner{
    margin: 0 auto;
    max-width: 1280px;
    overflow: hidden;
}


#sec_top_schedule h1 {
    width: 100%;
    margin: 10px 0 35px 0;
    position: relative;
    display: inline-block;
    text-align: center;
    font-size: 24px;
    color: #111111;
    box-sizing: border-box;
    line-height: 1.7em;
    font-weight: bold;
    letter-spacing: 0.05em;
    padding-top: 20px;
}
#sec_top_schedule h1 span{
    display: block;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", HelveticaNeue, "Segoe UI", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 18px;
    letter-spacing: 0.02em;
    color: #111111;
    line-height: 14px;
    margin-top: 15px;
    font-weight: bold;
}

#sec_top_schedule h1:before {
  content: '';
  position: absolute;
  top: 0;
  display: inline-block;
  width: 120px;
  height: 1px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: black;
}


	#sec_top_schedule .inner img{
		text-align: center;
		margin: 0 auto;
		width: 100%;
		max-width: 1200px;
	}

	
@media screen and (min-width: 920px) {

    /* sec_top_schedule
    ------------------------------------------------------------*/
    #sec_top_schedule{
        margin:0;
        padding:80px 0 40px 0;
        text-align: left;
    }
    #sec_top_schedule h1 {
        font-size: 48px;
    }
   
	
}

	
	
	
	


/* sec_top_plan
------------------------------------------------------------*/

#sec_top_plan{
    margin:0;
    padding:30px 0 30px 0;
    text-align: left;
}

#sec_top_plan .inner{
    margin: 0 auto;
    max-width: 1270px;
    overflow: hidden;
}


#sec_top_plan h1 {
    width: 100%;
    margin: 10px 0 35px 0;
    position: relative;
    display: inline-block;
    text-align: center;
    font-size: 22px;
    color: #111111;
    box-sizing: border-box;
    line-height: 1.7em;
    font-weight: bold;
    letter-spacing: 0.05em;
    padding-top: 20px;
}
#sec_top_plan h1 span{
    display: block;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", HelveticaNeue, "Segoe UI", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 16px;
    letter-spacing: 0.02em;
    color: #111111;
    line-height: 14px;
    margin-top: 15px;
    font-weight: no;
}

#sec_top_plan h1:before {
  content: '';
  position: absolute;
  top: 0;
  display: inline-block;
  width: 120px;
  height: 1px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: black;
}


#sec_top_plan h2{
    margin:20px 0px 0px 0px; 
    font-size: 21px;
    position: relative;
    display: inline-block;
    padding: 0 0 0 20px;
    line-height: 24px;
    color:#313131;
}

#sec_top_plan div{
    padding: 0 10px;
    margin-top: 20px;
}

#sec_top_plan div img{
    width: 100%;
    max-width: 1200px;
}

#sec_top_plan .plan_box{
    text-align: center;
    max-width: 1280px;
    margin: 0px auto 0 auto;
    overflow: hidden;
    
}
#sec_top_plan .plan_box .plan_select{
    float: left;
    width: 100%;
    margin-bottom: 15px;
    padding: 0;
    
}

#sec_top_plan .plan_box .plan_select .plan_parts{
    padding: 0;
}

#sec_top_plan table{
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: fixed;
  width: 100%;
}

#sec_top_plan table tr:last-child{
  
}

#sec_top_plan table th{
  text-align: center;
  padding: 7px 0;
    color: #FFF;
    font-size: 24px;
    font-weight: normal;
}


#sec_top_plan table th.thright{
  background: #134C78;
}
#sec_top_plan table th.thstandard{
  background: #207702;
}
#sec_top_plan table th.thbusiness{
  background: #E33900;
}



#sec_top_plan table td{
  text-align: center;
  padding: 7px 0;
    background: #EEEEEE;
    font-weight: bold;
}

#sec_top_plan table td p{
    text-align: center;
    font-weight: bold;
}

#sec_top_plan table td p.price_right{
    color: #134C78;
    font-weight: bold;
    font-size: 16px;
    margin: 0;
}

#sec_top_plan table td .price_right01{
    font-size: 48px;
    font-family: "Lato";
    margin: 0 10px;
    line-height: 1;
}

#sec_top_plan table td p.price_standard{
    color: #207702;
    font-weight: bold;
    font-size: 16px;
    margin: 0;
}

#sec_top_plan table td .price_standard01{
    font-size: 48px;
    font-family: "Lato";
    margin: 0 10px;
    line-height: 1;
}

#sec_top_plan table td p.price_business{
    color: #E33900;
    font-weight: bold;
    font-size: 16px;
    margin: 0;
}

#sec_top_plan table td .price_business01{
    font-size: 48px;
    font-family: "Lato";
    margin: 0 10px;
    line-height: 1;
}

#sec_top_plan table td.line01{
  background: #DDDDDD;
    font-weight:normal;
    text-align: left;
    padding: 7px 0 7px 30px;
}
#sec_top_plan table td.line02{
  background: #EEEEEE;
    font-weight:normal;
    text-align: left;
    padding: 7px 0 7px 30px;
}

#sec_top_plan table td.tdright{
  background: #E7EDF1;
    font-weight:normal;
}
#sec_top_plan table td.tdstandard{
  background: #E9F3E5;
    font-weight:normal;
}
#sec_top_plan table td.tdbusiness{
  background: #FFECE5;
    font-weight:normal;
}

#sec_top_plan table i{
    margin-right: 7px;
    color: #FF0000;
}


@media screen and (min-width: 920px) {

    /* sec_top_service
    ------------------------------------------------------------*/
    #sec_top_plan{
        margin:0;
        padding:80px 0 80px 0;
        text-align: left;
    }
    #sec_top_plan h1 {
        font-size: 32px;
    }
    #sec_top_plan .plan_box .plan_select{
        float: left;
        width: calc( 100% / 3 );
        margin-bottom: 0;
        padding: 0 15px;
        box-sizing: border-box;
        
    }
}



/* sec_top_qa
------------------------------------------------------------*/

#sec_top_qa{
    margin:0;
    padding:30px 0 30px 0;
    text-align: left;
    background: #F6F6F6;
}

#sec_top_qa .inner{
    margin: 0 auto;
    max-width: 1270px;
    overflow: hidden;
}


#sec_top_qa h1 {
    width: 100%;
    margin: 10px 0 35px 0;
    position: relative;
    display: inline-block;
    text-align: center;
    font-size: 22px;
    color: #111111;
    box-sizing: border-box;
    line-height: 1.7em;
    font-weight: bold;
    letter-spacing: 0.05em;
    padding-top: 20px;
}
#sec_top_qa h1 span{
    display: block;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", HelveticaNeue, "Segoe UI", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 16px;
    letter-spacing: 0.02em;
    color: #111111;
    line-height: 14px;
    margin-top: 15px;
    font-weight: no;
}

#sec_top_qa h1:before {
  content: '';
  position: absolute;
  top: 0;
  display: inline-block;
  width: 120px;
  height: 1px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: black;
}


#sec_top_qa h2{
    margin:20px 0px 0px 0px; 
    font-size: 21px;
    position: relative;
    display: inline-block;
    padding: 0 0 0 20px;
    line-height: 24px;
    color:#313131;
}
#sec_top_qa .qa_box{
    padding: 0 10px;
    margin-top: 30px;
    box-sizing: border-box;
}


.cp_qa *, .cp_qa *:after, .cp_qa *:before {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
    
    box-sizing: border-box;
}
.cp_qa {
	border-top: 1px solid #1b2538;
}
.cp_qa .cp_actab {
	position: relative;
	overflow: hidden;
	width: 100%;
	margin-bottom: 1px;
	color: #333;
}
.cp_qa .cp_actab input {
	position: absolute;
	opacity: 0;
}
/* 質問 */


.cp_qa .cp_actab label {
	font-weight: bold;
	line-height: 1.6;
	position: relative;
	display: block;
	margin: 0 0 0 0;
	padding: 1.5em 2em 1.5em 1em;
	cursor: pointer;
	
}

.cp_qa .cp_actab label:hover {
	color: #134C78;
}
/* 答え */

.cp_qa .cp_actab .cp_actab-content {
	overflow: hidden;
	max-height: 0;
	-webkit-transition: max-height 0.5s ease;
	        transition: max-height 0.5s ease;
	color: #ffffff;
	border-bottom: 1px solid #333;
}
.cp_qa .cp_actab .cp_actab-content p {
	margin: 1em 1em 2em 3em;
    color: #222;
}
/* 質問を開いた時の仕様 */
/* --アイコン */
.cp_qa .cp_actab input:checked ~ label {
	color: #134C78;
}
/* --答えの高さ */
.cp_qa .cp_actab input:checked ~ .cp_actab-content {
	max-height: 40em;
}
/* 質問をクリックした時のアイコンの動き */
.cp_qa .cp_actab label::after {
	line-height: 1.6;
	position: absolute;
	top: 50%;
	right: 0;
	display: block;
	width: 3em;
	margin-top: -12.5px;
	-webkit-transition: all 0.5s ease;
	        transition: all 0.5s ease;
	text-align: center;
}
.cp_qa .cp_actab input[type=checkbox] + label::after {
	content: '＋';
}
.cp_qa .cp_actab input[type=checkbox]:checked + label::after {
	-webkit-transform: rotate(45deg);
	        transform: rotate(45deg);
}

@media screen and (min-width: 920px) {

    /* sec_top_qa
    ------------------------------------------------------------*/
    #sec_top_qa{
        margin:0;
        padding:80px 0 100px 0;
        text-align: left;
    }
    #sec_top_qa h1 {
        font-size: 32px;
    }
    
}



/* sec_top_flow
------------------------------------------------------------*/

#sec_top_flow{
    margin:0;
    padding:30px 0 30px 0;
    text-align: left;
}

#sec_top_flow .inner{
    margin: 0 auto;
    max-width: 1270px;
    overflow: hidden;
}


#sec_top_flow h1 {
    width: 100%;
    margin: 10px 0 35px 0;
    position: relative;
    display: inline-block;
    text-align: center;
    font-size: 22px;
    color: #111111;
    box-sizing: border-box;
    line-height: 1.7em;
    font-weight: bold;
    letter-spacing: 0.05em;
    padding-top: 20px;
}
#sec_top_flow h1 span{
    display: block;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", HelveticaNeue, "Segoe UI", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 16px;
    letter-spacing: 0.02em;
    color: #111111;
    line-height: 14px;
    margin-top: 15px;
    font-weight: no;
}

#sec_top_flow h1:before {
  content: '';
  position: absolute;
  top: 0;
  display: inline-block;
  width: 120px;
  height: 1px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: black;
}


#sec_top_flow h2{
    margin:20px 0px 0px 0px; 
    font-size: 21px;
    position: relative;
    display: inline-block;
    padding: 0 0 0 20px;
    line-height: 24px;
    color:#313131;
}

#sec_top_flow div{
    padding: 0 5px;
    margin-top: 20px;
}




#sec_top_flow table{
  border-collapse: separate;
  table-layout: fixed;
  width: 100%;
}

#sec_top_flow table tr:last-child{
  
}

#sec_top_flow table th{
  text-align: center;
  padding: 7px 0;
    color: #FFF;
    font-size: 16px;
    font-weight: normal;
    background: #134C78;
}




#sec_top_flow table td{
  text-align: center;
  padding: 7px 0;
    background: #EEEEEE;
    font-weight: bold;
}

#sec_top_flow table td span{
    font-size: 12px;
}

#sec_top_flow table td.period{
    background: #fffacd;
}

#sec_top_flow table td ul{
    list-style-type: none;
    text-align: left;
    padding: 0 0 0 0px;
}

#sec_top_flow table td ul li{
    font-weight: normal;
}

#sec_top_flow table td p{
    text-align: center;
    font-weight: bold;
}

#sec_top_flow div.annotation{
    padding: 0 10px;
    margin-top: 20px;
}

#sec_top_flow div.annotation p{
    font-size: 12px;
}



@media screen and (min-width: 920px) {

    /* sec_top_flow
    ------------------------------------------------------------*/
    #sec_top_flow{
        margin:0;
        padding:40px 0 60px 0;
        text-align: left;
    }
    #sec_top_flow h1 {
        font-size: 32px;
    }
    #sec_top_flow div{
        padding: 0 10px;
        margin-top: 20px;
    }
    
    #sec_top_flow table td ul{
        list-style-type: none;
        text-align: left;
        padding: 0 0 0 20px;
    }

    
}



/* sec_top_open
------------------------------------------------------------*/

#sec_top_open{
    margin:0;
    padding:30px 0 30px 0;
    text-align: left;
}

#sec_top_open .inner{
    margin: 0 auto;
    max-width: 1280px;
    overflow: hidden;
}


#sec_top_open h1 {
    width: 100%;
    margin: 10px 0 35px 0;
    position: relative;
    display: inline-block;
    text-align: center;
    font-size: 24px;
    color: #111111;
    box-sizing: border-box;
    line-height: 1.7em;
    font-weight: bold;
    letter-spacing: 0.05em;
    padding-top: 20px;
}
#sec_top_open h1 span{
    display: block;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", HelveticaNeue, "Segoe UI", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 18px;
    letter-spacing: 0.02em;
    color: #111111;
    line-height: 14px;
    margin-top: 15px;
    font-weight: bold;
}

#sec_top_open h1:before {
  content: '';
  position: absolute;
  top: 0;
  display: inline-block;
  width: 120px;
  height: 1px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: black;
}


#sec_top_open h2{
    margin:20px 0px 0px 0px; 
    font-size: 21px;
    position: relative;
    display: inline-block;
    padding: 0 0 0 20px;
    line-height: 24px;
    color:#313131;
}

#sec_top_open div{
    padding: 0 10px;
    margin-top: 20px;
}

#sec_top_open div p{
	text-align: center;
	font-size: 16px;
	font-weight: 500;
}

#sec_top_open div p.main{
	text-align: center;
	font-size: 20px;
	font-weight: 800;
	line-height: 1.6;
	margin-bottom: 20px;
    color: #FF4000;
    
}
.p-line {
  display: inline-grid;
  place-content: center;
  place-items: center;
  grid-template-columns: 1fr auto 1fr;
  column-gap: 20px;
  align-items: center;
}
.p-line::before, .p-line::after {
  content: "";
  display: block;
  width: 4px;
  height: 60%;
  border-radius: 0px;
  bottom: 0;
  background-color: #FF4000;
}
.p-line::before {
  transform: rotate(-30deg);
}
.p-line::after {
  transform: rotate(30deg);
}
.c-maker {
  background:linear-gradient(transparent 60%, #FDF5AC 0%);
}

#sec_top_open div p.sub{
	text-align: center;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.6;
	margin-bottom: 20px;
}
	
#sec_top_open .flex_model-box {
    padding:  0 !important;             /* 余白指定 */
    display: flex;              /* フレックスボックスにする */
    justify-content:center;
	flex-wrap: wrap;            /* 折り返し指定 */
	width: 100%;
	margin-top: 30px;
}

#sec_top_open .flex_model-item {
	padding: 10px 0 10px 0;
	color:  #000;               /* 文字色 */
	margin:  0px;              /* 外側の余白 */
	width: 100%;                 /* 幅指定 */
	box-sizing:border-box;
	text-align: center;
}

#sec_top_open .flex_model-item img{
	max-width: 580px;
	width: 100%;

}

	
@media screen and (min-width: 920px) {

    /* sec_top_open
    ------------------------------------------------------------*/
    #sec_top_open{
        margin:0;
        padding:80px 0 0px 0;
        text-align: left;
    }
    #sec_top_open h1 {
        font-size: 48px;
    }
    #sec_top_open .flex_model-item {
		padding: 0;
		color:  #000;               /* 文字色 */
		margin:  0px 20px;              /* 外側の余白 */
		width: 45%;                 /* 幅指定 */
		box-sizing:border-box;
		text-align: center;
	}
	#sec_top_open div p{
		font-size: 1.4vw;
        
	}

	#sec_top_open div p.main{
		font-size: 3vw;
        font-size: min(3vw, 48px);
	}
}



/* sec_top_ticket
------------------------------------------------------------*/

#sec_top_ticket{
    margin:0;
    padding:30px 0 30px 0;
    text-align: left;
}

#sec_top_ticket .inner{
    margin: 0 auto;
    max-width: 1280px;
    overflow: hidden;
}

#sec_top_ticket h1 {
    width: 100%;
    margin: 10px 0 35px 0;
    position: relative;
    display: inline-block;
    text-align: center;
    font-size: 24px;
    color: #111111;
    box-sizing: border-box;
    line-height: 1.7em;
    font-weight: bold;
    letter-spacing: 0.05em;
    padding-top: 20px;
}
#sec_top_ticket h1 span{
    display: block;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", HelveticaNeue, "Segoe UI", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 18px;
    letter-spacing: 0.02em;
    color: #111111;
    line-height: 14px;
    margin-top: 15px;
    font-weight: bold;
}

#sec_top_ticket h1:before {
  content: '';
  position: absolute;
  top: 0;
  display: inline-block;
  width: 120px;
  height: 1px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: black;
}



.ticket-btn{
    /*コレ*/box-shadow: 4px 4px #003546;
    /*コレ*/border-radius: 5px;
    display: block;
    width: calc( 100% - 4px );
	height: 80px;
    line-height: 1.5;
	padding-top: 14px;
    box-sizing: border-box;
    background: #004C66;
    color: #FFF;
    text-decoration: none;
    text-align: center;
	font-size: 3.5vw;
	font-weight: bold;
	margin-bottom: 10px;
}
	.ticket-btn:hover{
		background: #015f80;
	}
	.ticket-btn span{
		display: block;
		font-size: 14px;
        font-weight: 500;
        margin-top: 10px;
	}



.ticket-btn2 {
  display: inline-block;
  position: relative;
  text-decoration: none;
  background-color: #ff4500; /* ボタンの背景色 */
  color: #fff; /* 文字色 */
  padding: 30px 40px;
  border-radius: 4px;
  overflow: hidden; /* くり抜き用 */
  /* box-shadow: 0 4px 10px rgba(0,0,0,0.2); */
  transition: transform 0.2s ease, box-shadow 0.2s ease;
    width: calc( 100% - 4px );
    font-size: 3.5vw;
    font-weight: bold;
    box-sizing: border-box;
}

/* くり抜き用の丸（左側） */
.ticket-btn2::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -15px;
  width: 30px;
  height: 30px;
  background-color: #fff; /* ページの背景色と同じ色に指定 */
  border-radius: 50%;
  transform: translateY(-50%);
}


.ticket-btn2::after {
    position: absolute;
    top: 50%;
    right: 1.2em;
    width: 0.7em;
    height: 0.7em;
    transform: translateY(-50%) rotate(45deg);
    border-right: 3px solid currentColor;
    border-top: 3px solid currentColor;
    content: "";
}
.ticket-btn__inner {
  font-weight: bold;
  font-size: 1.2rem;
  letter-spacing: 0.1em;
}

/* ホバー時のアクション */
.ticket-btn2:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 15px rgba(0,0,0,0.3);
}


#sec_top_ticket p{
    text-align: center;
    font-weight: 500;
    line-height: 1.5;
    margin-top: 10px;
}

@media screen and (min-width: 920px) {

    /* sec_top_ticket
    ------------------------------------------------------------*/
    #sec_top_ticket{
        margin:0;
        padding:30px 0 40px 0;
        text-align: left;
    }
    #sec_top_ticket h1 {
        font-size: 48px;
    }
	#sec_top_ticket div p{
		font-size: 1.4vw;
        font-size: min(1.4vw, 20px);
	}

	#sec_top_ticket div p.main{
		font-size: 3vw;
	}
    .ticket-btn{
		/*コレ*/box-shadow: 4px 4px #003546;
		/*コレ*/border-radius: 5px;
		display: block;
		width: calc( 100% - 4px );
		height: 140px;
		line-height: 1.5;
		padding-top: 15px;
		box-sizing: border-box;
		background: #004C66;
		color: #FFF;
		text-decoration: none;
		text-align: center;
		font-size: 30px;
		font-weight: bold;
		margin-bottom: 10px;
	}
    
    .ticket-btn2 {
      display: inline-block;
      position: relative;
      text-decoration: none;
      background-color: #ff4500; /* ボタンの背景色 */
      color: #fff; /* 文字色 */
      padding: 30px 40px;
      border-radius: 4px;
      overflow: hidden; /* くり抜き用 */
      /* box-shadow: 0 4px 10px rgba(0,0,0,0.2); */
      transition: transform 0.2s ease, box-shadow 0.2s ease;
        width: calc( 100% - 4px );
        font-size: 1.8vw;
        font-size: min(1.8vw, 26px);
        font-weight: bold;
        box-sizing: border-box;
    }
    
}


