@charset "UTF-8";

@font-face {
	font-family: "Noto Sans JP";
	font-style: normal;
	font-weight: 400;
	src: url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff2) format('woff2'), url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff) format('woff'), url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.otf) format('opentype');
	font-display: swap;
}

@font-face {
	font-family: "Noto Sans JP";
	font-style: normal;
	font-weight: 700;
	src: url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Bold.woff2) format('woff2'), url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Bold.woff) format('woff'), url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Bold.otf) format('opentype');
	font-display: swap;
}

/*============================================================
common
==============================================================*/
*, *::before, *::after {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
html {
	font-size: 62.5%;
    overflow: auto;
}
body {
	font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, sans-serif;
	font-size: 1.4rem;
    color: #000;
    overflow: hidden;
}
a {
    color: #000;
}
img {
	display: block;
    width: auto;
    height: auto;
	max-width: 100%;
	margin: auto;
}
input, button, textarea, select {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}
ul {
	list-style: none;
}
.cf::after {
    content: "";
    display: block;
    clear: both;
}
.center {
	text-align: center;
}
.left {
	float: left;
}
.right {
	float: right;
}
.pc {
	display: inherit;
}
.sp {
	display: none;
}
.inner {
	margin: auto;
    padding: 0 20px;
}
.law_inner {
    max-width: 1000px;
    margin: auto;
    padding: 0 20px;
}
.text {
    line-height: 1.5;
}
.red {
    color: red;
}
/*============================================================
header
==============================================================*/
header {
    position: fixed;
    height: 70px;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    background: #fff;
    z-index: 10;
}
.header_inner {
    max-width: 1000px;
    margin: auto;
}
.header_logo {
    float: left;
    width: 138px;
    margin: 10px 0;
}
.header_tel {
    float: right;
    width: 299px;
    margin: 12px 0;
}

/*============================================================
content
==============================================================*/
.main {
    margin-top: 70px;
}
#section01 {
    height: 700px;
    background: url(../img/section01_bg.jpg) no-repeat center;
}
.section01_img {
    padding-top: 30px;
}
#section02 {
    background: url(../img/section02_bg.png);
}
.section02_ttl-bg {
    height: 346px;
    background: url(../img/section02_ttl-bg.png) no-repeat center bottom;
}
.section02_ttl-bg .inner {
    position: relative;
    max-width: 1000px;
}
.section02_ttl {
    padding-top: 30px;
}
.section02_ttl-img {
    position: absolute;
    top: -40px;
    right: -106px;
}
.section02_img {
    margin-top: 30px;
    margin-right: -60px;
}
.section03_ttl-bg {
    position: relative;
    height: 386px;
    top: -40px;
    margin-bottom: -40px;
    background: url(../img/section03_ttl-bg.png) no-repeat center top;
}
.section03_ttl {
    padding-top: 80px;
}
.section03_bg {
    height: 928px;
    background: url(../img/section03_bg.jpg) no-repeat center bottom;
}
#section04 {
    height: 1154px;
    background: url(../img/section04_bg.jpg) no-repeat center bottom / cover;
}
.section04_img {
    position: relative;
    top: -90px;
}
.section05_ttl-bg {
    background: url(../img/section05_ttl-bg.jpg) no-repeat center / cover;
}
.section05_bg {
    padding: 50px 0;
    text-align: center;
    background: url(../img/section05_bg.jpg);
}
.section05_img {
    position: relative;
    display: inline-block;
}
.section05_img02 {
    position: absolute;
    top: 68px;
    left: -150px;
}
.section05_img03 {
    position: absolute;
    top: 255px;
    right: -234px;
}
.section06_ttl {
    padding: 23px 0;
}
.section06_img {
    padding-top: 30px;
    margin-left: -160px;
}
.section06_bg {
    height: 780px;
    background: url(../img/section06_bg.jpg) no-repeat center bottom / cover;
}
#section07 {
    background: url(../img/section07_bg.png);
}
.section07_ttl-bg {
    height: 645px;
    background: url(../img/section07_ttl-bg.png) no-repeat center bottom / cover;
}
.section07_ttl {
    padding-top: 60px;
}
.section07_img {
    margin-top: -20px;
    margin-right: -100px;
}
#section08 {
    background: url(../img/section08_bg.png);
}
.section08_ttl-bg {
    height: 616px;
    background: url(../img/section08_ttl-bg.png) no-repeat center bottom / cover;
}
.section08_img {
    margin-top: 50px;
}
#section09 {
    background: url(../img/section09_bg.png);
}
.section09_img {
    position: relative;
    top: -70px;
    margin-bottom: -70px;
    margin-right: -40px;
}
#section10 {
    height: 854px;
    background: url(../img/section10_bg.jpg) no-repeat center / cover;
}
.section10_img {
    position: relative;
    top: -138px;
    margin-bottom: -138px;
    margin-left: -100px;
}
#section11 {
    padding: 60px 0;
    background: url(../img/section09_bg.png);
}
.section11_ttl {
    margin-bottom: 20px;
}
#section12 {
    padding: 60px 0;
    background: url(../img/section12_bg.png);
}
.section12_ttl {
    margin-bottom: 50px;
}
#section13 {
    padding: 60px 0 1px;
    background: url(../img/section13_bg.png);
}
.section13_box {
    max-width: 910px;
    margin: 0 auto 60px;
    padding: 60px 30px;
    font-size: 2rem;
    background: #fff;
    border: 2px solid #000;
    border-radius: 10px;
    line-height: 1.5;
}
.section13_ttl01 {
    width: 438px;
    max-width: 100%;
    margin: 0 auto 50px;
}
.section13_ttl02 {
    width: 182px;
    max-width: 100%;
    margin: 0 auto 50px;
}
.section13_img {
    display: inline-block;
    margin: 20px auto;
}

