@charset "utf-8";

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video,input,textarea,select {
	margin: 0;
	padding: 0;
	vertical-align: baseline;
	text-decoration: none;

	-webkit-text-size-adjust: 100%;
	list-style: none;
	letter-spacing: 1;
}

q, 
blockquote {
    quotes: "\201C" "\201D" "\2018" "\2019";
}

.clearfix:after {
	content: "."; 
	display: block;
	height: 0;
	font-size: 0;
	clear: both;
	visibility: hidden;
}
* html .clearfix { height: 1%; }
.clearfix{ display:block; }

html {
	font-size:100%;
	-ms-text-size-adjust:100%;
	-webkit-text-size-adjust:100%
	font-weight: 300;
}
a {
	color: #5f5853;
	text-decoration: none;
}
a:hover {
	opacity: 0.8;
}

/*--------------------------------------------------------------------------------------
 common
--------------------------------------------------------------------------------------*/

body {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;

	font-weight: medium;
	-webkit-font-smoothing: antialiased;
	font-size: 16px;
	margin: 0;
	padding: 0;
	color: #5f5853;
}

#wrapper {
	width: 100%;
	padding: 0;
}
.wrap {
	width: 100%;
	position: relative;
	margin: 0 auto;
	padding: 0;
}

@media screen and (min-width:1200px){
	.wrap {
		width: 1200px;
		padding: 0;
	}
}


@media screen and (max-width:1200px){
	.sp-only {
		display: block;
	}
	.sp_nav {
		display: block;
	}
	.pc-only {
		display: none;
	}
	.pc_nav {
		display: none;
	}
}
@media screen and (min-width:1200px){
	.sp-only {
		display: none;
	}
	.sp_nav {
		display: none;
	}
	.pc-only {
		display: block;
	}
	.pc-only.inline {
		display: inline;
	}
	.pc_nav {
		display: block;
	}
}

/*--------------------------------------------------------------------------------------
 header
--------------------------------------------------------------------------------------*/

header {
	position: fixed;
	width: 100%;
	margin: 0 auto;
	background: #fff;
	z-index: 1000;
	box-shadow: 0 0 5px 0 gray;
}

.nav_container {
	position: fixed;
	width: 100%;
	height: 100%;
	margin: 0 auto;
	z-index: 10;
}
.nav_content {
	position: relative;
	display: none;
	height: 100%;
	overflow-y: auto;
}

.nav_container *::-webkit-scrollbar{
	width: 1px;
}
.nav_container *::-webkit-scrollbar-track {
	background-color: #ccc;
}
.nav_container *::-webkit-scrollbar-thumb {
	background-color: #ddd;
}

.nav_content .mini label {
	font-size: 10px;
	margin-left: 2px;
}

.pc_nav .tel_link {
	float: right;
}
.pc_nav .tel_link a {
	display: table;
	background: #1c1c1c;
	height: 50px;
	padding: 0 25px;
}
.pc_nav .tel_link a span {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	cursor: pointer;
}
.pc_nav .tel_link p {
	color: #fff;
	font-size: 14px;
	line-height: 1;
	padding-top: 2px;
}
.pc_nav .tel_link label {
	color: #fff;
	font-size: 8px;
	cursor: pointer;
	line-height: 1;
}


.pc_nav {
	padding-left: 500px;
	height: 110px;
	background: #fff;
}
.pc_nav ul {
	display: table;
	width: 100%;
}
.pc_nav ul li {
	display: table-cell;
	height: 60px;
	width: 25%;
}
.pc_nav ul li a {
	display: table;
	height: 40px;
	margin: 10px 0;
	width: 100%;
	border-left: 1px solid #ddd;
}
.pc_nav ul li:last-child a {
	border-right: 1px solid #ddd;
}
.pc_nav ul li a label {
	display: table-cell;
	height: 40px;
	width: 100%;
	vertical-align: middle;
	text-align: center;
	cursor: pointer;
}

.pc_nav li {
	position: relative;
}
.pc_nav li table {
	display: none;
	position: absolute;
	top: 60px;
	left: 0;
	width: 220px;
}

.pc_nav li:hover a {
	background: #fafaf8;
	font-weight: bold;
}


