@charset "UTF-8";
body {
	font-family: 'Noto Sans JP',"メイリオ", Meiryo, MS PGothic,"Hiragino Kaku Gothic Pro", arial, sans-serif;
	height: 100%;
	width: 100%;
	display: flex;
    min-height: 100vh;
    flex-direction: column;
}
body * {
	box-sizing: border-box;
}
ul {
	padding: 0;
}
/*================Header================*/
.header {
	min-height: 70px;
	font-family: "メイリオ", Meiryo, MS PGothic,"Hiragino Kaku Gothic Pro", arial, sans-serif;
	font-size: 12px;
	border-bottom: 1px solid #086CD8;
}
.header-right {
	float: right;
}
.header-right span{
	padding-top: 3px;
}
.header .header-left {
	float: left;
}
.header .header-left .nav-item {
	text-align: center;
}
.header .nav-link {
	color: #000000;
	padding: 5px;
}
.mds {
	font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;
	font-weight: 600;
	font-style: normal;
}
br.sp {
	display: none;
}
#side_menu {
    position: fixed;
    top: 97px;
    right: 0;
    z-index: 995;
    transition: all .4s;
    background: #000;
    box-shadow: 0 0 5px 0 rgba(0,0,0,.3);
    width: 102px;
    height: 168px;
    list-style: none;
    padding: 0;
    margin: 0;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
}
#side_menu li{
	width: 100%;
	height: 50%;
}
#side_menu li a {
    width: 100%;
    height: 100%;
    text-align: center;
    color: #fff;
    font-weight: bold;
    justify-content: center;
}
#side_menu .contact{
	background: #143485;
    border-top-left-radius: 10px;
}
#side_menu .subscription{
	background: #ff8103;
    border-bottom-left-radius: 10px;
}
.ttl_only {
	text-align: center;
	letter-spacing: 0.1rem;
}
.ttl_only span {
	display: block;
	font-size: 18px;
	padding-top: 4px;
}
.ttl_box {
	position: relative;
	text-align: center;
}
.ttl_box span {
	font-size: 18px;
	font-weight: bold;
	border: 2px solid #000;
	text-align: center;
	padding: 8px;
	display: inline-block;
	position: relative;
	background-color: #fff;
}
.ttl_box span::before{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	border: 2px solid #000;
	right: -8px;
	bottom: -8px;
	background-color: #fff;
	z-index: -2;
}

.sec_ttl {
	width: 100%;
	position: relative;
	text-align: center;
	font-size: 32px;
	color: #354659;
	letter-spacing: 0.2rem;
	margin-bottom: 50px;
}
.sec_ttl:before {
	content: "";
	height: 1px;
	width: 100%;
	display: block;
	position: absolute;
	background-color: #e1e1e1;
	top: 20px;
}
.sec_ttl span {
	display: inline-block;
	background-color: #fff;
	position: relative;
	padding: 0 15px 0 15px;
}
.sec_ttl small {
	display: block;
	font-size: 18px;
	letter-spacing: 0.1rem;
}
/*================flow================*/
#flow {
	background-image: -moz-linear-gradient( 168deg, rgb(8,163,216) 6%, rgb(8,108,216) 100%);
	background-image: -webkit-linear-gradient( 168deg, rgb(8,163,216) 6%, rgb(8,108,216) 100%);
	background-image: -ms-linear-gradient( 168deg, rgb(8,163,216) 6%, rgb(8,108,216) 100%);
	padding-bottom: 120px;
	padding-top: 70px;
}
#flow h2 span {
	background-color: transparent;
}
#flow h2.flow_ttl {
	width: 100%;
	position: relative;
	text-align: center;
	font-size: 32px;
	color: #fff;
	letter-spacing: 0.2rem;
	margin-bottom: 50px;
}
#flow h2.flow_ttl:before {
	content: "";
	height: 1px;
	width: 42%;
	display: block;
	position: absolute;
	background-color: #e1e1e1;
	top: 20px;
	left: 0;
}
#flow h2.flow_ttl:after {
	content: "";
	height: 1px;
	width: 42%;
	display: block;
	position: absolute;
	background-color: #e1e1e1;
	top: 20px;
	right: 0;
}
#flow ul {
	list-style: none;
	margin-bottom: 50px;
}
#flow ul li {
	width: 21%;
	position: relative;
}
#flow ul li figure {
	position: relative;
	width: 186px;
	margin: 0 auto;
}
#flow ul li figure:after {
	content: "";
	position: absolute;
	right: -20%;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 20px 0 20px 21px;
	border-color: transparent transparent transparent #ffffff;
}
#flow ul li:last-child figure:after {
	display: none;
}
#flow ul li figure img {
	width: 100%;
}
#flow ul li b {
	color: #fff;
	text-align: center;
	font-size: 16px;
	display: block;
	letter-spacing: 0.1rem;
}
#flow ul li span {
	display: block;
	color: #fff;
	text-align: center;
	font-size: 50px;
	font-weight: bold;
	letter-spacing: 0.1rem;
}
#flow ul li p {
	color: #fff;
	font-size: 16px;
	padding-top: 20px;
}
#flow a.flow_btn {
	width: 570px;
	margin: 0 auto;
	display: block;
	border: 2px solid #fff;
	color: #fff;
	text-align: center;
	font-size: 26px;
	padding: 25px;
	height: 90px;
	box-sizing: border-box;
	letter-spacing: 0.1rem;
	cursor: pointer;
}
.din {
	font-family: din-2014, sans-serif;
	font-weight: 400;
	font-style: normal;
}
/*================container================*/
.container {
	width: 1000px;
	margin: 0 auto;
}
.menu-sp {
	clear: both;
	min-height: 60px;
	background: #086CD8;
	padding-top: 10px;
	padding-bottom: 10px;
}

