@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700;900&family=Poppins:wght@400;700;900&display=swap');

/************************************************************

     Contents | General Settings

************************************************************/

.content{
    position: relative;
    margin: 100px 0 0 0;

    /* Font Settings */
    font-family: 'Noto Sans JP', "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
    font-feature-settings: "palt" 1;

}

/************************************************************

     Hero

************************************************************/

.c-hero{
    position: relative;
    margin: 0;
    background: #0080d8;
}
.c-hero__pc{
    display: block;
    margin: 0 auto;
}
.c-hero__sp{
    display: none;
}

/************************************************************

     About

************************************************************/

.c-about{
    position: relative;
    margin: 0;
    padding: 6.4vw;
    background: #0080d8;
}
.c-about__inner p{
    text-align: center;
    color: #fff;
    font-size: 1.1em;
    font-weight: 700;
    line-height: 2.4;
}

/************************************************************

     Contents Navigation

************************************************************/

.c-nav{
    position: relative;
    margin: 0;
    background: #0080d8;
}
.c-nav__column{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.c-nav__column .__item{
    position: relative;
}
.c-nav__column .__item.__ttl{
    width: 40%;
    text-align: center;
}
.c-nav__column .__item.__ttl .__circle{
    position: relative;
    display: inline-block;
    width: 24vw;
    height: 24vw;
    background: #e1007f;
    border-radius: 100%;
}
.c-nav__column .__item.__ttl .__circle::before{
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 7.2vw;
    height: 7.2vw;
    background-image: url(../images/c_nav_ico_01.png);
    background-repeat: no-repeat;
    background-size: 100%;
}
.c-nav__column .__item.__ttl h2{
    position: absolute;
    color: #fff;
    text-align: center;
    font-size: 1.5em;
    font-weight: 900;
    line-height: 1.5;
    white-space: nowrap;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, - 60%);
    transform: translate(-50%, -60%);
}
.c-nav__column .__item.__ttl h2 span{
    display: block;
    font-size: .7em;
    margin-bottom: .5em;
}
.c-nav__column .__item.__nav{
    width: 60%;
    background: #fff;
    padding: 4.8vw;
    -webkit-border-radius: 6.4vw 0 0 0 / 6.4vw 0 0 0;
    -moz-border-radius: 6.4vw 0 0 0 / 6.4vw 0 0 0;
    border-radius: 6.4vw 0 0 0 / 6.4vw 0 0 0;
}
.c-nav__column .__item.__nav ul li{
    border-bottom: 3px dotted #00ace9;
}
.c-nav__column .__item.__nav ul li:last-child{}
.c-nav__column .__item.__nav ul li a{
    position: relative;
    display: block;
    padding: 1.2em 0 1.2em 48px;
    font-weight: 700;
    line-height: 1.5;
}
.c-nav__column .__item.__nav ul li a::before{
    content: "";
    display: block;
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 8px 5px 0 5px;
    border-color: #e1007f transparent transparent transparent;
    left: 20px;
    top: 50%;
    margin-top: -3px;
}

/************************************************************

     Problem | Common Settings

************************************************************/

.c-problem{
    position: relative;
    padding: 0;
    padding-top: calc( 60px + 6.4vw );
    padding-bottom: calc( 30px + 2.4vw )
}
#c-01, #c-03, #c-05, #c-07{
    background: #00ace9;
}
#c-02, #c-04, #c-06{
    background: #7fd5f4;
}

.c-problem__head{
    text-align: center;
    margin-bottom: 3.6vw;
    padding: 0 6.4vw;
}
.c-problem__head .__ico{
    position: relative;
    margin-bottom: 1.5em;
}
.c-problem__head .__ico p{
    position: relative;
    display: inline-block;
    background: #e1007f;
    color: #fff;
    width: 40vw;
    max-width: 240px;
    font-size: .9em;
    font-weight: 900;
    text-align: center;
    padding: 1.25em 0 1.25em .5em;
    border-radius: 50px;
}
.c-problem__head .__ico p::before{
    content: "";
    display: block;
    position: absolute;
    top: -40px;
    left: -30px;
    width: 80px;
    height: 78px;
    background-image: url(../images/c_problem_ico_01.png);
    background-repeat: no-repeat;
    background-size: 100%;
}