.nav_btn {
	position: absolute;
	background: #fff;
	cursor: pointer;
	width: 80px;
	height: 80px;
	top: 0;
	right: 0;
}
.nav_btn span {
	display: inline-block;
	transition: all .4s;
	position: absolute;
	left: 23px;
	height: 2px;
	background: #5F5853;
	width: 42%;
}
.nav_btn span:nth-of-type(1) {
	top: 21px;
}
.nav_btn span:nth-of-type(2) {
	top: 29px;
}
.nav_btn span:nth-of-type(3) {
	top: 37px;
}
.nav_btn span:nth-of-type(3)::after {
	content: "Menu";
	position: absolute;
	top: 7px;
	left: 0;
	color: #5F5853;
	font-size: 11px;
	font-weight: bold;
	text-transform: uppercase;
}

.nav_btn.active span:nth-of-type(1) {
	top: 26px;
	left: 26px;
	transform: translateY(6px) rotate(-45deg);
	width: 36%;
}
.nav_btn.active span:nth-of-type(2) {
	opacity: 0;
}
.nav_btn.active span:nth-of-type(3){
	top: 38px;
	left: 26px;
	transform: translateY(-6px) rotate(45deg);
	width: 36%;
}
.nav_btn.active span:nth-of-type(3)::after {
	content: "Close";
	transform: translateY(0) rotate(-45deg);
	top: 8px;
	left: 12px;
}

.nav_content {
	background: #fafaf8;
	padding: 120px 20px 0;
	width: calc( 100% - 40px );
}
.nav_content ul {
	max-width: 600px;
	margin: 0 auto;
}
.nav_content li {
	width: 100%;
	position: relative;
	border-bottom: 1px solid #e0e0e0;
	font-weight: bold;
}
.nav_content li a {
	display: block;
	padding: 20px 0;
}

.nav_content li i {
	display: inline-block;
	color: #b49c73;
	line-height: 1;
	position: absolute;
	top: 22px;
	right: 0px;
	width: 20px;
	height: 20px;
	border: 0.1em solid currentColor;
	background: currentColor;
	border-radius: 50%;
	box-sizing: content-box;
}

.nav_content li i::before {
	content: '';
	color: #fff;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent;
	border-width: 3.5px 5px;
	border-left-color: currentColor;
	border-right: 0;
	transform: translateX(15%);
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}


@media screen and (max-width:1200px){
	header {
		height: 80px;
	}
	.logo_block {
		height: 80px;
	}
	.logo_block img {
		width: 180px;
		padding: 20px 20px 15px;
	}
}

@media screen and (min-width:1200px){
	header {
		height: 110px;
	}
	.logo_block {
		position: absolute;
		left: 0;
		top: 20px;
		padding: 10px 30px 10px;
	}
	.logo_block img {
		width: 240px;
	}

	.nav_container {
		padding-top: 110px;
		height: 450px;
	}
}




/*--------------------------------------------------------------------------------------
 main_content
--------------------------------------------------------------------------------------*/

.main_content {
	z-index: 1;
}

@media screen and (max-width:1200px){
	.main_content {
		padding-top: 80px;
	}
}

@media screen and (min-width:1200px){
	.main_content {
		padding-top: 110px;
	}
}

.bg01 {
	background: #fafaf8;
	position: relative;
	width: 100%;
}
.bg02 {
	background: #fff;
	position: relative;
	width: 100%;
}

/*--------------------------------------------------------------------------------------
 footer
--------------------------------------------------------------------------------------*/

.footer {
	width: 100%;
}
.footer .logo {
	text-align: center;
}
.footer .logo img {
	width: 124px;
}
.footer h1 {
	font-size: 13px;
	text-align: center;
	font-weight: normal;
	margin: 15px 0 20px;
}
.footer p.tel {
	font-size: 13px;
	text-align: center;
	margin: 0 0 35px;
}

.footer .instagram {
	text-align: center;
	margin-bottom: 50px;
}
.footer .instagram a {
	display: block;
}
.footer .instagram img {
	width: 20px;
}
.footer .instagram p {
	color: #b49c73;
	font-family: Inter;
	font-size: 13px;
	font-weight: bold;
}
.footer p.copy {
	font-size: 13px;
	text-align: center;
}

@media screen and (max-width:800px){
	.footer {
		padding: 50px 0 80px;
	}
}

@media screen and (min-width:800px){
	.footer {
		padding: 80px 0 120px;
	}
}


.btn--primary {
    background-color: #1A60A3;
    color: white;
    box-shadow: 2px 2px 2px #cdd1d3;
    transition: .2s
}

