@charset "utf-8";
/* CSS Document */
/*
@media以外の所は全てのサイズで読み込まれます。
*/
*{
  margin:0;
  padding:0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
html {
    font-size: 16px;
}
body {
	color: #1a1a1a;
	font-family: "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", meiryo, sans-serif;
    min-width: 1280px;
}
a {
	color: inherit;
}
img {
	max-width: 100%;
    height: auto;
	vertical-align: bottom;
}
/*** 共通クラス ***/
.text-left {
	text-align: left;
}
.text-right {
	text-align: right;
}
.text-center {
	text-align: center;
}
.list-inline > li {
	list-style: none;
	display: inline-block;
	margin-right: 0.5em;
}
.list-inline > li:last-child {
	margin-right: 0;
}
.container {
    width: 1280px;
    padding-left: 1em;
    padding-right: 1em;
    margin-left: auto;
    margin-right: auto;
}
.clearfix:before,
.clearfix:after {
	content: "";
	clear: both;
	display: table;
}
.btn-account {
	display:inline-block;
	padding: 0.5em 1em;
	text-decoration: none;
	background: #F15A24;/*ボタン色*/
	color: #FFF;
	border-bottom: solid 4px #C63F00;
	border-radius: 3px;
}
.btn-account:hover {
    bottom: -1px;
	position: relative;
}
.underline {
    background: linear-gradient(transparent 70%, #ff0 0%);
}
.underline-nami {
    background: url(../images/underline_nami.png) repeat-x bottom left;
}
.bg-yellow-arrow {
    background: url(../images/cta-bg-yellow.png) repeat;
    padding-top: 3.125em;
    padding-bottom: 3.125em;
}
.bg-yellow-arrow.bg {
    background-image: url(../images/bg_cta_01.png),
                      url(../images/cta-bg-yellow.png);
    background-repeat: no-repeat,
                       repeat;
    background-position: center center,
                         left;
    background-size: auto 100%,
                     auto;
}
.bg-green-arrow {
    background: url(../images/bg_cta_green.png) repeat center bottom;
    padding-top: 3.125em;
    padding-bottom: 3.125em;
}

.bg-gray-arrow {
    padding-top: 6.25em;
    padding-bottom: 6.25em;
    background: #f2f2f2 url(../images/arrow.png) no-repeat center top;
}
/**/
.cta-txt {
    font-size: 30px;
    font-weight: 600;
    color: #1bb02e;
}
.cta-txt:before {
    content: url(../images/cta-txt-before.png);
    margin-right: 0.5em;
    position:relative;
    bottom: -0.2em;
}
.cta-txt:after {
    content: url(../images/cta-txt-after.png);
    margin-left: 0.5em;
    position:relative;
    bottom: -0.2em;
}
.cta-cat,
.cta-cat strong {
    font-size: 5rem;
    font-weight: 900;
    color: #f15a24;
    margin-bottom: 0.38em;
}

.cta-btn {
    color: #FFF;
    text-decoration: none;
    margin-left: auto;
    margin-right: auto;
    padding: 12px 40px;
    display: block;
    width: 520px;
    max-width: 100%;
    height: 80px;
    font-size: 2.25rem;
    font-weight: bold;
    text-align: center;
    background: #F15A24;
    border-bottom: solid 6px #C63F00;
}
.cta-btn:hover{
    border: none;
}
/**/
.cta-green .balloon {
    display: inline-block;
    color: #1bb02e;
    font-weight: 600;
    font-size: 3.15rem;
    background: #FFF;
    width: 790px;
    max-width: 100%;
    padding: 0.15em;
    border-bottom: 8px solid #137b20;
    border-radius: 44px;
    position: relative;
    margin-bottom: 0.35em;
}
.cta-green .balloon:before,
.cta-green .balloon:after {
    content: "";
    display: block;
    position: absolute;
    border-style: solid;
    border-width: 37px 25px 0 25px;
    border-color: #FFF transparent transparent transparent;
    left: 50%;
    transform: translateX(-50%);
}
.cta-green .balloon:before {
    border-color: #137b20 transparent transparent transparent;
    z-index: 1;
    bottom: -38px;
}
.cta-green .balloon:after {
    border-color: #FFF transparent transparent transparent;
    z-index: 2;
    bottom: -30px;
}
.cta-green .strong,
.cta-green .strong strong {
    color: #FAE600;
    font-size: 6.25em;
    font-weight: 900;
}
/*** layout ***/

.wrapper {
	padding-top: 87px;
    position: relative;
}

/** header **/
.header {
	position: fixed;
	top: 0;
	left: 0;
	display: table;
	width: 100%;
	padding-left: 20px;
	padding-right: 20px;
	height: 87px;
	border-bottom: 2px solid #e6e6e6;
	background: #FFF;
	z-index: 10;
    min-width: 1280px;
}
.header a {
	text-decoration: none;
}
.header .logo {
	display: inline-block;
	margin-right: 20px;
}
.header h1 {
	color: #040000;
	font-size: 15px;
	font-weight: normal;
	display: inline-block;
	vertical-align: 10px;
}
.header .cell {
	display: table-cell;
	vertical-align: middle;
}
.header .btn-login {
	text-decoration: none;
}
.header .btn-login:hover {
    text-decoration: underline;
}
/*** Main Image ***/
.main-image {
	padding-top: 50px;
	padding-bottom: 50px;
	background-image: url(../images/bg_main_top.png),
					  url(../images/bg_main_btm.png);
	background-repeat: no-repeat,
					   repeat-x;
	background-position: bottom 30px center,
						 bottom center;
}
.main-image h2 {
	font-size: 4.1rem;
	font-weight: bold;
	line-height: 1.35;
	margin-bottom: 0.77em;
}
/*** お悩みを解決します ***/
.resolution .item {
    list-style: none;
	margin-bottom: 3.5em;
	background-color:#1BB02E;
	border-radius: 20px;
}
/* タイトル */
.resolution .head {
    padding: 2em 3em;
    display: flex;
    align-items: center;
}
.resolution .head .img {
    margin-right: 40px;
    flex-shrink: 0;
}
.resolution .head h3 {
    color: #FFF;
    font-size: 55px;
    font-weight: 900;
    line-height: 1.15;
    margin-bottom: 0;
}
.resolution .head .ic {
    color: #FFF;
    font-size: 25px;
    font-weight: 900;
    margin-right: 2em;
    flex-shrink: 0;
}
.resolution .head .ic span {
    margin-top: .25em;
    color: #1bb02e;
    font-size: 50px;
    background: #FFF;
    border-radius: 50px;
    text-align: center;
    display: block;
    width: 70px;
    height: 70px;
    line-height: 70px;
    -webkit-box-shadow: 0 5px 0 0 rgba(0,0,0,.5);
    box-shadow: 0 6px 0 0 rgba(0,0,0,.5);
}
/* コンテンツ */
.resolution .content {
    display: flex;
	background-color: #FFF;
	padding: 1.6em 1.25em;
	border-radius:  0 0 20px 20px/ 0 0 20px 20px;
	-webkit-border-radius:   0 0 20px 20px/ 0 0 20px 20px;
	-moz-border-radius:   0 0 20px 20px/ 0 0 20px 20px;
	border: solid 7px #1BB02E;
    border-top: none;
}
.resolution .box {
    width: 50%;
    padding-left: 1.25em;
    padding-right: 1.25em;
}
.resolution .box.image {
    display: flex;
    align-items: center;
}
.resolution .box.image img {
    width: 100%;
    height: unset;
}
.resolution .box h4 {
    font-size: 3.5rem;
    line-height: 1.5;
    font-weight: 900;
    letter-spacing: -0.05em;
    margin-bottom: 0.62em;
}
.resolution .text-area {
    font-size: 1.125rem;
}
.resolution .table {
    display: table;
    width: 100%;
}
.resolution .table .cell {
    display: table-cell;
    vertical-align: middle;
}
.resolution .text-area .ic {
    padding-right: 20px;
    width: 110px;
    height: 90px;
}
.resolution .text-area p {
    text-align: justify;
}
/*** Re:lationの導入効果 ***/
.service-result .item {
	background: #29abe2;
	padding: 10px;
	-webkit-border-radius: 8px;
			border-radius: 8px;
	margin-bottom: 4.5em;
}
.service-result .item:last-child {
	margin-bottom: 0;
}
.service-result .item img{
    float: left;
    margin-top: -56px;
    margin-left: 30px;
}
.service-result h3 {
	color: #FFF;
	font-size: 3rem;
	line-height: 1.2;
	position: relative;
	padding: 0.525em 0.525em 0.525em 5.5em;
}
.service-result h3 strong {
	 color: #FAE600;
 }
.service-result .text-area {
	font-size: 1.2rem;
	padding: 1.25em;
	text-align: justify;
	line-height: 1.65;
	background: #FFF;
}
.service-result .text-area strong {
	background: #fae600;
}

/*** Plan ***/

.plan_up .container{
    padding-top: 4em;
}

.plan_h {
	font-size: 2.9rem;
	font-weight: 600;
	text-align: center;
	margin-bottom: 1.25em;
}

.flex-container {
	display: -webkit-flex; /* Safari */
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.plan_box {
    margin-bottom: 20px;
    width: 31.5%;
    border: 3px solid #1BB02E;
	border-radius: 10px;
}
.plan_title {
	color: #ffffff;
	background: #1BB02E;
	text-align: center;
	padding: 0.5em;
	font-weight: 600;
	font-size: 1.5rem;
}
.plan_content {
	padding: 15px;
}
.plan_content dt {
	float:left;
	margin-right: 15px;
}
.plan_content dd {
    line-height: 1.7;
	overflow: hidden;
}

.plan_txt{
    padding: 1.25em 0 1.9em;
    font-size: 1.65rem;
}
/*** footer ***/
.footer {
    padding: 1em 0;
}

.footer .logo img{
    margin-right: 14px;
    float: left;
    width: 12%;
}

.footer .corp_tx{
    padding-top: 10px;
}
@media(max-width:640px) {
    html {
        font-size: 14px;
        line-height: 1.75;
    }
    body {
        min-width: 100%;
    }
    /* 共通クラス */
    .hidden-xs {
        display: none;
    }
    .container {
        width: 100%;
        padding-left: 1em;
        padding-right: 1em;
    }
    .underline-nami {
        display: inline-block;
        padding-bottom: 0.15em;
    }
    /*** Layout ***/
    .wrapper{
        padding-top: 40px;
    }
    .header{
        height: 40px;
        padding: 5px 1em;
        min-width: 100%;
    }
    .header .logo {
        margin-right: 0;
    }
    .header h1{
        display: none;
    }
    .header .cell.text-left {
        width: 95px;
    }
    .header .cell.text-right {
        font-size: 0.9rem;
    }
    .main-image{
        padding-top: 0;
        padding-bottom: 0;
        background-image: url(../images/bg_main_top.png),
                          url(../images/bg_main_btm.png);
        background-repeat: no-repeat,
                           repeat;
        background-position: bottom center,
                             bottom -30% center;
        background-size: 100%,
                         auto;
    }
    .main-image h2{
        font-size: 32px;
        background: #FFF;
        padding-top: 1em;
        padding-bottom: 1em;
    }
    .bg-gray-arrow {
        padding-top: 3.25em;
        padding-bottom: 1.65em;
        background: #f2f2f2 url(../images/arrow.png) no-repeat center top / 100px;
    }
    .cta-txt {
        font-size: 16px;
    }
    .cta-txt:before,
    .cta-txt:after {
        content: none;
    }
    .cta-cat,
    .cta-cat strong {
        font-size: 2rem;
        font-weight: 800;
        color: #f15a24;
        margin-bottom: 0.38em;
    }

    .cta-btn {
        font-size: 1.5rem;
        height: auto;
    }
    .cta-green .balloon {
        display: inline-block;
        font-size: 1.5rem;
        border-radius: 5px;
        border-bottom: 3px solid #137b20;
    }
    .cta-green .balloon:before,
    .cta-green .balloon:after {
        border-width: 15px 15px 0 15px;
    }
    .cta-green .balloon:before {
        border-color: #137b20 transparent transparent transparent;
        z-index: 1;
        bottom: -15px;
    }
    .cta-green .balloon:after {
        border-color: #FFF transparent transparent transparent;
        z-index: 2;
        bottom: -10px;
    }
    .cta-green .strong {
        font-size: 2.5em;
    }
    /*** お悩みを解決します ***/
    .resolution .item {
        margin-bottom: 1.25em;
    }
    .resolution .head {
        padding: 10px 1em;
    }
    .resolution .head .img {
        width: 50px;
        margin-right: 0.5em;
    }
    .resolution .table .cell {
        display: block;
    }
    .resolution .head .ic {
        display: none;
    }
    .resolution .head .ic span {
        font-size: 1rem;
        width: 30px;
        height: 30px;
        line-height: 30px;
        -webkit-box-shadow: 0 3px 0 0 rgba(0,0,0,.5);
        box-shadow: 0 3px 0 0 rgba(0,0,0,.5);
    }
    .resolution .head h3 {
        font-size: 1.5rem;
    }
    .resolution .content {
        display: block;
        background-color: #FFF;
        padding: 1em;
    }
    .resolution .box {
        width: 100%;
        padding-left: 0;
        padding-right: 0;
    }
    .resolution .box.image {
        margin-top: 15px;
        display: block;
        align-items: center;
    }
    .resolution .item h4 {
        font-size: 1.5rem;
    }
    .resolution .text-area {
        font-size: 1rem;
        display: block;
        margin-bottom: 0.5em;
    }
    .resolution .text-area {
        text-align: justify;
    }
    .resolution .text-area .ic {
        display: none;
    }
    /*** Re:lationの導入効果 ***/
    .service-result .item{
        margin: 0 auto 2.5em;
    }
    .service-result .item img{
        width: 50px;
        margin: 0 0.5em 10px 0;
    }
    .service-result h3{
        padding: 0 0 10px;
        font-size: 1.4rem;
    }
    .service-result h3 br{
        display: none;
    }
    .service-result .text-area{
        font-size: 1rem;
        clear: both;
        padding: 1em;
        line-height: 1.45;
    }
    .plan_up .container {
        padding-top: 1.5em;
    }
	.plan_box {
        width: 100%;
        margin: 0 auto 1em;
	}
    .plan_box:last-child {
        margin-bottom: 0;
    }
    .plan_title {
        font-size: 1.25rem;
    }
	.plan_h {
		font-size: 20px;
	}
    .plan_txt{
        padding-bottom: 25px;
        font-size: 16px;
    }
    /*** footer ***/
    .footer .logo img {
        margin: auto;
        float: none;
        width: 30%;
        display: block;
    }
    .footer  .corp_tx {
        padding: 5px 38px;
        text-align: center;
    }
}