/*============================================================
cta
==============================================================*/
.cta {
    padding: 60px 0 30px;
    text-align: center;
    background: url(../img/cta_bg.jpg);
}
.cta_ttl {
    margin-bottom: 60px;
}
.cta_box {
    position: relative;
    display: inline-block;
    text-align: center;
    margin-bottom: 30px;
}
.cta_btn {
    position: absolute;
    width: 916px;
    bottom: 24px;
    left: 0;
    right: 0;
    margin: auto;
    transition: .2s ease;
    cursor: pointer;
}
.bounce {
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
    -webkit-animation: bounce 2s ease-in-out infinite;
    animation: bounce 2s ease-in-out infinite;
}
@-webkit-keyframes bounce {
  5%  { -webkit-transform: scale(1.1, .8); }
  10% { -webkit-transform: scale(.8, 1.1) translateY(-5px); }
  15% { -webkit-transform: scale(1, 1); }
}
@keyframes bounce {
  5%  { transform: scale(1.1, .8); }
  10% { transform: scale(.8, 1.1) translateY(-5px); }
  15% { transform: scale(1, 1); }
}
.cta_btn:hover {
    opacity: .5;
}
.btn04 {
    bottom: 58px;
}
.btn05 {
    width: 360px;
    bottom: 62px;
    left: auto;
    right: 30px;
}
.btn06-1, .btn07-1 {
    width: 454px;
    left: 25px;
    right: auto;
}
.btn06-2, .btn07-2 {
    width: 454px;
    left: auto;
    right: 25px;
}
.btn08, .btn10 {
    position: static;
	width: 100%;
}
.btn08 img {
    transition: .2s ease;
}
.btn08:hover img {
    opacity: .5;
}
.teikibin_box {
    max-width: 1000px;
    margin: 0 auto 10px;
    text-align: left;
    font-size: 1.6rem;
}
.cta_box_teikibin {
    margin-bottom: 5px;
}
/*============================================================
law
==============================================================*/
.breadcrumb {
    margin-bottom: 30px;
}
#law {
    padding: 60px 0;
}
.law_ttl {
    width: 552px;
    max-width: 100%;
    margin: 0 auto 50px;
}
.law_tbl {
    width: 100%;
    font-size: 1.6rem;
    border-collapse: collapse;
}
.law_tbl th, .law_tbl td {
    padding: 20px;
    border: 1px solid #b5b5b5;
}
.law_tbl th {
	min-width: 200px;
    font-weight: normal;
    text-align: left;
    background: #f5f5f5;
}

/*============================================================
privacy
==============================================================*/
.privacy_h1 {
    margin-bottom: 50px;
    text-align: center;
    font-size: 3.2rem;
    font-weight: normal;
}
.privacy_ttl {
    font-size: 2rem;
    margin-bottom: 10px;
}
.privacy_txt {
    margin-bottom: 40px;
}

/*============================================================
footer
==============================================================*/
footer {
    padding: 20px 0;
    text-align: center;
    color: #fff;
    background: #373737;
    line-height: 2;
}
footer a {
    color: #fff;
    text-decoration: underline;
}
footer a:hover {
    text-decoration: none;
}
.footer_banner {
    position: fixed;
    width: 100%;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    background: rgba(0,0,0,0.5);
    transition: .3s ease;
    opacity: 1;
    z-index: 10;
}
.footer_banner.none {
    opacity: 0;
    pointer-events: none;
}
.footer_banner a {
    display: inline-block;
    margin-top: 5px;
}

