@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@400;500;800&display=swap');
html {
    font-size: 62.5%;/* 1rem=10px */
}

body {
    color: #151515;
    font-size: 1.6rem;
    font-family: 'M PLUS 1p', sans-serif;;
    font-weight: 400;
    line-height: 2;
}


@media screen and (min-width: 641px) {

.pc { display: block !important }
.sp { display: none !important }


/*-------------------------------

.inner

-------------------------------*/
.inner {
    width: 100%;
    margin: auto;
}


/*-------------------------------

header

-------------------------------*/
header {
    position: fixed;
    z-index: 9999;
    width: 100%;
    padding: 0 3vw;
    background: #ffffff;
}

header .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;    
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 80vw;
    max-width: 150rem;
    height: 10rem;
    padding: 1rem 0;
}

header .inner h1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 0;
}

header .inner h1 img {
    width: auto;
	max-width: 100%;
}

header .inner .contact {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    margin-left: auto;
}

header .inner .contact .tel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

header .inner .contact .mail {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-left: 2rem;
}

header .inner .contact .mail a {
    display: block;
    margin: auto;
    padding: 1rem 1rem 1rem 4rem;
    color: #ffffff;
    font-size: 1.4rem;
    line-height: 1;
    background: url("../images/common/icon_mail.png") no-repeat left 1rem center, #F88410;
}

header .inner .contact .mail a:hover {
    text-decoration: none;
    opacity: 0.8;
}

header .inner .contact .sns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

header .inner .contact .sns a {
    margin-left: 1rem;
}

header .inner .contact .sns a:hover {
    opacity: 0.8;
}



/*-------------------------------

main

-------------------------------*/
main {
	display: block;
    padding-top: 10rem;
}

main .inner {
    max-width: 80rem;
}

/*-------------------------------

section

-------------------------------*/
section {
}

/*-------------------------------
見出し
-------------------------------*/


/*-------------------------------
ボタン
-------------------------------*/
.btn_01 a {
    display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 300px;
	height: 60px;
    margin: auto;
	color: #ffffff;
	font-size: 18px;
	font-weight: 700;
	text-decoration: none;
    background: #F88410;
	border: 1px solid transparent;
	border-radius: 35px;
    transform: rotate(0.03deg);
}

.btn_01 a::before {
	content: '';
	position: absolute;
	top: -5px;
	left: -5px;
	width: 100%;
	height: 100%;
	background-color: transparent;
	border: 1px solid #333;
	border-radius: 35px;
}

.btn_01 a:hover {
    color: #f2f2f2;
    text-decoration: none;
    background: #f39800;
}


/*-------------------------------

#breadcrumb

-------------------------------*/
#breadcrumb {
    padding: 3rem 3vw 5rem;
}

#breadcrumb ul {
    width: 80vw;
    max-width: 150rem;
    margin: auto;
    padding: 0;
    list-style: none;
}

#breadcrumb li {
    display: inline-block;
    font-size: 1.4;
    transform: rotate(0.03deg);
}

#breadcrumb li a {
    color: #F88410;
}

#breadcrumb li a:hover {
    text-decoration: none;
}

#breadcrumb li a::after {
    content: ">";
    margin: 0 1rem;
    color: #151515;
}

/*-------------------------------

#mv

-------------------------------*/
#mv {
    position: relative;
    padding: 6rem 0 2rem;
    text-align: center;
    background: url("../images/top/mv_bg_01.png") no-repeat center bottom, #EFFDFF;
}

#mv h2 {
    margin: 0;
    color: #F88410;
    font-size: 4rem;
    font-weight: 800;
    text-align: center;
    line-height: 1.25;
}

#mv h2 span {
    font-size: 3rem;
}

#mv .mv-img figure img {
    max-width: 100%;
    margin: auto;
}

#mv .mv-img .slick-dots {
    bottom: 20px;
}

#mv .mv-img .slick-dots li button::before {
    color: #000000;
}

#mv .mv-img .slick-dots li.slick-active button::before {
    color: #F88410;
    opacity: 1;
}

#mv .mv-img .slick-dots li:hover button::before,
#mv .mv-img .slick-dots li.slick-active:hover button::before {
    color: #EA541D;
}

.slick-dotted.slick-slider {
    margin-bottom: 0;
}

#mv .btn_about {
    position: absolute;
    top: 6rem;
    left: calc(50% - 50rem);
    width: 287px;
    height: 300px;
    padding-top: 13rem;
    text-align: center;
    background: url("../images/top/mv_bg_02.png") no-repeat top center;
}

#mv .btn_about p {
    color: #3D3D3D;
    font-weight: 800;
    line-height: 1.375;
    transform: rotate(0.03deg);/* シャギー防止 */
}