.btn--primary:hover {
    background: #2075c6
}

.btn--secondary {
    background-color: #124370;
    color: white;
    box-shadow: 2px 2px 2px #cdd1d3;
    transition: .2s
}

.btn--secondary:hover {
    background: #185893
}















.alert {
    border-radius: 2px;
    margin-bottom: 2.4rem
}

.alert--info {
    background-color: #F1F8FF;
    border: 1px solid #DBE6F1
}

.alert--info a {
    color: #2573BC
}

.alert--attention {
    background-color: #FFF9EB;
    border: 1px solid #EFE4CC
}

.alert--attention a {
    color: #F78601
}

.alert__head {
    line-height: 1;
    position: relative
}

.alert__head a {
    display: block;
    padding: 1.4rem 1.6rem;
    text-decoration: none
}

.alert__head a:hover::after {
    position: absolute;
    content: '';
    display: block;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(255,255,255,0.1)
}

.alert--errorMsg {
    color: #f20000;
    background-color: #fff3f3;
    border: 1px solid #f5dfdf;
    text-align: center;
    padding: .8rem
}

.alert--errorMsg a {
    color: #ff0000
}

.alert__body {
    width: auto;
    margin: 0 1.6rem 1.5rem;
    background-color: #fff;
    border-radius: 2px;
    padding: 2.4rem;
    border: 1px solid #EFE4CC
}

.alert+table {
    margin-bottom: 2.4rem
}

.alert--errorMsg {
    background-color: #fff3f3;
    border: 1px solid #f5dfdf;
    color: #ff0000;
    text-align: center;
    padding: 1rem 1.6rem
}

.alert--errorMsg a {
    color: #ff0000
}

.alertMsg {
    color: #ff0000;
    font-weight: bold;
    display: inline-block
}

.btn {
    position: relative;
    cursor: pointer;
    display: inline-block;
    box-sizing: border-box;
    border: none;
    border-radius: 2px;
    text-align: center;
    font-weight: bold;
    background-color: #fff;
    transition: background-color 1s;
    line-height: 1
}

a.btn {
    text-decoration: none !important
}

.btn i {
    font-size: 1.6rem
}

.btn:hover {
    box-shadow: 0 0 0
}

.btn--primary {
    background-color: #1A60A3;
    color: white;
    box-shadow: 2px 2px 2px #cdd1d3;
    transition: .2s
}

.btn--primary:hover {
    background: #2075c6
}

.btn--secondary {
    background-color: #124370;
    color: white;
    box-shadow: 2px 2px 2px #cdd1d3;
    transition: .2s
}

.btn--secondary:hover {
    background: #185893
}

.btn--outline {
    border: 1px solid #1A60A3;
    background-color: #fff;
    font-weight: normal;
    color: #1A60A3;
    box-shadow: 2px 2px 2px #cdd1d3;
    transition: .2s
}

.btn--outline:hover {
    background: #eef5fc
}

.btn--md {
    min-width: 300px;
    padding: 1.7rem 1.6rem
}

.btn--sm {
    min-width: 136px;
    font-size: 1.2rem;
    padding: 1.1rem 1.6rem
}

.btnWrap--back .btn--auto {
    padding: 1.1rem 1.6rem
}

.btn--auto {
    padding: 1.7rem 1.6rem;
    width: auto
}

.btn--wauto {
    width: auto;
    min-width: auto
}

.btn--disabled {
    background-color: #dde0e2;
    color: #979a9b;
    cursor: default
}

.btn--primary.btn--disabled {
    box-shadow: 0 0
}

.btn--primary.btn--disabled:hover {
    background: #dde0e2
}


.btnWrap {
    text-align: center;
    margin-top: 4rem
}

.btnWrap .btn {
    margin-left: .8rem;
    margin-right: .8rem
}

.btnWrap--back {
    text-align: left
}

.btnWrap--back .btn::before {
    content: '\e925';
    display: inline-block
}

*+.btnWrap {
    margin-top: 2.4rem
}

.ul {
    margin: 0 0 1em 1.5em;
    list-style: disc outside
}

.ul--margin>li {
    margin-bottom: 1em
}

.ol {
    margin: 0 0 1em 1.5em;
    list-style: decimal outside
}

.ol--lowerRoman {
    list-style-type: lower-roman
}

