@charset "utf-8";
/* CSS Document */

body {
    font-size: 16px;
    font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Verdana, "メイリオ", Meiryo, sans-serif;
}

/* IE表示用のCSS　*/
_:-ms-input-placeholder, body {
  font-family: Meiryo, sans-serif;
}

.sans-serif{
     font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
}

.dsp_ib {
    display: inline-block;
}

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

header

-------------------------------*/
header {
    position: fixed;
    z-index: 99990;
    width: 100%;
    padding: 15px 10px;
    background: #3e3a39;
    border-top: 8px solid #f39800;
}

header .inner {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;
    width: 100%;
    max-width: 1000px;
    margin: auto;
}

header .inner h1 img {
    width: 100%;
    max-width: 467px;
}

header .inner h1 img:hover {
    opacity: 0.6;
    cursor: pointer;
}

header .inner .contact {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;
}

header .inner .contact .btn {
    padding: 0 20px;
}

header .inner .contact .btn a {
    display: block;
    width: 150px;
    padding: 3px 30px;
    color: #ffffff;
    text-align: center;
    box-shadow: 3px 3px 0 #776c5e;
    border-radius: 5px;
	transition: 0.2s all ease 0s;
}

header .inner .contact .btn a:hover {
    text-decoration: none;
    box-shadow: none;
    transform: translate3d(3px, 3px, 3px);
}

header .inner .contact .btn .btn_01 {
    margin-bottom: 10px;
    background: url("../images/arrow_01.png") no-repeat right 10px center #f29600;
}

header .inner .contact .btn .btn_02 {
    background: url("../images/arrow_01.png") no-repeat right 10px center #80b412;
}

header .inner .contact .tel {
    color: #ffffff;
    font-size: 14px;
    text-align: center;
}

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

main

-------------------------------*/
main {
    padding-top: 108px;
}

main .headline_01 {
    font-size: 40px;
    margin-bottom: 40px;
    text-align: center;
}

main .headline_01::after {
    content: "";
    display: block;
    width: 140px;
    height: 8px;
    margin: 10px auto 0;
    background: #f39800;
}


/*-------------------------------
.mv
-------------------------------*/
main .mv {
    padding: 8px 10px 0;
    text-align: center;
    background: url("../images/bg_mv.png") repeat-x left top, #fff799;
}

main .mv h2 {
    margin: 0;
}

main .mv img {
    width: 100%;
    max-width: 937px;
}

/*-------------------------------
.pickup
-------------------------------*/
main .pickup {
    padding: 40px 1vw 80px;
    background: #fff799;
}

main .pickup .inner {
    width: 100%;
    max-width: 1100px;
    margin: auto;
}

main .pickup .inbox {
    padding: 30px;
    background: #ffffff;
    border: 4px solid #e5e5e5;
    border-radius: 30px;
}

main .pickup h2 {
    margin-bottom: 20px;
    color: #58c3e0;
    font-size: 54px;
}

main .pickup p {
    margin-bottom: 0;
    font-size: 24px;
}

main .pickup .inbox:nth-child(1) {
    position: relative;
    margin: 0 280px 80px 80px;
    padding-right: 100px;
}

main .pickup .inbox:nth-child(1) .img {
    position: absolute;
    top: 45px;
    right: -280px;
}

main .pickup .inbox:nth-child(1) .img img {
    width: 100%;
    max-width: 450px;
}

main .pickup .inbox:nth-child(2) {
    margin: 0 80px 70px 160px;
}

main .pickup .inbox:nth-child(2) h2 img {
    width: 100%;
    max-width: 883px;
}

main .pickup .inbox:nth-child(2) p {
    margin-left: 60px;
}

main .pickup .inbox:nth-child(3) {
    margin: 0 160px 0 80px;
}

main .pickup .inbox:nth-child(3) .img {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    padding: 1em 0;
}

main .pickup .inbox:nth-child(3) .img img {
    width: 100%;
    max-width: 32%;
}



/*-------------------------------
.slider
-------------------------------*/
main .slider {
    padding: 0 10px;
    margin: 60px 0;
}

main .slider .inner {
    text-align: center;
}

main .slider .inner p {
    font-size: 24px;
}

main .slider .inner p span {
    font-size: 16px;
}

/*-------------------------------
.paper_list
-------------------------------*/
main .paper_list {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
    list-style: none;
    width: 100%;
    max-width: 1000px;
    margin: auto;
    padding: 0;
}

main .paper_list li {
    -webkit-flex-basis: 15.5%;
    flex-basis: 15.5%;
    max-width: 15.5%;
    margin-right: 1%;
}

main .paper_list li img {
	width: 100%;
}

main .paper_list li p {
	font-size: 14px;
    text-align: left;
}

/*-------------------------------
.contact
-------------------------------*/
main .contact {
    padding: 50px 10px 100px;
    background: #eeeeee;
    text-align: center;
}

main .contact .btn {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto 20px;
    text-align: center;
}

main .contact .btn a {
    display: block;
    width: 300px;
    margin: 10px;
    padding: 10px 30px;
    color: #ffffff;
    font-size: 26px;
    text-align: center;
    box-shadow: 3px 3px 0 #776c5e;
    border-radius: 5px;
	transition: 0.2s all ease 0s;
}

main .contact .btn a:hover {
    text-decoration: none;
    box-shadow: none;
    transform: translate3d(3px, 3px, 3px)
}

main .contact .btn .btn_01 {
    background: url("../images/arrow_01.png") no-repeat right 10px center #f29600;
}

main .contact .btn .btn_02 {
    background: url("../images/arrow_01.png") no-repeat right 10px center #80b412;
}