#mv .btn_about p span {
    color: #EA541D;
}

#mv .btn_about a {
    display: inline-block;
    color: #3D3D3D;
    font-size: 1.4rem;
}

#mv .btn_about a::after {
    content: "→";
    display: inline-block;
    margin-left: 5px;
}

#mv .btn_about a:hover {
    color: #EA541D;
    text-decoration: none;
}


/*-------------------------------

#coordinater

-------------------------------*/
#coordinater {
    padding-bottom: 4rem;
    background: #fdf2d5;
}

#coordinater .inner {
    width: 80vw;
    max-width: 150rem;
    background: url("../images/top/photo_01.png") no-repeat right top 7rem;
}

#coordinater h2 {
    position: relative;
    margin: -2.5rem 0 2rem 0;
}

#coordinater h3 {
    margin: 0;
    padding: 4rem 0;
    color: #F88410;
    font-size: 4rem;
    font-weight: 800;
    text-align: center;
}

#coordinater h3 span {
    font-size: 3rem;
}

#coordinater .inbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

#coordinater .inbox .img {
    width: 15vw;
    max-width: 32rem;
    min-width: 22rem;
}

#coordinater .inbox .img img {
    width: 100%;
    border-radius: 50%;
}

#coordinater .inbox .text {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding-left: 2.5rem;
}

#coordinater .inbox .text p {
    font-size: 1.4rem;
    line-height: 1.67;
    transform: rotate(0.03deg);
}

#coordinater .inbox .text .name {
    font-size: 1.6rem;
    color: #3D3D3D;
}

#coordinater .inbox .text .name span {
    display: inline-block;
    color: #F88410;
}

#coordinater .inbox .text .btn_01 {
    margin-top: 4rem;
}


/*-------------------------------

#case

-------------------------------*/
#case {
    padding: 5rem 0;
}

#case .case-img {
    margin-bottom: 4rem;
}



/*-------------------------------

#voice

-------------------------------*/
#voice {
    padding: 5rem 0;
}

#voice h2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 3vw;
    margin-bottom: 3rem;
}

#voice h2 span {
    display: inline-block;
    height: 10rem;
    padding: 3rem 7rem 0 2rem;
    color: #3D3D3D;
    font-size: 2.6rem;
    text-align: center;
    font-weight: 800;
    background: url("../images/top/photo_02.png") no-repeat right -3rem top;
    box-sizing: border-box;
}

#voice .box {
    padding: 4.5rem 3rem;
}

#voice .box:nth-of-type(even) {
    background: #fdf2d5;
}

#voice .box .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 80vw;
    max-width: 150rem;
}

#voice .box .img {
    width: 47%;
    max-width: 558px;
}

#voice .box .text {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin: 0 0 0 6%;
}

#voice .box:nth-of-type(even) .img {
    order: 2;
}

#voice .box:nth-of-type(even) .text {
    order: 1;
    margin: 0 6% 0 0;
}

#voice .box .img img {
    max-width: 100%;
    border-radius: 2rem;
}

#voice .box .text h3 {
    color: #F88410;
    font-size: 2.2rem;
    font-weight: 800;
    line-height: 1.5;
}

#voice .box .text h3 span {
    display: inline-block;
}

#voice .box .text p {
    line-height: 1.67;
    transform: rotate(0.03deg);
}

#voice .box .text .name {
    color: #3D3D3D;
    font-size: 1.4rem;
}

#voice .box .text .name span {
    margin-right: 1em;
    color: #3D3D3D;
    font-size: 2.0rem;
    font-weight: 800;
}


/*-------------------------------

#problem

-------------------------------*/
#problem {
    margin-bottom: 10rem;
    background: url("../images/top/bg_top.jpg") repeat-x top left, url("../images/top/bg_bottom.jpg") repeat-x bottom left, #F88410;
}

#problem .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative;
    max-width: 90rem;
    height: 58rem;
    margin-bottom: 4rem;
    background: url("../images/top/photo_03.png") no-repeat right 15rem top / 15rem auto;
}

#problem .inner h2 {
    display: inline-block;
    padding: 4.5rem;
    color: #3D3D3D;
    font-size: 3rem;
    font-weight: 800;
    line-height: 1.5;
    background: #ffffff;
    border: 2px solid #525252;
    border-radius: 1.5rem;
}

#problem .inner .box {
    display: inline-block;
}

#problem .inner .box p {
    color: #3D3D3D;
    font-size: 1.8rem;
    font-weight: 800;
    text-align: center;
    line-height: 1.5;
    transform: rotate(0.03deg);
}

#problem .inner .box p span {
    color: #F88410;
}