.ol--margin>li {
    margin-bottom: 1em
}

.list li:before {
    content: '繝ｻ'
}

.table {
    width: 100%;
    border-bottom: 1px solid #9BB4CC
}

.table tr th,.table tr td {
    text-align: left;
    vertical-align: middle;
    border-top: 1px solid #9BB4CC;
    padding: 1.6rem .8rem;
    position: relative;
	font-size: 14px;
}

.table tr th {
    width: 30%;
    white-space: nowrap;
    padding-left: 1.6rem
}

.table tr td {
    min-height: 50px;
    width: auto
}

.table thead th {
    padding: .8rem;
    font-size: 1.2rem;
    text-align: left;
    white-space: nowrap;
    border-top: 0
}

.table tbody tr td:first-child {
    padding-left: 1.6rem
}

.table tbody tr td:last-child {
    padding-right: 1.6rem
}


input {
    font-size: 14px;
    border-radius: 2px;
    padding: 1.3rem 1.6rem;
    margin-right: .4rem;
    line-height: 1;
    border: 1px solid #9BB4CC
}

select {
    font-size: 14px;
    padding: 1.4em 1.6rem;
    margin-right: .4rem;
    line-height: 1
}

textarea {
    border-radius: 2px;
    padding: 1.3rem 1.6rem;
    border: 1px solid #9BB4CC;
    line-height: 1.8
}

label.select select:focus,input:focus,textarea:focus {
    border: 1px solid #1A60A3
}

label.select select:hover,input:hover,textarea:hover {
    border: 1px solid #1A60A3
}

input[type=radio],input[type=checkbox] {
    display: none
}

.radio {
    box-sizing: border-box;
    -webkit-transition: background-color 0.2s linear;
    transition: background-color 0.2s linear;
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 1rem 1.6rem 1rem 3.8rem;
    border-radius: 2px;
    border-color: #ABBFD1;
    vertical-align: middle;
    cursor: pointer
}

.radio:hover:after {
    border-color: #1A60A3
}

.radio:after {
    -webkit-transition: background-color 0.2s linear;
    transition: border-color 0.2s linear;
    position: absolute;
    top: 50%;
    left: 0.9rem;
    display: block;
    margin-top: -10px;
    width: 2rem;
    height: 2rem;
    border: 2px solid #ABBFD1;
    border-radius: 10rem;
    content: ''
}

input[type="radio"]:checked+.radio {
    background-color: #e5f0fa
}

input[type="radio"]:checked+.radio:after {
    border-color: #1A60A3
}


.radio:before {
    -webkit-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
    position: absolute;
    top: 50%;
    left: 1.4rem;
    display: block;
    margin-top: -5px;
    width: 1rem;
    height: 1rem;
    border-radius: 10rem;
    background-color: #1A60A3;
    content: '';
    opacity: 0
}

input[type="radio"]:checked+.radio:before {
    opacity: 1
}

.checkbox {
    box-sizing: border-box;
    -webkit-transition: background-color 0.2s linear;
    transition: background-color 0.2s linear;
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 1rem 1.6rem 1rem 4.4rem;
    border-radius: 2px;
    border-color: #ABBFD1;
    vertical-align: middle;
    cursor: pointer
}

.checkbox:hover {
    border-color: #1A60A3;
    background-color: #e5f0fa
}

.checkbox:hover:after {
    border-color: #1A60A3
}

.checkbox:after {
    -webkit-transition: border-color 0.2s linear;
    transition: border-color 0.2s linear;
    position: absolute;
    top: 50%;
    left: 1.5rem;
    display: block;
    margin-top: -10px;
    width: 1.9rem;
    height: 1.9rem;
    border: 2px solid #ABBFD1;
    border-radius: 2px;
    content: ''
}

input[type="checkbox"]:checked+.checkbox {
    background-color: #e5f0fa
}

input[type="checkbox"]:checked+.checkbox:after {
    border-color: #1A60A3;
    background-color: #1A60A3
}

.checkbox:before {
    -webkit-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
    position: absolute;
    top: 50%;
    left: 2.1rem;
    display: block;
    margin-top: -1rem;
    width: .7rem;
    height: 1.6rem;
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;
    content: '';
    opacity: 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    z-index: 100
}

input[type=checkbox]:checked+.checkbox:before {
    opacity: 1
}

.checkbox--outline {
    border: 1px solid #9BB4CC;
    padding: .8rem .8rem .8rem 4.2rem
}

