@charset "utf-8";
@media screen and (min-width:1920px) {
  .pc {
    display: block;
  }
  .sp {
    display: none;
  }
  .mv_sp {
    display: none;
  }
}
@media screen and (max-width:1920px) {
  .pc {
    display: block;
  }
  .sp {
    display: none;
  }
  .mv_sp {
    display: none;
  }
}
@media screen and (max-width:1680px) {
  .pc {
    display: block;
  }
  .sp {
    display: none;
  }
  .logo img {
    width: 108px;
    margin: 5px 0 5px 5px;
  }
}
@media screen and (max-width:1280px) {
  .aboutContent {
    left: 20px;
  }
}
@media screen and (max-width:1140px) {
  .mv_txtSecond h3 {
    font-size: 4.8rem;
  }
  .mv_txtSecond {
    font-size: 1.4rem;
  }
  .mv_txt h2 {
    font-size: 5.4rem;
  }
  .servicepolicyContent {
    padding: 2px 0 50px;
  }
}
@media screen and (max-width:1024px) {
  section h2 {
    width: 80%;
  }
  .navigation, .footernav {
    font-size: 1.8rem;
  }
  #about {
    height: 700px;
  }
  .aboutimg {
    text-align: center;
    margin: 0 auto;
  }
  .aboutContent {
    top: 60%;
    left: 50%;
    transform: translateX(-50%);
    width: 75%;
  }
  #servicepolicy {
    background-image: url("../images/servicepolicy_tablet.jpg");
  }
  .people.flex {
    flex-direction: column;
  }
  .peoplework {
    margin: 20px auto 0;
  }
  .workList ul li {
    font-size: 1.6rem;
  }
  .stepList {
    flex-direction: column;
    justify-content: center;
  }
  .step {
    width: 80%;
    margin: 0 auto 20px;
    display: flex;
  }
  .right {
    transform: rotate(90deg);
    flex-direction: column;
    padding: 0;
  }
  .flowContent {
    height: 200px;
    clip-path: polygon(22% 0%, 100% 0, 100% 100%, 0 100%, 0% 50%);
    width: 70%;
  }
  .flow_txt {
    font-size: 1.5rem;
    letter-spacing: 0.075rem;
  }
  .flowimg {
    height: auto;
    width: 30%;
  }
  .flowWrapper .wrapper {
    margin-bottom: 40px;
  }
  .priceimg {
    width: 80%;
    margin: 0 auto 30%;
    text-align: inherit;
  }
  .priceContent {
    top: 80%;
    left: 50%;
    transform: translateX(-50%);
    width: 75%;
  }
}
@media screen and (max-width:959px) {
  .mv_txtSecond h3 {
    font-size: 4rem;
  }
  .mv_txt h2 {
    font-size: 4.4rem;
  }
  .mv_txtSecond p {
    text-indent: 2rem;
    font-size: 2rem;
  }
  .step {
    width: 75%;
  }
}
@media screen and (max-width:834px) {
  #about {
    height: 750px;
  }
	
  .aboutContent {
    top: 55%;
  }
	
	#marketer h3 {
		font-size: 1.8rem;}
  small {
    transform: scale(0.6);
    align-items: stretch;
    height: auto;
    text-align: center;
    padding-bottom: 50px;
    font-size: 1.6rem;
    display: block;
  }
}
@media screen and (max-width:768px) {
  .mv_txt h2 {
    font-size: 3.4rem;
  }
  .mv_txtSecond h3 {
    font-size: 3.6rem;
  }
  .mv_txtSecond p {
    font-size: 1.6rem;
  }
  #about {
    height: 650px;
  }
  .aboutimg {
    width: 80%;
  }
  .aboutContent {
    top: 45%;
  }
  #servicepolicy p {
    font-size: 1.3rem;
  }
  .priceimg {
    width: 80%;
  }
  .priceContent {
    ;
    top: 55%;
  }
  .priceimg {
    margin: 0 auto;
  }
  #price {
	 height:650px;
  }
  .step {
    flex-direction: column;
  }
  .flowContent {
    width: 100%;
  }
  .flowimg {
    width: 100%;
  }
  #contact {
    padding: 0;
  }
  .step {
    width: 80%;
  }
  .flowContent {
    width: auto;
  }
  .floatingPc {
    right: 0;
    bottom: 10%;
    left: auto;
    width: 90px;
    height: 90px;
  }
  .floatingPc p {
    display: none;
  }
  .floatingPc img {
    width: 55px;
    margin: 25px auto;
  }
}
@media screen and (max-width:670px) {
  .aboutimg {
	  width: 90%;}
	  .priceContent {
    top: 50%;
  }
	.priceimg {
		width: 90%;}
}
@media screen and (max-width:640px) {
  .navigation ul li:not(:last-child) a, .footernav ul li:not(:last-child) a {
    font-size: 80%;
  }
  .mv_txt h2 {
    font-size: 3rem;
    top: 20%;
    letter-spacing: 0.6rem;
  }
  .mv_txtSecond h3 {
    font-size: 3rem;
  }
  #about {
    height: 700px;
  }
  .aboutContent {
    top: 40%;
  }
	#price {
		height: 600px;}
	
}
@media screen and (max-width:600px) {
  #servicepolicy p {
    font-size: 1.2rem;
    margin-bottom: 20px;
  }