.fa-bars-on {
	background-image: url(../img/baseline_menu_white_36dp.png);
	padding-right: 25px;
	background-repeat: no-repeat;
    background-position: left;
	height: 24px;
}
.fa-bars-off {
	padding-right: 25px;
	background-image: url(../img/baseline_menu_black_36dp.png);
	background-repeat: no-repeat;
    background-position: left;
	height: 24px;
}
.text-menu {
	height: 15px;
}
.icon-linkHeader {
	margin-left: 8px;
	height: 14px;
	vertical-align: sub;
}
.div-logoHeader {
	background: #FFFFFF;
	padding-bottom: 5px;
	padding-top: 5px;
}
.div-icon-header {
	background: #FFFFFF;
	box-shadow: 0px 1px 30px rgba(104, 104, 104, 0.5);
}
.logo-tohogas {
	padding-left: 25px;
}
.logo-tbs {
	margin-left: 15px;
	height: 40px;
	width: 100px;
}
.line-headerLeft {
	margin-left: 10px;
	border-right: 1px solid #919191;
}
.icon-headerLeft {
	margin-left: 10px;
}
.icon-headerRight {
	margin-right: 10px;
}
.line-headerRight {
	margin-right: 5px;
	border-right: 1px solid #919191;
}
.clearfix {
	clear: both;
}
.nav-inline {
	display: inline-block;
}
.icon-leftFirst {
	padding-right: 0px !important;
}
.icon-rightFirst {
	padding-right: 0px !important;
}

