@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,select,textarea{
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	font-style:normal;
	font-weight:400;
	vertical-align:bottom;
	background:transparent;
}
article,aside,details,figcaption,figure,footer,header,menu,nav,section{
	display:block;
}
html{
	font-size:62.5%;
	overflow:auto;
        scroll-behavior: smooth;
}
body{
	min-width:320px;font-family:"ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック", YuGothic, "メイリオ", "Meiryo", sans-serif;
	color:#333;font-size:min(1.6rem, 1.6vw);line-height:1.8;letter-spacing:.05em;overflow:hidden;
}
ul,ol{
	list-style:none;
}
blockquote,q{
	quotes:none;
}
blockquote:before,blockquote:after,q:before,q:after{
	content:'';
	content:none;
}
a{
	margin:0;
	padding:0;
	vertical-align:bottom;
	background:transparent;
	outline:none;
	color:#db5762;
	text-decoration:underline;
}
img{
	vertical-align:bottom;
}

table{
	border-collapse:collapse;
	border-spacing:0;
	width:100%;
}
th,td{
	text-align:left;
	vertical-align:top;
}
input,select,textarea{
	font-family:inherit;
}
input[type="submit"]{
	cursor:pointer;
}
a:hover{
	text-decoration:none;
}
span{
	font-weight:inherit;}
