
#whole {
  position: relative;
  width: 640px;
  margin: 0 auto;
  overflow: hidden;
}
#index-content {
    position: relative;
}
#index-content a {
    transition-property: all;
    transition-duration: 300ms;
}
#index-content a:hover {
    opacity: 0.7;
}
#index-content section {
    text-align: center;
    padding-bottom: 80px;
}
#index-content section header {
    text-align: center;
    padding-top: 80px;
    padding-bottom: 54px;
    line-height: 1.5;
}
#index-content section header span {
    display: block;
    padding-bottom: 24px;
}
#index-content section header h2 {
    color: rgb(17, 35, 68);
    font-size: 40px;
    padding: 0px 0px 20px;
}
#index-content section header p {
    color: rgb(50, 50, 50);
    font-size: 22px;
    font-weight: bolder;
}
#index-content section div p.kouza {
    font-size: 22px;
    padding-top: 20px;
    color: rgb(20, 0, 121);
}
#index-content section div a {
    font-weight: bold;
    text-decoration: underline;
}
#index-content section a.start {
    display: inline-block;
    padding-top: 45px;
}
#index-content section:nth-of-type(2n) {
    background: url("../../img/index/stripe.png");
}
#index-content section.top {
    position: relative;
    padding-bottom: 0px;
}
#index-content section.top .visual {
    width: 640px;
    height: 742px;
    padding-top: 480px;
    text-align: center;
    box-sizing: border-box;
    background-image: url("../../img/index/main.jpg");
    background-position: 0px 0px;
    background-repeat: no-repeat;
}
#index-content section.top p.kouki {
    font-size: 22px;
    color: rgb(20, 0, 121);
    margin: 10px auto;
    width: 520px;
    text-shadow: 0px 0px 5px  #FFFFFF;
}
#index-content section.top p a {
    font-weight: bold;
    text-decoration: underline;
    line-height: 50px;
}
#index-content section.top ul {
    padding-top: 20px;
    width: 600px;
    margin: 0px auto;
    overflow: hidden;
}
#index-content section.top ul li {
    width: 162px;
    margin-top: 40px;
    margin-right: 56px;
}
#index-content section.top ul li:nth-of-type(3),
#index-content section.top ul li:nth-of-type(5) {
    margin-right: 0px;
}
#index-content section.top ul li:nth-of-type(4) {
    margin-left: 108px;
}
#index-content section.top .about {
    width: 640px;
    background: url("../../img/index/smartfolio.png") center 0px no-repeat, url("../../img/index/main_stripe.png") 0px 0px repeat;
    box-sizing: border-box;
}
#index-content section.top .about p {
    padding: 115px 20px 20px;
    text-align: left;
    line-height: 1.5;
    font-size: 22px;
}
#index-content section.con5 .memo {
    padding: 0px 20px;
    margin: 40px auto 0px;
    font-size: 20px;
    line-height: 1.5;
    text-align: left;
    color: rgb(51, 51, 51);
}
#index-content section.con5 ul {
    list-style: disc;
    padding-left: 30px;
}
#index-content p.pagetop {
    width: 500px;
    margin: 0px auto 80px;
    text-align: center;
}
#sec02 div.portfolio div.model div.about {
    width: 600px;
    margin: 0px auto;
    text-align: right;
    font-size: 18px;
}
#sec02 div.portfolio div.model div.about p {
    text-align: center;
    padding-top: 10px;
}
#sec02 div.portfolio div.model div.about p a {
    display: inline-block;
    padding: 26px 40px;
    color: rgb(51, 51, 51);
    border: 2px solid rgb(51, 51, 51);
}
#sec02 div.portfolio div.model div.about span {
    line-height: 2;
}
#index-content section.top ul {
    padding-bottom: 60px;
    text-align: center;
}
#index-content section.top ul li {
    width: 200px;
    text-align: center;
    margin-top: 40px;
    margin-right: 0px;
    display: inline-block;
}
#index-content section.top .about .movie {
    padding-bottom: 50px;
}
#index-content section.top .about .movie .ttl {
    font-size: 36px;
    text-align: center;
    padding: 0px 0px 20px;
}
#index-content section.top .btn-faq {
    position: absolute;
    top: 10px;
    right: 10px;
}
#index-content section.con1 {
    border-top: 1px solid rgb(217, 217, 217);
}
#index-content section.faq p.faq {
    margin-bottom: 35px;
}
#index-content section.faq {
    background: none;
}
#index-content section.faq header {
    padding-top: 60px;
    padding-bottom: 30px;
}
#index-content section.faq header h2 {
    color: rgb(0, 0, 0);
    font-size: 34px;
    font-weight: bold;
}
#index-content section.faq header p {
    font-size: 100%;
}
#index-content section.faq header a {
    color: rgb(20, 0, 121);
}
#index-content section.faq .accordion {
    margin: 0px auto;
    width: 600px;
}
#index-content section.faq .accordion > p {
    font-size: 30px;
}
#index-content section.faq .accordion h3 {
    color: rgb(21, 36, 69);
    font-size: 28px;
    font-weight: bold;
    line-height: 1.4;
    margin-top: 70px;
    margin-bottom: 35px;
}
#index-content section.faq .accordion h3:first-child {
    margin-top: 0px;
}
#index-content section.faq .accordion dl {
    border: 1px solid rgb(88, 88, 88);
    border-radius: 4px;
    margin-bottom: 20px;
    text-align: left;
}
#index-content section.faq .accordion dt {
    background-image: url("../../img/index/icon_open.png");
    background-repeat: no-repeat;
    background-position: 96% 50%;
    background-size: 11px;
    display: block;
    cursor: pointer;
    color: rgb(88, 88, 88);
    font-size: 25px;
    font-weight: bold;
    line-height: 1.4;
    padding: 20px 60px 20px 25px;
}
#index-content section.faq .accordion dt.active {
    background-image: url("../../img/index/icon_close.png");
}
#index-content section.faq .accordion dd {
    display: none;
    line-height: 1.8;
    margin: 0px 20px 30px;
    border-top: 1px dotted rgb(88, 88, 88);
    font-size: 24px;
    padding-top: 10px;
    word-wrap: break-word;
}
#index-content section.faq .accordion ol li {
    list-style: disc outside;
    margin-left: 1.5em;
}
#index-content section.faq .accordion a {
    color: rgb(20, 0, 121);
    font-weight: bold;
    text-decoration: underline;
}
#index-content section.faq .accordion .note {
    font-size: 22px;
}
#index-content section.faq .accordion h3 .note {
    display: block;
    color: rgb(0, 0, 0);
    font-weight: normal;
    margin-top: 20px;
}
#index-content section.faq .btn-backtop {
    margin-top: 100px;
    margin-bottom: 30px;
}