.input-require::after,
.input-require-inline::after {
	content: '*';
	right: 0;
	color: red;
	margin-left: 5px;
	font-weight: normal;
    position: absolute;
}
.input-require-inline::after {
	position: initial;
}
a.link {
    color: #086CD8;
    text-decoration: none;
	font-size: 12px;
	font-weight: 200;
	cursor: pointer;
}
a.link:hover {
    color: #086CD8;
    text-decoration: underline;
}
/* flex_box
━━━━━━━━━━━━━━━━━━━―…‥・★・‥…―━━━━━━━━━━━━━━━━━━*/
.flex_box{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-content: space-between;
  box-sizing: border-box;
}
.flex_Box.Column{
	display: flex;
	flex-direction: column;
}
.flex_Box.Column > *{
	width:100%;
}
.flex_box.Box_2 > *{
  width: 49%;
}
.flex_box.Box_3 > *{
  width: 32.3333%;
}
.flex_box.Box_4 > *{
  width: 24%;
}
.flex_box.Box_5 > *{
  width: 19%;
}
.flex_box.Nowrap{
  flex-wrap: nowrap;
  justify-content: flex-start;
}
.flex_box.Reverse{
	flex-direction: row-reverse;
}
.flex_box.End{
  justify-content: flex-end;
}
.flex_box.Start{
  justify-content: flex-start;
}
.flex_box.Center{
	align-content: center;
	align-items: center;
}
/*================Footer================*/
.footer {
	width: 100%;
	font-family: "メイリオ", Meiryo, MS PGothic,"Hiragino Kaku Gothic Pro", arial, sans-serif;
	font-size : 12px;
	color : #FFFFFF;
	line-height: 2.5rem;
	background: #2C355C;
	background-size: cover;
	position: relative;
	bottom: 0;
}
.footer img{
	height: 14px;
	padding-right: 5px;
}
.footer a {
	color: #FFFFFF;
	margin-right: 15px;
}
.footer a:visited {
}
.panel-heading {
	padding-left: 25px;
}
.panelFirst, .panelLast {
	display: inline;
}
.footer-link-sm {
	display: none;
}
.footer-link-sm table {
	width: 100%;
}
.footer-copy {
	text-align: right;
	font-size: 12px;
}
/*================Container================*/
.container-fluid {
	width: 100%;
	min-height:81.7%;
	flex: 1 0 auto;
}
.container-component .form-control {
	border: 1px solid #bfbfbf;
}
.container-component input, select, textarea{
	font-size: 14px;
	border: 1px solid #bfbfbf;
	border-radius: 4px !important;
}
.container-component select {
	height: 30px;
}
.form-control:focus, button:focus {
	outline: none !important;
	box-shadow : none !important;
}
input[type="text"], input[type="password"], input[type="file"], select {
	height: 30px;
}
input[type="checkbox"] {
	width: 16px;
	height: 16px;
	margin-top: 2px;
}
input[type="text"]:focus, input[type="password"]:focus, input[type="checkbox"]:focus, select:focus, button:focus, textarea:focus {
	outline: none !important;
	border: 2px solid #086CD8 !important;
}
.container-component .form-control::placeholder {
  color: #d9d9d9;
  opacity: 1;
}