main .contactmain .contact .img {
    margin: 20px 10px 40px;
    text-align: center;
}

main .contact .img img {
    width: 100%;
    max-width: 300px;
    margin: 5px;
    border-radius: 10px;
}

main .contact .tel {
    width: 100%;
    max-width: 750px;
    margin: auto;
    padding: 20px;
    text-align: center;
    background: #ffffff;
    border: 3px solid #f39800;
    box-shadow: 3px 3px 0 #ebd1a6;
    border-radius: 5px;
}

main .contact .tel img {
    width: 100%;
    max-width: 429px;
}


footer .guide {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
    padding: 30px 10px;
    background: #666666;
}

footer .guide ul {
    -webkit-flex-basis: 25%;
    flex-basis: 25%;
    max-width: 25%;
    margin-bottom: 0;
    color: #ffffff;
}

footer .guide a {
    color: #ffffff;
    font-size: 14px;
}

footer .info {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
    padding: 30px 10px;
    background: #333333;
}

footer .info .logo {
    -webkit-flex-basis: 45%;
    flex-basis: 45%;
    max-width: 45%;
    padding: 0 15px;
}

footer .info .logo img {
    width: 100%;
    max-width: 467px;
}

footer .info .text {
    -webkit-flex-basis: 55%;
    flex-basis: 55%;
    max-width: 55%;
    padding: 0 15px;
    color: #ffffff;
    font-size: 14px;
    line-height: 1.5;
}

/* copyright */
.copyright{
	background: #f90;
	padding: 5px 30px;
    font-size: 14px;
    line-height: 1;
}

@media screen and (max-width:1130px) {


}

@media screen and (min-width:641px) and ( max-width:1130px) {

main .pickup .inbox {
    padding: 3vw;
}

main .pickup h2 {
    font-size: 5vw;
}

main .pickup p {
    font-size: 2.3vw;
}

main .pickup .inbox:nth-child(1) {
    position: relative;
    margin: 0 25vw 8vw 0;
    padding-right: 13vw;
}

main .pickup .inbox:nth-child(1) .img {
    position: absolute;
    top: 45px;
    right: -25vw;
}

main .pickup .inbox:nth-child(1) .img img {
    width: 40vw;
    max-width: 500px;
}

main .pickup .inbox:nth-child(2) {
    margin: 0 0 5vw 10vw;
}

main .pickup .inbox:nth-child(2) p {
    margin-left: 6vw;
}

main .pickup .inbox:nth-child(3) {
    margin: 0 10vw 0 0;
}


}

@media screen and (max-width:640px) {

.pc {
    display: none;
}

header {
    position: static;
    padding: 5px 10px 10px;
}

header .inner {
	display: block;
}

header .inner h1 {
    margin: 0;
}

header .inner h1 img:hover {
    opacity: 0.6;
    cursor: pointer;
}

header .inner .contact {
	display: none;
}

main {
    padding-top: 0;
}

main .headline_01 {
    font-size: 8vw;
    margin-bottom: 30px;
}

main .headline_01::after {
    width: 100px;
    height: 6px;
}

main .pickup {
    padding: 8vw 3vw;
}

main .pickup h2 {
    font-size: 5.8vw;
    margin-bottom: 0.5em;
}

main .pickup p {
    font-size: 3.5vw;
}

main .pickup .inbox {
    padding: 5vw;
}

main .pickup .inbox:nth-child(1) {
    position: static;
    margin: 0 0 5vw 0;
    padding-right: 5vw;
}

main .pickup .inbox:nth-child(1) .img {
    position: static;
    padding-top: 3vw;
    text-align: center;
}

main .pickup .inbox:nth-child(1) .img img {
    width: 100%;
    max-width: 500px;
}

main .pickup .inbox:nth-child(2) {
    margin: 0 0 5vw 0;
}

main .pickup .inbox:nth-child(2) p {
    margin-left: 0;
}

main .pickup .inbox:nth-child(3) {
    margin: 0 0 0 0;
}


main .slider {
    margin-bottom: 30px;
}

main .content {
    margin-bottom: 40px;
}

main .content .inner {
    font-size: 4vw;
    padding: 4vw;
}

main .content .inner h2 {
    position: static;
    margin-top: 0;
    font-size: 7vw;
}

main .paper_list li {
    -webkit-flex-basis: 31%;
    flex-basis: 31%;
    max-width: 31%;
    margin-right: 2.3%;
}

main .paper_list li img {
	width: 100%;
}

main .paper_list li p {
	line-height: 1.4;
}

main .fancybox-content {
	width: 98%;
}

main .contact {
    padding: 30px 10px 60px;
}

main .contact .btn {
	display: block;
    margin-bottom: 30px;
}

main .contact .btn a {
    width: 90%;
    margin: 10px auto;
    font-size: 6vw;
}

main .contact .tel {
    width: 100%;
    max-width: 750px;
    margin: auto;
    padding: 20px;
    text-align: center;
    background: #ffffff;
    border: 3px solid #f39800;
    box-shadow: 3px 3px 0 #ebd1a6;
    border-radius: 5px;
}

main .contact .tel img {
    width: 100%;
    max-width: 429px;
}

main .contact .img img {
    width: 45%;
}

footer .guide {
	display: block;
    padding: 20px 10px;
}

footer .guide ul {
    max-width: 100%;
}

    
footer .info {
	display: block;
}

footer .info .logo {
    max-width: 100%;
    padding: 0 0 20px;
}

footer .info .text {
    max-width: 100%;
    padding: 0;
}

}