#problem .inner .item_01 {
    position: absolute;
    top: 27rem;
    left: 8rem;
    width: 294px;
    height: 136px;
    padding-top: 8rem;
    background: url("../images/top/problem_bg_01.png") no-repeat top left / 100% auto;
}

#problem .inner .item_02 {
    position: absolute;
    top: 10rem;
    left: 0;
    right: 0;
    width: 240px;
    height: 189px;
    margin: 0 auto;
    padding-top: 9rem;
    background: url("../images/top/problem_bg_02.png") no-repeat top left / 100% auto;
}

#problem .inner .item_03 {
    position: absolute;
    top: 15rem;
    right: 0;
    width: 223px;
    height: 151px;
    padding: 5rem 3rem 0 0;
    background: url("../images/top/problem_bg_03.png") no-repeat top left / 100% auto;
}

#problem .inner .item_04 {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 351px;
    height: 133px;
    padding: 7rem 2rem 0 0;
    background: url("../images/top/problem_bg_04.png") no-repeat top left / 100% auto;
}

#problem .inner .item_05 {
    position: absolute;
    top: 32rem;
    left: calc(50% - 3rem);
    width: 223px;
    height: 151px;
    margin: auto;
    padding: 4rem 3rem 0 0;
    background: url("../images/top/problem_bg_05.png") no-repeat top left / 100% auto;
}

#problem .inner .item_06 {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 243px;
    height: 199px;
    padding-top: 9rem;
    background: url("../images/top/problem_bg_06.png") no-repeat top left / 100% auto;
}


/*-------------------------------

#message

-------------------------------*/
#message {
    margin-bottom: 10rem;
    padding: 0 3vw;
}

#message .inner {
    width: 80vw;
    max-width: 150rem;
}

#message .inbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 5rem;
}

#message .inbox .img {
    width: 20vw;
    max-width: 40rem;
    min-width: 31rem;
}

#message .inbox .img img {
    width: 100%;
    border-radius: 1.5rem;
}

#message .inbox .text {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding-left: 4.5rem;
}

#message .inbox .text h2 {
    color: #F88410;
    font-size: 4rem;
    font-weight: 800;
	line-height: 1.2;
}

#message .inbox .text h2 span {
	display: inline-block;
}

#message .inbox .text h2 span span {
    font-size: 3rem;
}

#message .inbox .text h3 {
    color: #F88410;
    font-size: 2.2rem;
    line-height: 1.5;
}

#message .inbox .text h3 span {
    display: inline-block;
}

#message .inbox .text p {
    font-size: 1.4rem;
    line-height: 1.67;
    transform: rotate(0.03deg);
}

#message .inbox .text .name {
    font-size: 1.6rem;
    color: #3D3D3D;
}

#message .inbox .text .name span {
    display: block;
    color: #F88410;
}

#message .txt {
    font-size: 1.6rem;
    line-height: 1.67;
    transform: rotate(0.03deg);
}


/*-------------------------------

#example

-------------------------------*/
#example {
    margin-bottom: 10rem;
    padding: 0 3vw;
}

#example h2 {
	color: #F88410;
    font-size: 4rem;
    text-align: center;
    margin-bottom: 8rem;
}

#example h2 span {
    display: inline-block;
}

#example .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 80vw;
    max-width: 150rem;
    margin-bottom: 8rem;
}

#example .inner .img {
    width: 47%;
    max-width: 558px;
}

#example .inner .text {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin: 0 0 0 6%;
}

#example .inner:nth-of-type(even) .img {
    order: 2;
}

#example .inner:nth-of-type(even) .text {
    order: 1;
    margin: 0 6% 0 0;
}

#example .inner .img {
    position: relative;
}

#example .inner .img img {
    max-width: 100%;
    border-radius: 2rem;
}

#example .inner .img span {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;    
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;    
}

#example .inner .img span img {
    max-width: 48%;
    margin-top: 2vw;
}

#example .inner:nth-of-type(1) .img .pic {
    position: absolute;
    right: 0;
    bottom: 9rem;
    width: 25%;
    max-width: 91px;
}

#example .inner:nth-of-type(2) .img .pic {
    position: absolute;
    right: 2rem;
    bottom: 9rem;
    width: 25%;
    max-width: 103px;
}

#example .inner .text h3 {
    color: #F88410;
    font-size: 2.2rem;
    font-weight: 800;
    line-height: 1.5;
}

#example .inner .text h3 span {
    display: inline-block;
}

#example .inner:nth-of-type(3) .tit,
#example .inner:nth-of-type(4) .tit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;    
    margin-bottom: 2rem;
}

#example .inner:nth-of-type(3) .tit .inbox,
#example .inner:nth-of-type(4) .tit .inbox {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