.offcanvas-header{
	display:none;
}
.menu-sm {
	display: none;
}
.container-fluid-banner {
	box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.5);
	background-image: url(../img/img-banner-footer.svg), linear-gradient(180deg, #fff 35%, rgba(255,255,255,1) 100%);
    background-repeat: no-repeat;
    background-position: center bottom;
	padding-top: 25px;
}
.footer-nav {
	-webkit-box-sizing: border-box;
	-ms-flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: #fff;
	border-top: 1px solid #dde4f0;
	bottom: 0;
	box-sizing: border-box;
	display: none;
	flex-wrap: wrap;
	font-size: 12px;
	font-size: 0.75rem;
	justify-content: space-between;
	padding: 10px;
	position: fixed;
	width: 100%;
	z-index: 8500;
}
.fixed-title-common-form {
	font-size: 2.25rem;
	color: #081A38;
	font-weight: 700;
    line-height: 2;
	margin-top: .5rem;
	margin-bottom: .5rem;
}
.fixed-title-common-form>.explain {
	font-size: 1.3rem;
	line-height: 1;
}
.title-form-common-member {
	padding: 5px;
	border: 1px solid #086CD8;
	font-size: 2.25rem;
    color: #FFFFFF;
    font-weight: 600;
    line-height: 2;
	background: #086CD8;
	border-radius: 16px 16px 0 0;
	margin-bottom: 1rem;
}
.container-wapper-infoMember {
	max-width: 1320px;
	padding: 0 60px;
}
.checkbox-application {
	min-height: 40px;
    border-radius: 6px;
    padding: 5px 5px 5px 10px;
    width: calc(50% - 13px);
	border: 1px solid #bfbfbf;
	margin-right: 20px;
}
.checkbox-application:last-child {
	margin-right: 0;
}
.sub-title-common{
	font-size: 1.8rem;
}
.label-field-bold {
	font-weight: 600;
	font-size: 14px;
	color: #000000;
}
.hyphen {
	margin-top: 3px;
}
.select-form-common {
	padding: .2rem .2rem;
}
.container-component-form {
	max-width: 1200px;
	background-color: #F5F5F5;
	box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.5);
	border-radius: 16px;
}
.label-note-common{
	font-size: 12px;
}
.ms-options-wrap > button > span {  
	font-size: 14px;
}
.text-note{
	color: #ff8400;
	font-size: 12px;
	font-weight: bold;
	margin-bottom: 8px;
    display: block;
}
.text-note-description{
	font-size: 12px;
}
.line-common {
	width: 100%;
	display: block !important;
	border-bottom: 1px solid #D5D5D5;
}
.p-10 {
	padding: 10px;
}
.border-common-1 {
	border: 1px solid #b7b7b7;
	border-radius: 0 5px 5px 0;
}
.border-common-2 {
	background-color: white;
	border: 1px solid #b7b7b7;
	border-radius: 5px;
	box-shadow: 0px 1px 10px rgba(150, 150, 150, 0.5);
}
.section-border-common-form {
	border-top: 2px solid #086cd8;
}
.custom-file {
	height: initial;
}
.custom-file-label {
	height: 30px;
}
input[type=text]:disabled {
    background: #E6E6E6;
	border: 1px solid #B4B4B4;
}
br.pc {
	display: block;
}
@media (max-width: 991px) {
	.footer-copy {
		text-align: left;
	}
	.footer {
		line-height: 2rem;
	}
	.container-wapper-infoMember {
		padding: 0 25px;
	}
}
@media (min-width: 767px) {
	.js-menu-trigger {
		display: none;
	}
	.menu-sp {
		display: none;
	}
}
@media (max-width: 767px) {
	.icon-menu {
		margin-right: 10px;
	}
	.icon-menu2 {
		margin-right: 5px;
	}
	.offcanvas-header {
		border-bottom: 1px solid #086CD8;
	}
	.btn-close-navbar {
		font-weight: bold;
		color: #000000;
		padding-right: 1rem;
	}
	.title-menu-header {
		padding-left: 1rem;
	}
	.menu-sm {
		display: block;
		padding-right: 1rem;
		padding-left: 1rem;
	}
	.offcanvas-header { 
		display:block;
	}
	.navbar-collapse {
		z-index: 999;
		position: fixed;
		top:0; 
		bottom: 0;
		left: 100%;
		width: 60%;
		overflow-y: auto;
		visibility: hidden;
		background-color: #FFFFFF;
		transition: visibility .2s ease-in-out, transform .2s ease-in-out;
	}
	.navbar-collapse.show {
		visibility: visible;
		transform: translateX(-100%);
	}
	.overlay {
		display: none;
		position: fixed;
		width: 100vw;
		height: 100vh;
		background: rgba(0, 0, 0, 0.7);
		z-index: 998;
		opacity: 0;
		transition: all 0.5s ease-in-out;
	}
	.overlay.active {
		display: block;
		opacity: 1;
	}
	.footer-link-sm {
		display: table !important;
	}
	.footer-link-pc {
		display: none !important;
	}
	.panel-heading {
		padding-left: 15px;
	}
	.header .is-active{
		background: #086CD8;
		min-height: 85px;
	}
	.header .off-active{
		background: #1eb9f0;
		min-height: 85px;
	}
	.is-active a{
		color: #ffffff !important;
		text-decoration: none;
	}
	.div-icon-header {
		display: none;
	}
	.nav-logoHeader {
		float: inherit;
	}
	.nav-logoMenu {
		float: right;
		padding-right: 25px;
		padding-left: 28px;
		padding-top: 5px;
		min-height: 60px;
	}
	.fa-bars-off, .fa-bars-on { 
		margin-top: 15px;
		margin-right: 10px;
	}
	.header {
		min-height: 60px !important;
	}
	.btn-back-common {
		width: 30%;
	}
	.btn-submit-common {
		width: calc(70% - 20px);
	}
	.component-infomation label,
	.component-infomation span	{
		font-size: 12px;
	}
	.btn-submit-common,
	.btn-back-common {
		padding: 0 5px;
	}
	#side_menu {
	    top: inherit;
	    bottom: 0;
	    width: 100%;
	    display: flex;
	    flex-wrap: wrap;
	    justify-content: space-between;
	    align-content: space-between;
	    box-sizing: border-box;
	    border-radius: unset;
	    background: none;
	    height: 60px;
	}
	#side_menu li {
	    width: 50%;
	    height: 100%;
	}
	#side_menu .contact {
	    border-top-left-radius: unset;
	}
	#side_menu .subscription {
	    border-bottom-left-radius: unset;
	}
}