img{
	width:100%;
	height:auto;
}
::selection{
	background:#f8f0ea;
}
::-moz-selection{
	background:#f8f0ea;
}
header,
footer,
#ez-toc-container {
    display: none;
}
#wrap {
    min-width: inherit;
}
.SH2, h2:not(.style_none), .content_page h2:not(.style_none) {
    position: inherit;
    clear: inherit;
    margin: 0;
    padding: 0;
    background: inherit;
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
    line-height: inherit;
}
.SH1, h1:not(.style_none), .content_page h1:not(.style_none) {
    clear: inherit;
    margin: 0;
    padding: 0;
    background: inherit;
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
    line-height: inherit;
}
.SH3, h3:not(.style_none), .content_page h3:not(.style_none) {
    position: inherit;
    clear: inherit;
    width: inherit;
    margin: 0;
    padding: 0;
    border-bottom: inherit;
    background: inherit;
    box-sizing: inherit;
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
}
a:active, a:link, a:visited {
    color: #db5762;
}
.sp{
	display:none !important;
}
.hv{
	display:block;
	text-decoration:none;
	-webkit-transition:all .3s ease;
	transition:all .3s ease;
}
.hv:hover{
	opacity:.7;
}
section {
    padding: min(100px, 9vw) 0;
}
.wrap {
    width: min(1100px, 92%);
    margin: 0 auto;
}
h1 {
	margin: 0 !important;
}
h1 a {
	text-decoration: none!important;
    color: #333!important;
}
h2 {
    text-align: center!important;
    font-size: min(43px, 4vw)!important;
    font-family: "ヒラギノ明朝 ProN", "HiraMinProN", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif!important;
    color: #fff!important;
    background: linear-gradient(45deg, #f3938f, #bf3857)!important;
	padding: 8px 0!important;
	position: relative!important;
    line-height: inherit!important;
}
h2:before {
    content: '';
    display: block;
    width: 99.5%;
    height: min(3px, 0.3vw);
    position: absolute;
    top: 2px;
    background: #fff;
    left: 0.25%;
}
h2:after {
    content: '';
    display: block;
    width: 99.5%;
    height: min(3px, 0.3vw);
    position: absolute;
    bottom: 2px;
    background: #fff;
    left: 0.25%;
}
.h2-wrapper {
	position: relative;
}
.h2-wrapper:before {
    content: '';
    display: block;
    height: 23px;
    position: absolute;
    bottom: -23px;
    width: 75px;
    background: #f1908d;
    clip-path: polygon(0 0, 100% 0, 100% 100%);
}
.h2-wrapper:after {
    content: '';
    display: block;
    height: 23px;
    position: absolute;
    top: -23px;
	right: 0;
    width: 75px;
    background: #c13b59;
	clip-path: polygon(0 0, 0 100% , 100% 100%);
}
h2 span {
    font-size: 0.55em;
	display: block;
}
/* .rikon-header */
.rikon-header {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 9999;
    background: #fffffffa;
	display: block;
}
.rikon-header__inner {
    display: flex;
    width: min(1800px, 100%);
    margin: 0 auto;
    justify-content: space-between;
    align-items: center;
    height: min(130px, 12vw);
    box-sizing: border-box;
    padding: 0 0 0 1.5%;
}
.rikon-header__title {
    display: block;
    font-size: min(1.8rem, 1.7vw);
}
.rikon-header__logo {
    display: block;
    width: min(275px, 26vw);
    padding: min(5px, 0.5vw) 0;
}
.rikon-header__company {
    display: block;
    font-size: min(1.4rem, 1.3vw);
}
.rikon-header__contact {
    display: flex;
    justify-content: end;
    height: 100%;
    width: 100%;
}
.rikon-header__contact-tel {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    justify-content: center;
    gap: min(8px, 0.8vw);
    margin: 0 1% 0 0;
}
.rikon-header__contact-tel-num {
	display: flex;
    justify-content: center;
    align-items: center;
    font-family: 'Roboto Condensed', 'arial', sans-serif;
    font-weight: bold;
    font-size: min(4rem, 3.5vw);
    line-height: 1;
    gap: min(8px, 0.8vw);
}
.rikon-header__contact-tel-num:before {
    display: inline-block;
    content: '\f095';
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 0.65em;
    margin: 2% 0 0 0;
}
.rikon-header__contact-tel-hour {
    text-align: center;
    font-size: min(1.6rem, 1.4vw);
    line-height: 1.25;
    font-weight: 500;
}
.rikon-header__contact-btn {
    width: min(210px, 18vw);
}
.rikon-header__contact-btn.line {
    background: #06c655;
}
.rikon-header__contact-btn.mail {
    background: #bc2331;
}
.rikon-header__contact-btn a {
    display: grid;
    place-content: center;
    height: 100%;
    text-decoration: none;
    color: #fff;
    font-size: min(1.6rem, 1.5vw);
}
.rikon-header__contact-btn a:before {
    display: inline-block;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: min(4rem, 3.6vw);
    margin: 0 auto;
}
.rikon-header__contact-btn.line a:before {
    content: '\f3c0';
    font-family: "Font Awesome 6 Brands"; 
    font-weight: 400; /* Brandsは必ず400 */
}
.rikon-header__contact-btn.mail a:before {
    content: '\f0e0';
}
.rikon-header__contact-btn a span {
    display: block;
    line-height: 1;
}
/* rikon-footer */
.rikon-footer {
	padding:60px 0;
	background:#f9f0eb;
	text-align:left;
	display: block;
}

.rikon-footer h2 {
    font-size: 3.3rem!important;
    background: linear-gradient(90deg, #feb0a8, #cd7391) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    display: inline-grid!important;
    text-align: center!important;
	padding: 0!important;
}
.rikon-footer__inner {
	display: flex;
    justify-content: space-between;
	padding-top: 75px;
}
.rikon-footer .h2-wrapper {
    background: #fff;
    text-align: center;
}
.rikon-footer .h2-wrapper:before,
.rikon-footer .h2-wrapper:after {
	background: #f9f0eb;
	top: 0;
    height: 100%;
    width: 12px;
}
.rikon-footer .h2-wrapper:before {
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.rikon-footer .h2-wrapper:after {
	clip-path: polygon(100% 0, 100% 100%, 0% 50%);
}
.rikon-footer__info{
    width: 48%;
}
.rikon-footer caption {
    font-family: "ヒラギノ明朝 ProN", "HiraMinProN", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
    font-size: min(3rem, 2.7vw);
    text-align: left;
    border-bottom: 1px solid #f3938f;
	border-image: linear-gradient(to right, #f3938f 0%, #bf3857 100%);
	border-image-slice: 1;
	margin-bottom: 20px;
}
.rikon-footer caption span {
    font-size: 0.6em;
}
.rikon-footer__info table {
    margin: 0 0 4% 0;
}
.rikon-footer tr {
    border-bottom: 1px solid #fff;
}
.rikon-footer tr:first-child th {
    vertical-align: top;
}
.rikon-footer td,
.rikon-footer th {
    vertical-align: middle;
	padding: 10px 0;
}
.rikon-footer th {
    width: 95px;
}
.rikon-footer__map {
    width: 50%;
    height: min(400px, 35vw);
}
.copyright {
    font-size: 1.2rem;
    text-align: center;
    padding: 15px 0;
    color: #b1b1b1;
}
/* .rikon-mv */
.rikon-mv {
    margin-top: min(130px, 12vw);
	background-image: url(/wp-content/uploads/2026/07/mv__bg-scaled.jpg);
	background-size: cover;
	background-position: center;
	position: relative;
}
.rikon-mv__title {
    padding: 11.9% 26.8% 15.8% 26.8%;
}
.rikon-mv__image-01 {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 26%;
}
.rikon-mv__image-01 img {
    display: block;
    width: 100%;
	height: 100%;
	object-fit: contain;
}
.rikon-mv__image-02 {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 30%;
}
.rikon-mv__image-02 img {
    display: block;
    width: 100%;
	height: 100%;
	object-fit: contain;
}
.rikon-mv__catch {
    background: #40220f;
    color: #fff;
    text-align: center;
    position: absolute;
    right: 4%;
    bottom: 3%;
    font-family: "ヒラギノ明朝 ProN", "HiraMinProN", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
    font-size: 1.8vw;
    line-height: 1.3;
    width: 12%;
    aspect-ratio: 1 / 1;
    height: auto;
    display: grid;
    place-content: center;
    border-radius: 50%;
    box-sizing: border-box;
    padding: 0 0 0.7% 0;
}
.rikon-mv__catch:before {
    content: "";
    position: absolute;
    inset: 0.3vw;
    border: 0.1vw solid #fff;
    border-radius: 50%;
}
/* .rikon-about */
.rikon-about{
	background:#f9f0ea;
}
.rikon-about__inner {
	padding-top:100px;
	padding-bottom:200px;
}
.rikon-about__list{
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 80px;
    gap: min(50px, 4vw) 7%;
    display: flex;
}
.rikon-about__item{
    position: relative;
    width: 27.3%;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    background: #fff;
    box-shadow: 25px 25px 25px 0 rgba(219, 87, 98, 0.05);
}	
.rikon-about__item-icon {
    width: 29%;
    margin: 15% auto 10%;
}
.rikon-about__item-icon img {
    display: block;
    height: 100%;
    width: 100%;
    object-fit: contain;
}
.rikon-about__item-text {
    width: 100%;
    display: grid;
    place-content: center;
    height: 30%;
}
.rikon-about__item-text-inner {
	font-weight: bold;
	font-size: min(1.8rem, 1.7vw);
    text-align: center;
    line-height: 1.5;
}
.rikon-about__item-text strong {
	font-weight:700;
	color:#db5762;
}
/* .rikon-resolution */
.rikon-resolution__image {
    width: 70%;
    margin: 100px auto 60px;
}
.rikon-resolution__text {
    text-align: center;
    font-size: 3.4rem;
    font-family: "ヒラギノ明朝 ProN", "HiraMinProN", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
    font-weight: bold;
}
.rikon-resolution__text span{
    color: #db5762;
	background: linear-gradient(transparent 60%, #fbdee2 60%);
}
/* .rikon-reason */
.rikon-reason__list {
    flex-wrap: wrap;
    gap: min(70px, 7vw);
    padding-top: min(120px, 12vw);
    display: flex;
}
.rikon-reason__item-title-container {
    display: flex;
    align-items: center;
	gap: min(13px, 1.3vw);
}
.rikon-reason__item-num {
	font-family: 'Roboto Condensed', 'arial', sans-serif;
	display: inline-grid;
	place-content: center;
	background: #db5762;
	font-size: min(2.6rem, 2.6vw);
	color: #fff;
	width: min(50px, 5vw);
	height: min(50px, 5vw);
	border-radius: 50%;
	font-weight: normal;
}
.rikon-reason__item-title {
	flex: 1;
    color: #db5762;
    font-weight: bold;
    font-size: min(2.8rem, 2.8vw);
}
.rikon-reason__item-text {
    font-size: min(1.8rem, 1.8vw);
	padding-top: 20px;
}

/* .rikon-flow */
.rikon-flow {
    background: #f9f0ea;
}
.rikon-flow__text {
    text-align: center;
    background: #fff;
    font-size: min(1.9rem, 1.9vw);
    position: relative;
    display: grid;
    place-content: center;
}
.rikon-flow__text.b:before,
.rikon-flow__text.c:before,
.rikon-flow__text.d:before,
.rikon-flow__text.e:before,
.rikon-flow__text.f:before,
.rikon-flow__text.g:before
{
    content: '';
    display: inline-block;
    background-color: #aaaaaa;
    height: min(35px, 3.5vw);
    width: min(35px, 3.5vw);
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%) translateY(-140%);
    clip-path: polygon(20% 0, 80% 0, 80% 0, 80% 45%, 100% 45%, 50% 100%, 0 45%, 20% 45%);
}
.rikon-flow__text.b:after,
.rikon-flow__text.e:after,
.rikon-flow__text.g:after{
    content: '';
    display: inline-block;
    height: min(35px, 3.5vw);
    width: min(35px, 3.5vw);
    position: absolute;
    top: min(100px, 10vw);
    left: 50%;
    transform: translateX(-50%);
    clip-path: polygon(20% 0, 80% 0, 80% 0, 80% 45%, 100% 45%, 50% 100%, 0 45%, 20% 45% );
}
.rikon-flow__text.b:after{
    height: min(470px, 47vw);
    clip-path: polygon(20% 0, 80% 0, 80% 0, 80% 95%, 100% 95%, 50% 100%, 0 95%, 20% 95% );
    background-color: #9ec7cf;
}
.rikon-flow__text.e:after {
    height: min(180px, 18vw);
    clip-path: polygon(20% 0, 80% 0, 80% 0, 80% 87%, 100% 87%, 50% 100%, 0 87%, 20% 87% );
    background-color: #c59384;
}
.rikon-flow__text.g:after {
    clip-path: polygon(20% 0, 80% 0, 80% 0, 80% 45%, 100% 45%, 50% 100%, 0 45%, 20% 45% );
    background-color: #bc7ebd;
}
.rikon-flow__grid {
	display: grid;
    grid-template-columns: repeat(3,1fr);
    grid-template-rows: min(82px, 8.2vw) min(82px, 8.2vw) min(82px, 8.2vw) min(82px, 8.2vw) min(82px, 8.2vw) min(158px, 15.8vw);
    column-gap: min(40px, 4vw);
    row-gap: min(65px, 6.5vw);
	padding-top: min(110px, 11vw);
}
.rikon-flow__text.a {
    grid-column: 1 / 4;
	 grid-row   : 1 / 2;
}
.rikon-flow__text.b {
   grid-column: 1 / 2;
	grid-row   : 2 / 3;
	font-weight: normal!important;
}
.rikon-flow__text.c {
    grid-column: 2 / 4;
	grid-row   : 2 / 3;
}
.rikon-flow__text.d {
    grid-column: 2 / 4;
	grid-row   : 3 / 4;
}
.rikon-flow__text.e {
    grid-column: 2 / 3;
	grid-row   : 4 / 5;
}
.rikon-flow__text.f {
    grid-column: 3 / 4;
	grid-row   : 4 / 5;
}
.rikon-flow__text.g {
    grid-column: 3 / 4;
	grid-row   : 5 / 6;
}

.rikon-flow_btn {
    text-align: center;
    font-weight: bold;
    font-size: min(2.4rem, 2.4vw);
    color: #fff !important;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    display: grid;
    color: #fff;
    height: 100%;
    place-content: center;
}
.rikon-flow_btn span {
    position: relative;
}
.rikon-flow_btn.a {
	grid-column: 1 / 2;
	grid-row  : 6 / 7;
	background-image: url(/wp-content/uploads/2026/07/rikon-flow_btn_a.jpg) ;
	
}
.rikon-flow_btn.b {
	grid-column: 2 / 3;
	grid-row   : 6 / 7;
	background-image: url(/wp-content/uploads/2026/07/rikon-flow_btn_b.jpg);
}
.rikon-flow_btn.c {
	grid-column: 3/ 4;
	grid-row   : 6 / 7;
	background-image: url(/wp-content/uploads/2026/07/rikon-flow_btn_c.jpg);
}
/* .rikon-cv */
.rikon-cv{
	background: linear-gradient(45deg, #d86167, #b73460);
	padding: 45px 0 70px;
}
.rikon-cv__title {
    font-family: "ヒラギノ明朝 ProN", "HiraMinProN", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
    color: #fff;
    text-align: center;
    font-size: min(3.3rem, 3vw);
}
.rikon-cv__title strong {
    font-weight: bold;
}
.rikon-cv__title-marker {
    background: url(/wp-content/uploads/2026/07/marker.png) no-repeat bottom center;
    display: inline-block;
}
.rikon-cv__title-text {
    display: block;
}
.rikon-cv__btn a {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
    padding: 1.3% 0;
	text-align:center;
	text-decoration:none;
	box-sizing:border-box;
	background: #fff;
    border-radius: 20px;
	-webkit-transition:background .3s ease;
	transition:background .3s ease;
	font-family: "ヒラギノ明朝 ProN", "HiraMinProN", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
	margin-top: 35px;
}
.rikon-cv__btn-title {
    font-size: min(4rem, 3.6vw);
    font-weight: normal;
    color: #333;
    display: block;
}
.rikon-cv__btn-catch {
    display: grid;
    color: #bb2330;
    font-size: min(5rem, 4.5vw);
    background: #fff600;
    border: 1px solid#bb2330;
    width: min(170px, 16vw);
    height: min(170px, 16vw);
    border-radius: 50%;
    place-content: center;
}

/* .rikon-feature */
.rikon-feature{
	background: url(/wp-content/uploads/2026/07/rikon-feature__bg-scaled.jpg) no-repeat 50% 0 / 1920px auto;;
	padding-bottom: 20px;
}
.rikon-feature h2 {
	color: #333 !important;
    background: #fff !important;
}
.rikon-feature h2:before,
.rikon-feature h2:after {
    width: 100%;
    height: 2px;
    background: linear-gradient(to right, #f65958 0%, #e32006 100%);
    left: 0;
}
.rikon-feature h2:before {
    top: -7px;
}
.rikon-feature h2:after {
	bottom: -7px;
}
.rikon-feature .h2-wrapper:before {
    bottom: -30px;
}
.rikon-feature .h2-wrapper:after {
    top: -30px;
}
.rikon-feature .side-border:before {
    content: '';
    display: block;
    position: absolute;
    width: 2px;
    height: 109%;
    background: #f2918e;
    top: -5%;
}
.rikon-feature .side-border:after {
    content: '';
    display: block;
    position: absolute;
    width: 2px;
    height: 109%;
    background: #c03a58;
    top: -5%;
	right: 0;
}
.rikon-feature__list{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 110px;
	gap: 3%;
}
.rikon-feature__item{
	background:#fff;
	overflow:hidden;
	border-radius:10px;
	box-sizing:border-box;
	box-shadow:0 0 30px 0 rgba(0,0,0,0.06);
    width: 30%;
	position: relative;
}
.rikon-feature__item-image {
    width: 100%;
}
.rikon-feature__item-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.rikon-feature__item-num {
    left: 5%;
    width: min(51px, 5vw);
    height: min(51px, 5vw);
    position: absolute;
    top: min(195px, 16.5vw);
}
.rikon-feature__item-num img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.rikon-feature__item-title {
    text-align: center;
    font-weight: 700;
    line-height: 1.5;
    font-size: min(2.4rem, 2.2vw);
    color: #db5762;
    display: grid;
    place-content: center;
    height: min(130px, 11vw);
}
.rikon-feature__item-text {
    padding: 0 5% 20% 5%;
    font-size: min(1.6rem, 1.5vw);
    line-height: 1.56;
}
/* .rikon-point */
.rikon-point h2 span {
    position: relative;
    top: -10px;
}
.rikon-point__list {
    display: flex;
    justify-content: center;
    padding-top: min(130px, 13vw);
    gap: 3%;
}
.rikon-point__item {
    position: relative;
    counter-increment: mycounter;
    box-sizing: border-box;
    box-shadow: 0 0 20px 0 rgb(0 0 0 / 6%);
    width: 21.8%;
    aspect-ratio: 240 / 233;
}
.rikon-point__item:before {
    position: absolute;
    display: grid;
    place-content: center;
    background: #db5762;
    color: #fff;
    font-family: 'Roboto Condensed', 'arial', sans-serif;
    font-size: min(2rem, 2vw);
    width: min(45px, 4.5vw);
    height: min(45px, 4.5vw);
	content: counter(mycounter, decimal-leading-zero);
}
.rikon-point__item-icon {
    margin: 20% auto 0;
    width: 37.5%;
}
.rikon-point__item-icon img {
	display: block;
    width: 100%;
	height: 100%;
	object-fit: contain;
}
.rikon-point__item-text {
    font-size: min(2.2rem, 2vw);
    font-weight: bold;
    text-align: center;
    color: #db5762;
    line-height: 1.5;
    display: grid;
    align-items: center;
    height: 40%;
}
.rikon-point__text {
    text-align: center;
    font-size: min(2rem, 1.7vw);
    padding-top: 30px;
}

/* .rikon-case */
.rikon-case{
	position:relative;
	background: #f9f0ea;
}
.rikon-case__list {
    padding-top: min(140px, 14vw);
    display: flex;
    flex-direction: column;
    gap: min(60px, 6vw);
}
.rikon-case__item {
    justify-content: space-between;
    background: #fff;
    border-radius: 20px;
    padding: 3% 5% 3% 2%;
    box-sizing: border-box;
    display: flex;
    gap: 6%;
}
.rikon-case__item:nth-child(even) {
    flex-direction: row-reverse;
}
.rikon-case__item-num {
    font-family: "League Script", cursive;
    font-weight: 400;
    font-style: normal;
    color: #d4c6b7;
    font-size: min(5rem, 4.6vw);
    text-align: center;
}
.rikon-case__item-info {
	display: block;
    flex: 1;
    position: relative;
    border-right: #d4c6b7a8 1px solid;
}
.rikon-case__item-info:after {
    content: '';
    display: block;
    width: 24px;
    height: 57px;
    background: #d4c6b7;
    top: 50%;
    transform: translateY(-50%);
    position: absolute;
    right: -24px;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    box-sizing: border-box;
}
.rikon-case__item-info:before {
    content: '';
    display: block;
    width: 23px;
    height: 55px;
    background: #fff;
    top: 50%;
    transform: translateY(-50%);
    position: absolute;
    right: -23px;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    box-sizing: border-box;
    z-index: 1;
}
.rikon-case__item-image {
    width: min(165px, 15vw);
    height: min(165px, 15vw);
    margin: 0 auto;
}
.rikon-case__item-image img {
	display: block;
    width: 100%;
	height: 100%;
	object-fit: contain;
}
.rikon-case__item-image-title {
    font-weight: 700;
    position: relative;
    padding: min(20px, 2vw) 0 0 0;
    font-size: min(1.8rem, 1.8vw);
    text-align: center;
}
.rikon-case__item-image-title:after {
    background: #f9f0ea;
    content: '';
    display: block;
    height: 2px;
    width: 57.5%;
    margin: min(20px, 2vw) auto;
}
.rikon-case__item-type {
    text-align: center;
    font-size: min(1.6rem, 1.6vw);
}
.rikon-case__item-inner {
    width: 64%;
}
.rikon-case__item-title {
    margin-bottom: 15px!important;
    padding-bottom: 10px!important;
    padding-left: 3px!important;
    font-weight: 700!important;
    font-size: min(2.6rem, 2.4vw)!important;
    line-height: 1.3!important;
    border-bottom: 2px solid!important;
    border-image: linear-gradient(90deg, #feb0a8, #cd7391) 1;
    display: inline-block!important;
    width: 100%!important;
    background: linear-gradient(90deg, #feb0a8, #cd7391)!important;
    -webkit-background-clip: text!important;
    -webkit-text-fill-color: transparent!important;
}
.rikon-case__item-text {
	font-size: min(1.6rem, 1.6vw);
}

.rikon-case__item:nth-child(even) .rikon-case__item-info {
   border-right: none;
   border-left: #d4c6b7a8 1px solid;
}
.rikon-case__item:nth-child(even) .rikon-case__item-info:before {
    left: -23px;
    clip-path: polygon(100% 0, 0 50%, 100% 100%);
}
.rikon-case__item:nth-child(even) .rikon-case__item-info:after {
    left: -24px;
    clip-path: polygon(100% 0, 0 50%, 100% 100%);
}
/* .rikon-greeting */
.rikon-greeting {
    background: #f9f0ea;
}
.rikon-greeting__title {
    text-align: center;
    font-weight: bold;
    font-size: min(2.8rem, 2.8vw);
    line-height: 1.54;
    color: #db5762;
}
.rikon-greeting__image {
    padding: 4% 10.6%;
}
.rikon-greeting__image img {
    display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.rikon-greeting__text {
    padding: 0 10.6%;
}
.rikon-greeting .text_title {
    font-size: 2.8rem;
    font-weight: bold;
    padding-bottom: 60px;
    padding-top: 30px;
	line-height: 1.6;
}
.rikon-greeting .text_title span {
    color: #e21e03;
}
.rikon-greeting__list {
    gap: 70px;
}

/* .rikon-contact */
.rikon-contact__inner{
	padding-top:60px;
	padding-bottom:60px;
}
.rikon-contact__lead{
	text-align:center;
	font-weight:700;
	margin-top:50px;
	font-size:1.8rem;
}
.rikon-contact__txt{
    margin-top: 50px;
    margin-bottom: 30px;
    text-align: center;
}
.rikon-contact-form{
	border: 18px solid #f9f0eb;
    padding: 25px;
}
.rikon-contact-form input[type="text"],
.rikon-contact-form input[type="email"],
.rikon-contact-form select {
    border: 1px solid #e0e0e0;
    box-sizing: border-box;
    padding: 15px 10px;
    font-size: 1.7rem;
    font-family: inherit;
    max-width: 100%;
    width: 100%;
    border-radius: 3px;
	background: #fcfcfc;
}
.rikon-contact-form textarea{
    box-sizing: border-box;
    padding: 5px 10px;
    font-size: 1.6rem;
    width: 100%;
    max-width: 100%;
    height: 170px;
    resize: none;
    font-family: inherit;
    border: 1px solid #e0e0e0;
    background: #fcfcfc;
}
.rikon-contact-form__check label{
	display:block;
	padding:5px 0;
	display:inline-block;
	padding:0 40px 0 0;
	font-size:1.6rem;
}
.rikon-contact-form__name{
	display:flex;
	flex-wrap:wrap;
}
.rikon-contact-form__name input[type="text"]{
	flex:0 0 35%;
	width:auto;
	min-width:0;
	margin-right:2%;
}
.rikon-contact-form__tel{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
}
.rikon-contact-form__tel input[type="text"]{
	flex:0 0 28%;
	width:auto;
	min-width:0;
}
.rikon-contact-form__zip{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
}
.rikon-contact-form__zip input[type="text"]{
	flex:0 0 100px;
	width:auto;min-width:0;
}
.rikon-contact-form__select{
	position:relative;
}
.rikon-contact-form__select:before{
	position:absolute;
	content:'';
	display:block;
	top:50%;
	right:10px;
	width:0;
	height:0;
	margin-top:-2px;
	border:5px solid transparent;
	border-top-color:#333;
	pointer-events:none
}
.rikon-contact-form__email{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
}
.rikon-contact-form__email+.rikon-contact-form__email{
	margin-top:10px;
}
.rikon-contact button.is-submit{
    position: relative;
    background: #bb2330;
    color: #fff;
    font-weight: 700;
    letter-spacing: .05em;
    text-align: center;
    box-sizing: border-box;
    width: 440px;
    font-size: 2.4rem;
    -webkit-transition: background .3s ease;
    transition: background .3s ease;
    outline: none;
    display: block;
    margin: 40px auto 20px;
    border: 0;
    font-family: inherit;
    border-radius: 10px;
}
.rikon-contact__table tr {
    border-bottom: 2px solid #f7f5ee;
	display: flex;
	justify-content: space-between;
	gap:50px;
}
.rikon-contact__table th label{
	font-family:inherit;font-weight:700;
}

.rikon-contact__table th {
    width: 28%;
    padding: 4% 0 4% 4%;
    box-sizing: border-box;
    font-weight: bold;
    font-size: min(1.8rem, 1.8vw);
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.rikon-contact__table th p {
    font-weight: bold;
}
.rikon-contact__table td{
    padding: 4% 4% 4% 0;
    vertical-align: middle;
    width: 72%;
    box-sizing: border-box;
}
.rikon-contact-form td.your-current {
    position: relative;
}
.rikon-contact-form td.your-current select {
    width: 42%;
    appearance: none;
    box-sizing: border-box;
}
.rikon-contact-form td.your-current:after {
    position: absolute;
    content: '';
    display: inline-block;
    width: 16px;
    height: 8px;
    background: #333;
    top: 50%;
    transform: translateY(-50%);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    left: 35%;
}
.rikon-contact__table th p.rikon-contact__required{
	display:inline-block;
	padding:5px 13px;
	background: linear-gradient(45deg, #f3938f, #bf3857);
	color:#fff;
	font-size: min(1.4rem, 1.4vw);
	line-height:1;
	font-weight: normal;
}
.rikon-contact-form ::placeholder {
    color: #c0c0c0;
}
.rikon-contact input[type="submit"] {
    cursor: pointer;
    display: block;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding: 28px 0;
    color: #fff;
	background: inherit;
    font-size: inherit;
	    margin: 0!important;
}
.rikon-contact button.is-submit:after {
    content: '\f105';
    display: inline;
    font-family: "Font Awesome 5 Free";
    position: absolute;
    right: 25px;
    font-size: 3rem;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
}
div.wpcf7 .ajax-loader {
    position: absolute;
}
/*---------------------------------------------------------------------------------------------------

  sp

---------------------------------------------------------------------------------------------------*/



@media screen and (max-width: 600px) {
body {
    font-size: 3.7vw;
    line-height: 1.5;
}
.pc{
	display:none !important
}
.sp{
	display:block !important
}
section {
	padding: 13vw 0px;
}
.wrap {
	width: 93%;
}
h2 {
    text-align: center!important;
    font-size: 5.9vw!important;
    line-height: 1.2!important;
    padding: 3vw 0!important;
    height: 15vw!important;
    display: grid!important;
    place-content: center!important;
}
h2:before,
h2:after {
	height: 2px;
}
.h2-wrapper:after {
    height: 14px;
    top: -14px;
    width: 12vw;
}
.h2-wrapper:before {
    height: 14px;
    bottom: -14px;
    width: 12vw;
}
/* 	.rikon-header */
.rikon-header__inner {
    height: 18vw;
    padding: 0 0 0 4%;
}
.rikon-header__title {
    font-size: 2.4vw;
}
.rikon-header__logo {
    width: 38vw;
    padding: 0.8vw 0;
}
.rikon-header__company {
    font-size: 2.2vw;
}
.rikon-header__contact-btn {
    width: 15vw;
}
.rikon-header__contact-btn a {
    font-size: 2.8vw;
    gap: 1vw;
}
.rikon-header__contact-btn a:before {
    font-size: 5vw;
}
.rikon-header__contact-btn.tel {
    background: #40220f;
}
.rikon-header__contact-btn.tel a:before {
    content: '\f095';
}
/* 	.rikon-footer */
.rikon-footer {
    padding: 10vw 0 13vw;
}
.rikon-footer h2 {
    font-size: 5.5vw !important;
    height: 13vw !important;
}
.rikon-footer__inner {
    gap: 10vw;
    padding-top: 12vw;
    flex-direction: column;
}
.rikon-footer__info {
    width: 100%;
}
.rikon-footer caption {
    font-size: 5.2vw;
    margin-bottom: 3vw;
    text-align: center;
}
.rikon-footer th,
.rikon-footer td {
    font-size: 3.6vw;
}
.rikon-footer__map {
    width: 100%;
    height: 66vw;
}
.copyright {
    font-size: 2.8vw;
}
	/* 	.rikon-mv */
.rikon-mv {
    margin-top: 18vw;
}
.rikon-mv__title {
    padding: 5% 8% 83% 8%;
}
.rikon-mv__image-01 {
    bottom: -9vw;
    width: 53%;
    left: -3vw;
}
.rikon-mv__image-02 {
    right: -4vw;
    width: 62%;
    bottom: -8vw;
}
.rikon-mv__catch {
    right: 3%;
    bottom: 1%;
    font-size: 4vw;
    width: 29%;
}
.rikon-mv__catch:before {
    inset: 0.8vw;
    border-width: 0.3vw;
}
/* .rikon-about */
.rikon-about__list {
    margin-top: 10vw;
    gap: 4vw 4%;
}
.rikon-about__item {
    width: 48%;
}
.rikon-about__item-icon {
    width: 32%;
    margin: 14% auto 5%;
}
.rikon-about__item-text-inner {
    font-size: 3.4vw;
}
.rikon-about__item-text {
    height: 34%;
}
/* .rikon-resolution */
.rikon-resolution__image {
    width: 100%;
    margin: 10vw 0 7vw;
}
.rikon-resolution__text {
    font-size: 5.5vw;
}
/* .rikon-cv */
.rikon-cv {
    padding: 6vw 0 10vw;
}
.rikon-cv__title {
    font-size: 4.3vw;
}
.rikon-cv__btn a {
    padding: 2% 0;
    border-radius: 3vw;
    margin-top: 5%;
}
.rikon-cv__btn-title {
    font-size: 5vw;
}
.rikon-cv__btn-catch {
    font-size: 6vw;
    width: 23vw;
    height: 23vw;
}
/* .rikon-feature */
.rikon-feature {
    background-image: url(/wp-content/uploads/2026/07/rikon-feature__bg_sp.jpg);
	background-size: contain;
	padding-bottom: 5vw;
}
.rikon-feature h2 {
    height: 13vw!important;
}
.rikon-feature h2:before {
    top: -5px;
}
.rikon-feature h2:after {
    bottom: -5px;
}
.rikon-feature h2 span {
    padding-bottom: 2vw;
}
.rikon-feature .h2-wrapper:after {
    top: -19px;
}
.rikon-feature .h2-wrapper:before {
    bottom: -19px;
}
.rikon-feature .side-border:after,
.rikon-feature .side-border:before {
    height: 110%;
}
.rikon-feature__list {
    margin-top: 16vw;
	gap: 10vw;
}
.rikon-feature__item {
    width: 85%;
}
.rikon-feature__item-title {
    font-size: 4.8vw;
    height: auto;
    padding: 7vw 0 5vw;
}
.rikon-feature__item-num {
    width: 12vw;
    height: 12vw;
    top: 46vw;
}
.rikon-feature__item-text {
    padding: 0 7% 8% 7%;
    font-size: 3.6vw;
}
/* .rikon-point */
.rikon-point h2 span {
    position: inherit;
	top: inherit;
}
.rikon-point__item:before {
    font-size: 3.5vw;
    width: 8vw;
    height: 8vw;
}
.rikon-point__list {
    justify-content: space-between;
    flex-wrap: wrap;
	gap: 6vw 0;
	padding-top: 15vw;
}
.rikon-point__item {
    width: 48%;
}
.rikon-point__item-text {
    font-size: 4vw;
}
.rikon-point__text {
    text-align: left;
    font-size: 3.7vw;
    padding: 8vw 2vw 0;
}
/* .rikon-case */
.rikon-case__list {
    padding-top: 13vw;
    gap: 10vw;
}
.rikon-case__item,
.rikon-case__item:nth-child(even) {
    flex-direction: column;
    gap: 8vw;
    border-radius: 3.5vw;
    padding: 4% 5% 9% 5%;
}
.rikon-case__item-info,
.rikon-case__item:nth-child(even) .rikon-case__item-info {
    border-right: none;
	border-left: none;
    border-bottom: #d4c6b7a8 1px solid;
    padding: 0 0 6vw 0;
}
.rikon-case__item-info:before,
.rikon-case__item:nth-child(even) .rikon-case__item-info:before {
    width: 35px;
    height: 12px;
    top: inherit;
    bottom: 0;
    transform: translateX(-50%) translateY(100%);
    right: inherit;
    left: 50%;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.rikon-case__item-info:after,
.rikon-case__item:nth-child(even) .rikon-case__item-info:after	{
    width: 36px;
    height: 13px;
    top: inherit;
    bottom: 0;
    transform: translateX(-50%) translateY(100%);
    right: inherit;
    left: 50%;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.rikon-case__item-num {
    font-size: 7vw;
    text-align: left;
}
.rikon-case__item-image-container {
    gap: 12%;
    display: flex;
    align-items: center;
}
.rikon-case__item-image {
    width: 23vw;
    height: 23vw;
    margin: 0;
}
.rikon-case__item-image-title {
    padding: 0;
    font-size: 4.2vw;
}
.rikon-case__item-type {
    font-size: 3.8vw;
}
.rikon-case__item-inner {
    width: 100%;
}
.rikon-case__item-title {
    margin-bottom: 15px !important;
    padding-bottom: 10px !important;
    padding-left: 3px !important;
    font-size: 4.5vw !important;
}
.rikon-case__item-text {
    font-size: 3.7vw;
}
/* .rikon-greeting */
.rikon-greeting__title {
    font-size: 5.3vw;
    line-height: 1.37;
    padding: 0 1vw;
}
.rikon-greeting__image {
    padding: 8% 0;
}
.rikon-greeting__text {
    padding: 0 2vw;
}
/* .rikon-reason */
.rikon-reason__list {
    gap: 8vw;
    padding-top: 12vw;
}
.rikon-reason__item-title-container {
	gap: 2.5vw;
}
.rikon-reason__item-num {
    font-size: 5vw;
    width: 10vw;
    height: 10vw;
}
.rikon-reason__item-title {
    font-size: 4.6vw;
    line-height: 1.2;
}
.rikon-reason__item-text {
    font-size: 3.8vw;
}	
/* 	.rikon-flow */
.rikon-flow_btn {
	font-size: 4vw;
	 background-size: cover;
}
.rikon-flow__grid {
    column-gap: 3vw;
    padding-top: 10vw;
    grid-template-rows: 13vw 13vw 13vw 13vw 13vw 24vw;
    row-gap: 12vw;
}
.rikon-flow__text {
    font-size: 3.8vw;
    letter-spacing: 0;
    padding: 0 1vw;
    display: grid;
    place-content: center;
    line-height: 1.2;
}
.rikon-flow__text.b:before, .rikon-flow__text.c:before, .rikon-flow__text.d:before, .rikon-flow__text.e:before, .rikon-flow__text.f:before, .rikon-flow__text.g:before {
    height: 6vw;
    width: 6vw;
}
.rikon-flow__text.b:after, .rikon-flow__text.e:after, .rikon-flow__text.g:after {
    top: 16vw;
	width: 6vw;
	height: 31vw;
}
.rikon-flow__text.g:after {
    height: 6vw;
}
.rikon-flow__text.b:after {
    height: 81vw;
}
/* .rikon-contact */
.rikon-contact__lead {
    margin-top: 10vw;
    font-size: 4vw;
}
.rikon-contact__txt {
    margin-top: 5vw;
    font-size: 3.6vw;
}
.rikon-contact__table table,.rikon-contact__table thead,.rikon-contact__table tbody,.rikon-contact__table tr,.rikon-contact__table td{
	display:block;
	box-sizing:border-box;
	width: 100%;
}
.rikon-contact__table th {
    padding: 3vw 0;
    font-size: 4vw;
	  width: auto!important;
}
.rikon-contact__table td {
    padding: 0 0 5vw 0;
}
.rikon-contact-form {
    border: 2.5vw solid #f8f0ea;
    margin: 0;
    padding: 3vw 3vw 10vw 3vw;
}
.rikon-contact__table th p.rikon-contact__required {
    padding: 4px 10px;
    font-size: 3vw;
}
.rikon-contact-form input[type="text"], .rikon-contact-form input[type="email"], .rikon-contact-form select {
    padding: 2.5vw;
    font-size: 3.8vw;
}
.rikon-contact-form td.your-current select {
    width: 65%;
}
.rikon-contact-form td.your-current:after {
    width: 3.5vw;
    height: 1.7vw;
    top: 35%;
    left: 47vw;
}
.rikon-contact input[type="submit"] {
    cursor: pointer;
    display: block;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding: 5vw 0;
    color: #fff;
}
.rikon-contact button.is-submit {
    width: 100%;
    font-size: 4vw;
    border-radius: 8px;
}
.rikon-contact button.is-submit:after {
    font-size: 5vw;
}
.wpcf7-form .wpcf7-form-control-wrap {
    display: inline;
}

}