.c-problem__head h2{
    display: inline-block;
    font-size: 2.0em;
    font-weight: 900;
    line-height: 1.5;
}
.c-problem__ttl{
    margin: 0 4.8vw;
}
.c-problem__column{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    border-radius: 2.0vw;
    overflow: hidden;
    background: #0080d8;
}
.c-problem__column .__item{
    width: 50%;
}
.c-problem__column .__item.__ttl{
    background: #0080d8;
    text-align: center;
}
.c-problem__column .__item.__ttl .__recommend{
    display: inline-block;
    width: 180px;
    height: 49px;
    background-image: url(../images/c_problem_recommend.png);
    background-repeat: no-repeat;
    background-size: 100%;
    text-indent: -9999px;
}
.c-problem__column .__item.__ttl .__logo{
    margin: 2.0vw 0;
}
.c-problem__column .__item.__ttl .__logo img{
    width: auto;
}
.c-problem__column .__item.__ttl .__logo.__session img{
    width: 26vw;
    max-width: 640px;
}
.c-problem__column .__item.__ttl .__logo.__smartreview img{
    width: 24vw;
    max-width: 360px;
}
.c-problem__column .__item.__ttl .__logo.__looseleaf img{
    width: 35vw;
    max-width: 640px;
}
.c-problem__column .__item.__ttl .__about p{
    font-size: 1.2em;
    color: #fff;
    line-height: 1.8;
    font-weight: 400;
}
.c-problem__column .__item.__img{
    background: #fff;
}
.c-problem__item{
    position: relative;
    background: #fff;
    padding: 6.4vw 6.4vw 0;
    margin: 6.4vw 4.8vw 0;
    margin-bottom: calc(6.4vw + 30px);
    border-radius: 2.0vw;
}
.c-problem__item::before{
    content: "";
    display: block;
    position: absolute;
    width: 7.2vw;
    height: 7.2vw;
    background-image: url(../images/c_problem_ico_02.png);
    background-repeat: no-repeat;
    background-size: 100%;
    top: 0;
    left: 50%;
    margin-top: -3.6vw;
    margin-left: -3.6vw;
}
.c-problem__item .__inner .__head{
    text-align: center;
    margin-bottom: 2.4vw;
}
.c-problem__item .__inner .__head h3{
    font-weight: 900;
    font-size: 1.6em;
    line-height: 1.5;
}
.c-problem__item .__inner .__head p{
    font-size: .85em;
    color: #777;
    margin-top: 1.0em;
}
.c-problem__item .__inner .__column{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    flex-direction: row-reverse;
}
.c-problem__item .__inner .__column .__img{
    width: 45%;
    margin-left: 5%;
}
.c-problem__item .__inner .__column .__txt{
    width: 50%;
}
.c-problem__item .__inner .__img{
    margin: 0;
}
.c-problem__item .__inner .__txt{
    margin: 2.4vw 0;
}
.c-problem__item .__inner .__txt h4{
    font-size: 1.2em;
    font-weight: 900;
    margin-bottom: .5em;
    line-height: 1.5;
}
.c-problem__item .__inner .__txt p{
    font-size: .9em;
    line-height: 1.8;
}
.c-problem__item .__inner .__target{
    margin: 2.4vw 0 1.2vw;
    border: 4px solid #ff6700;
    display: flex;
    flex-wrap: wrap;
    border-radius: 10px;
    overflow: hidden;
}
.c-problem__item .__inner .__target .__item{
    padding: 1.5em;
}
.c-problem__item .__inner .__target .__item.__ttl{
    position: relative;
    width: 35%;
    background: #ff6700;
    text-align: center;
    white-space: nowrap;
}
.c-problem__item .__inner .__target .__item.__ttl::before{
    content: "";
    display: block;
    position: absolute;
    width: 50px;
    height: 50px;
    background-image: url(../images/c_problem_target.png);
    background-repeat: no-repeat;
    background-size: 100%;
    left: 15px;
    top: 50%;
    margin-top: -25px;
}
.c-problem__item .__inner .__target .__item.__ttl h5{
    font-weight: 700;
    color: #fff;
    font-size: .9em;
    line-height: 1.5;
    padding-left: 1.5em;
}
.c-problem__item .__inner .__target .__item.__body{
    width: 65%;
    text-align: center;
}
.c-problem__item .__inner .__target .__item.__body p{
    font-size: .9em;
    line-height: 1.5;
}
.c-problem__item .__inner .__link{
    position: relative;
    margin: 1.2vw 0;
    height: 40px;
}
.c-problem__item .__inner .__link a{
    position: absolute;
    width: 100%;
    display: block;
    height: 80px;
    line-height: 80px;
    background: #0080d8;
    text-align: center;
    color: #fff;
    font-weight: 700;
    border-radius: 10px;
    top: 0;
    left: 0;
}
.c-problem__item .__inner .__link a:hover{
    background: #005ca8;
}

/************************************************************

     Related

************************************************************/

.c-related{
    margin: 9.6vw 6.4vw;
}
.c-related__head{
    margin: 0 0 2.4vw;
    text-align: center;
}
.c-related__head h2{
    font-size: 1.35em;
    font-weight: 900;
    line-height: 1.5;
}
.c-related__body.__column{
    display: flex;
    flex-wrap: wrap;
    margin: 0 -1%;
}
.c-related__body.__column .__item{
    width: 48%;
    margin: 0 1%;
}