@media (max-width: 575px) {
	.container-fluid-banner {
		padding-top: 15px;
	}
	.sub-title-common{
		font-size: 1.3rem;
	}
	.header {
		min-height: 55px !important;
	}
	.footer {
		font-size: 10px !important;
		line-height: 1.4rem;
		padding-bottom: 4px;
		padding-top: 4px;
	}
	.panel-heading {
		padding-left: 15px;
	}
	.panelFirst, .panelLast {
		display: block;
		max-height: 36px;
	}
	.panelLast {
		padding-bottom: 50px;
	}
	.logo-tohogas {
		padding-top: 5px !important;
		padding-left: 5px !important;
		padding-bottom: 0px !important;
		width: 90px;
	}
	.header .is-active{
		background: #086CD8;
		min-height: 60px;
	}
	.header .off-active{
		background: #1eb9f0;
		min-height: 60px;
	}
	.nav-logoMenu {
		padding-top: 0px;
		min-height: 55px;
	}
	.div-icon-header {
		display: none;
	}
	.fa-bars-off, .fa-bars-on { 
		margin-top: 15px;
		margin-right: 10px;
	}
	.logo-tbs {
		height: 40px;
		width: 100px
	}
	.footer-link-sm {
		display: table !important;
	}
	.footer-link-pc {
		display: none !important;
	}
	.div-footer-link {
		padding-right: 0px;
	}
	.footer-link-sm a {
		margin-right: 12px;
	}
	.footer-copy {
		text-align: left;
		font-size: 10px;
	}
	.fixed-title-common-form {
		font-size: 1.3rem;
		margin-bottom: 15px;
		margin-top: 15px;
	}
	.fixed-title-common-form>.explain {
		font-size: 0.7rem;
	}
	.title-form-common-member {
		font-size: 1.3rem;
	}
	.text-btn-back {
		margin-left: 0px;
	}
	.btn-submit-common, .btn-back-common {
		font-size: 12px;
	}
	.container-wapper-infoMember {
		padding: 0 10px;
	}
	.title-form-common-member {
		margin-bottom: 1rem;
	}
	.label-filed-form-common {
		font-size: 12px;
	}
	input[type="checkbox"] {
		width: 14px;
		height: 14px;
	}
	.label-note-common{
		font-size: 11px;
	}
	.label-field-bold {
		font-size: 12px;
	}
	.col-form-label-sm{
		font-size: 12px;
	}
	.container-component input, select, textarea{
		font-size: 12px !important;
	}
	.container-component .form-control{
		font-size: 12px;
	}
	.checkbox-text{
		font-size: 12px;
	}
	.ms-options-wrap > button > span { 
		font-size: 12px;
	}
	.text-note{
		font-size: 10px;
	}
	.text-note-description{
		font-size: 10px;
	}
	.container-fluid-banner{
		background: inherit;
	}
	.component-infomation label,
	.component-infomation span	{
		font-size: 12px;
	}
	.input-require::after {
		position: initial;
	}
}
@media screen and (max-width: 768px) {
	.container {
		width: 95%;
		padding: 0;
	}
	#flow ul li {
		width: 100%;
		margin-bottom: 100px;
		display: flex;
	    flex-wrap: wrap;
	    justify-content: space-around;
	}
	#flow ul li:last-child {
		margin-bottom: 40px;
	}
	#flow a.flow_btn {
		width: 100%;
	}
	.nav-logoMenu {
		display: none;
	}
	#intro .catch p {
		font-size: 20px;
	}
	.sec_ttl {
		font-size: 21px;
		margin-bottom: 40px;
	}
	.sec_ttl small {
		font-size: 16px;
	}
	br.pc {
		display: none;
	}
	#flow h2.flow_ttl:before,
	#flow h2.flow_ttl:after {
		width: 27%;
	}
	#flow ul li span {
		font-size: 60px;
		width: 100%;
		display: block;
	}
	
	#flow ul li figure {
		width:100%;
		order: 3;
		margin: 15px 0;
		text-align:center;
	}
	#flow ul li figure img {
		width:30%;
	}
	#flow ul li p {
		text-align: center;
		padding-top: 10px;
		order: 2;
	}
	#flow ul li b {
		min-height: auto;
		order: 1;
		display: block;
		width: 100%;
		font-size: 20px;
		padding-top: 5px;
	}
	#flow ul li figure:after {
		width: 40px;
		top:inherit;
		bottom: -70px !important;
		left: 0;
		right: 0;
		border-width: 21px 20px 0 20px;
		border-color: #ffffff transparent transparent transparent;
	}
	#flow ul li:nth-child(3) figure:after {
		bottom: -160%;
	}
	#flow {
		padding: 40px 0;
	}
	br.sp {
		display: block;
	}
}
@media screen and (max-width: 375px) {
	
	#flow ul li figure img {
		width:50%;
	}
}