label.select {
    position: relative;
    box-sizing: border-box;
    width: auto
}

label.select select {
    cursor: pointer;
    padding: 1.4rem 4rem 1.4rem 1rem;
    border: 1px solid #9BB4CC;
    border-radius: 2px;
    font-size: 1.4rem
}

label.select::after {
    pointer-events: none;
    content: "";
    display: block;
    width: .8rem;
    height: 0.8rem;
    position: absolute;
    right: 2rem;
    top: 40%;
    border-bottom: #9BB4CC 2px solid;
    border-right: #9BB4CC 2px solid;
    transform: rotate(45deg) translateY(-30%)
}

label.select select:hover,label.select select:focus {
    border: 1px solid #1A60A3
}

select::-ms-expand {
    display: none
}

.formparts--xxs {
    width: 3rem
}

.formparts--xs {
    width: 100px
}

.formparts--s {
    width: auto
}

.formparts--sm {
    width: 240px
}

.formparts--m {
    width: 300px
}

.formparts--ml {
    width: 80%
}

.formparts--l {
    width: 100%
}

.formparts--year {
    width: 120px
}

.formparts--creditNumber {
    width: 280px
}

.formparts--month,.formparts--day {
    width: 80px
}

input.isError {
    background-color: #ffdfdf;
    border-color: #e10000
}

input.isValid {
    border-color: #1A60A3;
    background-color: #e5f0fa
}

.formMsg {
    margin: .4rem 0 0
}

.formMsg__valid {
    color: #2573BC
}

.formMsg__attention {
    color: #F78601
}

.formMsg__error {
    color: #e10000
}


.label--free {
    margin-left: 1rem;
    padding: 0.3rem 0.7rem;
    background-color: #eee;
    border-radius: 2px;
    color: #333;
    font-size: 1.1rem;
    font-weight: normal
}



.ninniBadge {
    position: absolute;
    right: 0rem;
    font-size: 14px;
    font-weight: normal;
    margin-left: 1rem;
    padding: .1rem .4rem;
    border-radius: 2px;
    color: #fff;
    background-color: #999
}

.hissuBadge {
    font-size: 14px;
    font-weight: normal;
    margin-left: 1rem;
    padding: .1rem .4rem .2rem;
    border-radius: 2px;
    color: #fff;
    background-color: #A3312A;
    position: absolute;
    right: 0rem
}

input::placeholder {
    color: #9CADBC
}

input:-ms-input-placeholder {
    color: #9CADBC
}

input::-ms-input-placeholder {
    color: #9CADBC
}

input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px #fff inset;
    border-color: 1px solid #1A60A3
}

input,select {
    vertical-align: middle;
	font-size: 14px;
}

input,select,textarea {
    margin: 0;
    padding: 0;
    background: #fff;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    color: #333940
	font-size: 14px;
}

.contents {
    width: 1000px;
    margin-left: auto;
    margin-right: auto
}

.contents.xdriveCp {
    margin-top: 110px
}

.contents.cp18th,.contents.otoshidama2022 {
    margin-top: 60px
}

@media only screen and (min-width: 0) and (max-width: 1259px) {
    .contents {
        margin-left:auto;
        margin-right: auto
    }
}

@media only screen and (min-width: 1480px) {
    .contents {
        margin-left:auto;
        margin-right: auto
    }
}


.section {
    margin-bottom: 5.6rem
}

.section--s {
    margin-bottom: 2.4rem
}

.endMsg {
    margin-bottom: 4rem
}






.kubun_type {
	box-sizing: border-box;
	-webkit-transition: background-color 0.2s linear;
	transition: background-color 0.2s linear;
	display: inline-block;
	margin: 0;
	padding: 1rem;
	vertical-align: middle;
	text-align: center;
	width: 200px !important;
	max-width: 200px !important;
}

.kubun_type.on {
	background-color: #e5f0fa
}
.member .kubun_type.on {
	background-color: #FAE7F0
}

.kubun_type.l {
	text-align: left;
	width: 180px !important;
}
.kubun_type.lc {
	width: 90px !important;
}
.kubun_type.ll {
	width: 250px !important;
	max-width: 250px !important;
}
.kubun_type.off {
	color: #ccc;
}