th {
		width: 25%;}
}
@media screen and (max-width:559px) {
  .mv_sp {
    display: block;
  }
  .mv_pc {
    display: none;
  }
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
  .logo img {
    width: 80px;
  }
  .mv img {
    margin-top: 55px;
    background-size: contain;
  }
  .mv_txtSecond {
    right: 0;
  }
  .mv_txtSecond h3 {
    font-size: 3.2rem;
    letter-spacing: 0.8rem;
    left: 10px;
  }
  .mv_txtSecond p {
    ont-size: 1.6rem;
    letter-spacing: 0.2rem;
    bottom: 20%;
  }
  #servicepolicy {
    background-image: url("../images/servicepolicy_sp.jpg");
	height: 250px;
  }
  .servicepolicyContent {
    padding: 10px 0 20px;
  }
  #servicepolicy p {
    padding: 0 30px;
    margin: 10px 20px;
  }
  h3 .m80 {
    width: 80%;
    margin: 0 auto 40px;
    text-align: justify;
  }
  #marketer h3 {
    line-height: 1.5;
  }
  .marketerList {
    flex-direction: column;
  }
  .flowContent {
    clip-path: polygon(35% 0%, 100% 0, 100% 100%, 0 100%, 0% 45%);
  }
  .flowimg {
    height: 120px;
  }
  .people.flex {
    flex-direction: row;
    width: 100%;
    margin-bottom: 36px;
    justify-content: center;
  }
  .marketerList {
    margin-bottom: 0;
  }
  .peoplework {
    margin: 0 0 0 20px;
  }
  .workList {
    flex-direction: column;
  }
  .workList ul {
    width: 100%;
  }
  .workList01 {
    margin: 0;
  }
  td {
    padding-right: 10px;
  }
  table {
    font-size: 1.1rem;
  }
  .priceContent p {
    font-size: 1.1rem;
  }
	.priceContent {
		top: 40%;}
  #contact {
    margin: 0 auto 80px;
    display: none;
  }
  /*drawer*/
  nav.drawer-nav {
    text-align: justify;
  }
  .drawer--right .drawer-nav {
    width: 100%;
    right: -100%;
    z-index: 500;
    margin-top: 0;
    background: linear-gradient(90deg, rgba(28, 156, 189, 0.9) 0%, rgba(2, 63, 100, 0.9) 100%);
    padding: 0;
  }
  .drawer-hamburger, .drawer-hamburger:hover {
    width: 3rem;
    padding: 18px 1.2rem 25px;
    background: linear-gradient(90deg, rgba(28, 156, 189, 1) 0%, rgba(2, 63, 100, 1) 100%);
    z-index: 9999;
  }
  .drawer--right.drawer-open .drawer-hamburger {
    right: 0;
  }
  .drawer-hamburger-icon, .drawer-hamburger-icon:after, .drawer-hamburger-icon:before {
    background: #fff;
  }
  .drawer--right .drawer-nav ul {
    margin: 20px auto;
    width: 56%;
  }
  .drawer--right .drawer-nav h1 img {
    width: 80px;
    margin: 5px 0 5px 5px;
  }
  .drawer--right .drawer-nav li a {
    color: #fff;
    font-size: 2.6rem;
    font-weight: 500;
  }
  .drawer--right .drawer-nav ul h3 {
    font-size: 1.4rem;
    line-height: 1.4;
    margin-bottom: 15px;
  }
  .drawer--right .drawer-nav ul h3 span {
    font-size: 1.2rem;
  }
  .drawer_contact {
    text-align: center;
  }
  .drawer_contact p {
    background: linear-gradient(90deg, rgba(28, 156, 189, 1) 0%, rgba(2, 63, 100, 1) 100%);
    border: solid 1px;
    width: 80%;
    margin: 0 auto;
    padding: 10px;
  }
  .drawer--right .drawer-nav li a:hover {
    text-decoration: none;
  }
  small {
    transform: scale(0.6);
    align-items: stretch;
    height: auto;
    text-align: center;
    padding-bottom: 90px;
    font-size: 1.0rem;
    display: block;
  }
  /*フローティングバナー*/
  .floatingNav {
    display: none;
    width: 100%;
    height: 60px;
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 100;
  }
  .floatingNav ul {
    height: 60px;
    width: 100%;
  }
  .floatingNav ul a {
    width: calc(100% / 2);
    display: block;
  }
  .floatingNav ul a li {
    font-size: 1.6rem;
    font-weight: 500;
    color: #fff;
    text-align: center;
    align-items: center;
    justify-content: center;
    margin-right: 0;
    height: 60px;
  }
  .floatingNav ul a:first-child li {
    background: linear-gradient(90deg, rgba(28, 156, 189, 1) 0%, rgba(2, 63, 100, 1) 100%);
  }
  .floatingNav ul a:first-child li img {
    height: 29px;
  }
  .floatingNav ul a:last-child li {
    background: #fff;
    color: #000;
	  border: 1px solid #023F64;
  }
  .floatingNav ul a:last-child li img {
    width: 28px;
    height: 19px;
  }
  .floatingNav ul a li p {
    display: inline;
    padding: 0 10px;
  }
  .floatingPc {
    display: none;
  }
}
@media screen and (max-width:480px) {
  #about h3 {
    font-size: 1.6rem;
  }
  .aboutContent p {
    font-size: 1.2rem;
  }
  #about {
    height: 550px;
  }
  .aboutContent {
    padding: 20px;
    top: 45%;
  }
}
@media screen and (max-width:414px) {
  p {
    letter-spacing: 0.1rem;
    line-height: 2;
    font-size: 1.2rem;
  }
  .mv_txt h2 {
    font-size: 2.5rem;
  }
  .mv_txtSecond p {
    font-size: 1.2rem;
  }
  .mv_txtSecond h3 {
    font-size: 2.5rem;
    letter-spacing: 0.6rem;
  }
  section h2 {
    font-size: 1.8rem;
  }
  #about {
    height: 450px;
  }
  .aboutContent {
    top: 40%;
  }
  #about h3 {
    font-size: 1.5rem;
    line-height: 1.5;
  }
  #servicepolicy h2 {
    margin: 15px auto;
  }
  servicepolicy p {
	  padding: 0px 15px;}
	  #servicepolicy p{
		  padding:0;
	  }
 
  #marketer h3 {
    font-size: 1.4rem;
    line-height: 1.5;
  }
  section h2 {
    margin: 20px auto;
  }
  .m80 {
    margin-bottom: 40px;
  }
  .marketerList {
    margin-bottom: 50px;
  }
  .peopleimg {
    margin: 0 auto;
  }
  .peoplework li {
    text-align: center;
  }
  .peoplework {
    margin: 20px auto 0;
  }
  .specialty {
    display: block;
    text-align: center;
  }
  .people.flex {
    flex-direction: column;
  }
  .workList ul li {
    font-size: 1.4rem;
    margin-bottom: 10px;
  }
  .step {
    width: 85%;
  }
  .flow_txt {
    font-size: 1.4rem;
  }
  .flowContent {
    height: 260px;
    clip-path: polygon(35% 0%, 100% 0, 100% 100%, 0 100%, 0% 35%);
  }
  .priceContent {
    padding: 20px;
  }
  th {
    width: 24%;
  }
  td {
    padding-right: 10px;
  }
  .contactContent {
    padding: 20px;
  }
	#price {
		height: 500px;}
}
@media screen and (max-width:375px) {
  .mv_txt h2 {
    font-size: 2.0rem;
  }
  .drawer--right .drawer-nav li a {
    font-size: 2.2rem;
  }
  .priceimg {
    margin: 0 auto 50%;
  }
table {
    font-size: 1rem;
	}
	td {
		padding-right: 5px;}
	.priceContent {
		top: 35%;}
	#price {
    height: 450px;
	}
}
@media screen and (max-width:360px) {
  .drawer--right .drawer-nav li a {
    font-size: 2rem;
  }
	#marketer h3 {
		padding: 20px 5px;}
}
@media screen and (max-width:351px) {
  small {
    width: 103%;
  }
  #about h3 {
    font-size: 1.4rem;
  }
  #servicepolicy {
    margin-bottom: 60px;
  }
	servicepolicy p {
		padding: 0px 10px;}
  #flow {
    margin-bottom: 40px;
  }
  table {
    font-size: 1rem;
    width: 110%;
  }
  .priceContent p {
    font-size: 1rem;
  }
  p {
    font-size: 1.3rem;
  }
}
@media screen and (max-width:320px) {
  .mv_txt h2 {
    font-size: 2.2rem;
    top: 30%;
  }
  .aboutContent {
    padding: 20px;
  }
  .drawer--right .drawer-nav li a {
    font-size: 2.0rem;
  }
  small {
    width: 106%;
  }
}