#example .inner:nth-of-type(3) .tit .inbox h3 span,
#example .inner:nth-of-type(4) .tit .inbox h3 span {
    display: inline-block;
}

#example .inner:nth-of-type(3) .tit .pic {
    width: 20%;
    max-width: 86px;
}

#example .inner:nth-of-type(4) .tit .pic {
    width: 25%;
    max-width: 99px;
}

#example .inner .text p {
    line-height: 1.67;
    transform: rotate(0.03deg);
}

#example .inner .text .name {
    font-size: 2.0rem;
    font-weight: 800;
}


/*-------------------------------

#others

-------------------------------*/
#others {
    margin-bottom: 10rem;
    padding: 0 3vw;
}

#others h2 {
	color: #F88410;
    font-size: 2.6rem;
    text-align: center;
    margin-bottom: 8rem;
}

#others .inner {
    width: 80vw;
    max-width: 150rem;
    margin-bottom: 8rem;
}

#others .inner ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
	list-style: none;
	margin: 0;
	padding: 0;
}

#others .inner li {
	margin-bottom: 3rem;
	width: 48%;
	text-align: center;
}

#others .inner li img {
	margin-bottom: 1rem;
	width: 100%;
	border-radius: 1rem;
}

#others .inner li p {
    line-height: 1.67;
    transform: rotate(0.03deg);
}

#others .inner li p span {
	display: block;
	font-size: 1.2rem;
}



/*-------------------------------

footer

-------------------------------*/
footer {
    padding: 12rem 0 0;
    text-align: center;
    background: url("../images/common/mark_01.png") no-repeat center top, url("../images/common/line_footer.png") repeat-x center top 3rem;
}

footer .logo {
    margin-bottom: 3rem;
}

footer .logo a {
    text-decoration: none;
}

footer .logo a:hover {
    opacity: 0.8;
}

footer .logo p {
    color: #3D3D3D;
    font-size: 1.4rem;
    line-height: 1.6;
    transform: rotate(0.03deg);
}

footer .logo .name {
    margin: 1.5rem 0;
    font-size: 1.8rem;
    font-weight: 800;
    transform: rotate(0.03deg);
}

footer ul {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 4rem;
    padding: 0 7rem;
}

footer li {
    width: 255px;
    margin: 1rem;
    background: #ffffff;
    border-radius: 5px;
}

footer li:nth-child(1) {
    border: 2px solid #F88410;
}

footer li:nth-child(2) {
    border: 2px solid #A4D600;
}

footer li:nth-child(3) {
    border: 2px solid #F7C02B;
}

footer li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;    
    height: 8rem;
    padding: 1rem 1rem 1rem 9rem;
    color: #3D3D3D;
    line-height: 1.34;
    text-decoration: none;
    transform: rotate(0.03deg);
}

footer li a:hover {
    color: #3D3D3D;
    text-decoration: none;
    opacity: 0.8;
}

footer li:nth-child(1) a {
    background: url("../images/common/bnr_img_01.jpg") no-repeat left top / 8rem auto;
}

footer li:nth-child(2) a {
    background: url("../images/common/bnr_img_02.jpg") no-repeat left top / 8rem auto;
}

footer li:nth-child(3) a {
    background: url("../images/common/bnr_img_03.jpg") no-repeat left top / 8rem auto;
}

footer .access {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;    
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 5rem;
    padding: 4rem 0;
    background: url("../images/common/line_top.png") no-repeat center top, url("../images/common/line_bottom.png") no-repeat center bottom;
}

footer .access p {
    margin: 0;
}

footer .access a {
    color: #F88410;
}

footer .access a:hover {
    text-decoration: none;
    opacity: 0.8;
}

footer .access .map a {
    display: inline-block;
    height: 3.6rem;
    padding: 0 2rem 0 3rem;
    font-size: 1.8rem;
    font-weight: 500;
    background: url("../images/common/icon_map.png") no-repeat left center / auto 3.6rem;
}

footer .access .reserve {
    margin: 0;
    line-height: 1.4;
}

footer .access .reserve a {
    padding-right: 18px;
    background: url("../images/common/icon_outside.png") no-repeat right center;
}

footer .copy {
    padding: 1rem 3vw;
    background: #F88410;
}

footer .copy .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

footer .copy .inner p {
    margin: 0;
    font-size: 1.4rem;
    transform: rotate(0.03deg);
}

/*-------------------------------

#fixed_side

-------------------------------*/
#fixed_side {
    position: fixed;
    top: 20rem;
    right: -0.5rem;
    background: #ffffff;
}

#fixed_side a:hover {
    opacity: 0.8;
}

/*-------------------------------

#fixed_contact

-------------------------------*/
#fixed_contact {
    display: none;
}

}