/* .formContents
----------------------------------------------------------------------------------------------*/
.formContents {
	width: 100%;
	max-width: 600px;
	margin: 0 auto;
	
}
.formContents .formBody {
}
.formContents .formBody dl {
	padding-bottom: 15px;
}
.formContents .formBody dt {
	position: relative;
	padding: 10px;
	padding-left: 50px;
}
.formContents .formBody dt span {
	right: auto;
	left: -15px;
}

.formContents input {
	font-size: 1.6rem;
    border-radius: 2px;
    padding: 12px;
    margin-right: .4rem;
    line-height: 1;
    border: 1px solid #9BB4CC
}

.formContents select {
	font-size: 1.6rem;
    padding: 12px;
    margin-right: .4rem;
    line-height: 1;
	color: #000;
}

.formContents textarea {
	font-size: 1.6rem;
    border-radius: 2px;
    padding: 12px;
    border: 1px solid #9BB4CC;
    line-height: 1.8
}



.main_block {
	position: relative;
}
.main_img {
	height: 150px;
	width: 100%;
	z-index: 0;
}
.main_img img {
	height: 150px;
	width: 100%;
	object-fit: cover;
	opacity: 1;
}

.main_block.top section {
	position: relative;
}

.main_block.top .main_img {
	height: 500px;
}
.main_block.top .main_img img {
	height: 500px;
}

.main_block.top section .bg {
	position: absolute;
	z-index: 1;
	top: 100px;
	left: 0;
	background: rgba( 255, 255, 255, .8);

	width: 50%;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	height: 300px;
}

.main_block.top section .catch {
	position: absolute;
	z-index: 2;
	top: 160px;
	right: 60%;
}

.main_block.top section .block {
	width: calc( 100% - 40px );
	max-width: 500px;
	padding-left: 40px;
}

.main_block.top section h2 {
	font-size: 30px;
	font-weight: 600;
	margin-bottom: 25px;
	text-shadow:2px 2px 0 #FFF, -2px -2px 0 #FFF,-2px 2px 0 #FFF, 1px -2px 0 #FFF,0px 2px 0 #FFF, 0 -2px 0 #FFF, -2px 0 0 #FFF, 2px 0 0 #FFF;
}

.main_block.top section p {
	font-size: 16px;
	font-weight: 600;
	text-shadow:2px 2px 0 #FFF, -2px -2px 0 #FFF,-2px 2px 0 #FFF, 1px -2px 0 #FFF,0px 2px 0 #FFF, 0 -2px 0 #FFF, -2px 0 0 #FFF, 2px 0 0 #FFF;
}

@media screen and (max-width:1100px){
	.main_block.top section .bg {
		width: 60%;
	}
	.main_block.top section .catch {
		right: 50%;
	}
}

@media screen and (max-width:900px){
	.main_block.top section .bg {
		width: 70%;
	}
	.main_block.top section .catch {
		right: 40%;
	}
}

@media screen and (max-width:700px){
	.main_block.top section .bg {
		width: 80%;
	}
	.main_block.top section .catch {
		right: 30%;
	}
}

@media screen and (max-width:600px){
	.main_block.top section .bg {
		width: 90%;
	}
	.main_block.top section .catch {
		right: 20%;
	}
}

@media screen and (max-width:500px){
	.main_block.top section .bg {
		width: 100%;
		top: 60px;
		height: 200px;
	}
	.main_block.top section .catch {
		right: 0;
		left: 20px;
		top: 85px;
	}
	.main_block.top section .block {
		width: calc( 100% - 10px );
		padding-left: 10px;
	}

	.main_block.top .main_img {
		height: 320px;
	}
	.main_block.top .main_img img {
		height: 320px;
	}

	.main_block.top section  h2 {
		font-size: 26px;
	}
	.main_block.top section p {
		font-size: 14px;
	}

}

#service,
#company {
	margin-top: -110px;
	padding-top: 110px;
}

.section .wrap {
	padding: 40px 0 40px;
}

@media screen and (max-width:1200px){
	.section .wrap {
		padding: 40px 25px 40px;
		width: calc( 100% - 50px );
	}
}

.section h2 {
	font-size: 28px;
	font-weight: 600;
	position: relative;
	margin-bottom: 0;
	border-bottom: 2px solid #116b9a;
	padding-right: 10px;
	margin-bottom: 15px;
}

.section h2 label {
	font-size: 16px;
	font-weight: 600;
	margin-left: 15px;
	color: #116b9a;
}