/*============================================================
breakpoint 768px
==============================================================*/
@media screen and (max-width: 768px) {
	.pc {
		display: none;
	}
	.sp {
		display: inherit;
	}
	.left, .right {
		float: none;
	}
	.inner, .law_inner {
		width: 94%;
		margin: auto;
		padding: 0;
	}
    header {
        height: 50px;
    }
    .header_inner {
        padding: 0 10px;
    }
    .header_logo {
        width: 30%;
        max-width: 107px;
        margin: 5px 0;
    }
    .header_tel {
        width: 68%;
        max-width: 230px;
        margin: 6px 0;
    }
    .main {
        margin-top: 50px;
    }
    #section01 {
        height: auto;
        background: url(../img/sp/section01_bg.jpg) no-repeat center / cover;
    }
    .section01_img {
        padding: 20px 0;
    }
    .section02_ttl {
        padding-top: 20px;
    }
    .section02_ttl-bg {
        height: auto;
    }
    .section02_ttl-img {
        position: static;
        max-width: 50%;
        margin: auto;
        padding: 10px 0 20px;
    }
    .section02_img {
        margin-top: 15px;
        margin-right: -25px;
    }
    .section03_ttl-bg {
        height: auto;
    }
    .section03_ttl {
        padding: 50px 0 20px;
    }
    .section03_bg {
        height: auto;
    }
    .section03_img {
        padding-bottom: 40px;
    }
    #section04 {
        height: auto;
    }
    .section04_img {
        top: -8vw;
        padding-bottom: 56vw;
    }
    .section05_bg {
        padding: 25px 0;
    }
    .section05_img02 {
        top: 10vw;
        left: -8vw;
        width: 40vw;
    }
    .section05_img03 {
        top: 26vw;
        right: -16vw;
        width: 38vw;
    }
    .section06_bg {
        height: auto;
    }
    .section06_img {
        padding-top: 3vw;
        padding-bottom: 22vw;
        margin-left: 0;
        width: 80%;
    }
    .section07_ttl-bg {
        height: auto;
    }
    .section07_ttl {
        padding: 5vw 0 15vw;
    }
    .section07_img {
        margin-top: -1vw;
        margin-right: -10vw;
    }
    .section08_ttl-bg {
        height: auto;
    }
    .section08_ttl {
        padding-bottom: 15vw;
    }
    .section08_img {
        margin-top: 5vw;
    }
    .section09_img {
        top: -7vw;
        margin-bottom: -7vw;
        margin-right: -6vw;
    }
    #section10 {
        height: auto;
    }
    .section10_img {
        top: -14vw;
        margin-bottom: -14vw;
        margin-left: 0;
        padding-bottom: 4vw;
    }
    #section11, #section12 {
        padding: 30px 0;
    }
    .section12_ttl {
        margin-bottom: 25px;
    }
    #section13 {
        padding: 30px 0 1px;
    }
    .section13_box {
        margin: 0 auto 30px;
        padding: 30px 15px;
        font-size: 1.4rem;
    }
    .section13_ttl01 {
        margin: 0 auto 25px;
    }
    .section13_ttl02 {
        margin: 0 auto 25px;
    }
    .cta {
        padding: 30px 0 15px;
    }
	.cta_ttl {
		margin-bottom: 30px;
	}
    .cta_box {
        margin-bottom: 15px;
    }
    .cta_btn {
        bottom: 2vw;
        width: 94%;
    }
    .btn05 {
        bottom: 6vw;
        right: 3vw;
        width: 36%;
    }
    .btn06-1, .btn07-1 {
        left: 2vw;
        width: 46%;
    }
    .btn06-2, .btn07-2 {
        right: 2vw;
        width: 46%;
    }
    .btn08, .btn10 {
        width: 100%;
    }
    .teikibin_box {
        font-size: 1.2rem;
    }
    .cta_box_teikibin {
        margin-bottom: 0;
    }
    .breadcrumb {
        margin-bottom: 15px;
    }
    #law {
        padding: 30px 0;
    }
    .law_ttl {
        margin: 0 auto 25px;
    }
    .law_tbl {
        font-size: 1.4rem;
    }
    .law_tbl th, .law_tbl td {
        display: block;
        width: 100%;
        padding: 10px 5px;
    }
    .privacy_h1 {
        margin-bottom: 25px;
        font-size: 2.4rem;
    }
    .privacy_ttl {
        font-size: 1.6rem;
        margin-bottom: 10px;
    }
    .privacy_txt {
        margin-bottom: 20px;
    }
}