@charset "UTF-8";
.btn {
  position: relative;
  display: inline-block;
  background-color: white;
  border: 1px solid black;
  font-weight: 600;
  padding: 10px 40px;
  margin: 10px auto;
  cursor: pointer;
  transition: all 0.3s;
  color: black;
  text-decoration: none !important; }
  .btn.float:hover {
    background-color: black;
    color: white;
    box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, 0.5); }
  .btn.filled {
    background-color: black;
    color: white;
    box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, 0.5); }
    .btn.filled:hover {
      background-color: white;
      color: black;
      box-shadow: none; }
  .btn.letter-spacing:hover {
    background-color: #50b09c;
    border: 1px solid white;
    letter-spacing: 3px;
    color: white; }
  .btn.shadow {
    box-shadow: none; }
    .btn.shadow:hover {
      transform: translate(-2.5px, -2.5px);
      box-shadow: 5px 5px 0 0 black; }
  .btn.solid {
    box-shadow: 2px 2px 0 0 black;
    border-radius: 7px; }
    .btn.solid:hover {
      transform: translate(2px, 2px);
      box-shadow: none; }
  .btn.slide-bg {
    position: relative;
    overflow: hidden;
    z-index: 1; }
    .btn.slide-bg::before {
      content: "";
      display: inline-block;
      width: 100%;
      height: 100%;
      background-color: black;
      position: absolute;
      top: 0;
      left: 0;
      transform: translateX(-100%);
      transition: transform 0.3s;
      z-index: -1; }
    .btn.slide-bg:hover {
      color: white; }
      .btn.slide-bg:hover::before {
        transform: none; }
  .btn.cover-3d {
    position: relative;
    z-index: 1;
    transform-style: preserve-3d;
    perspective: 300px; }
    .btn.cover-3d span {
      display: inline-block;
      transform: translateZ(20px); }
    .btn.cover-3d::before {
      content: "";
      display: inline-block;
      width: 100%;
      height: 100%;
      background-color: black;
      position: absolute;
      top: 0;
      left: 0;
      transform: rotateX(90deg);
      transition: all 0.3s;
      transform-origin: top center;
      opacity: 0; }
    .btn.cover-3d:hover {
      color: white; }
      .btn.cover-3d:hover::before {
        transform: none;
        opacity: 1; }

.btn-cubic {
  position: relative;
  display: inline-block;
  transform-style: preserve-3d;
  perspective: 300px;
  width: 150px;
  height: 50px;
  margin: 0 auto;
  cursor: pointer;
  font-weight: 600; }
  .btn-cubic span {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 1px solid black;
    line-height: 48px;
    text-align: center;
    transition: all 0.3s;
    transform-origin: center center -25px;
    color: black; }
  .btn-cubic .hovering {
    background-color: black;
    color: white;
    transform: rotateX(90deg); }
  .btn-cubic .default {
    background-color: white;
    color: black;
    transform: rotateX(0); }
  .btn-cubic:hover .hovering {
    transform: rotateX(0); }
  .btn-cubic:hover .default {
    transform: rotateX(-90deg); }

.mobile-menu {
  position: fixed;
  right: 0;
  top: 60px;
  width: 300px; }
  .mobile-menu__btn {
    background-color: unset;
    border: none;
    outline: none !important;
    cursor: pointer; }
    .mobile-menu__btn > span {
      background-color: black;
      width: 35px;
      height: 2px;
      display: block;
      margin-bottom: 9px;
      transition: transform 0.7s; }
      .mobile-menu__btn > span:last-child {
        margin-bottom: 0; }
  .mobile-menu__cover {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3);
    opacity: 0;
    visibility: hidden;
    transition: opacity 1s;
    cursor: pointer;
    z-index: 200; }
  .mobile-menu__main {
    padding: 0;
    perspective: 2000px;
    transform-style: preserve-3d; }
  .mobile-menu__item {
    list-style: none;
    display: block;
    transform: translate3d(0, 0, -1000px);
    padding: 0 40px;
    transition: transform 0.3s, opacity 0.2s;
    opacity: 0; }
  .mobile-menu__link {
    display: block;
    margin-top: 30px;
    color: black;
    text-decoration: none !important; }

.menu-open #container {
  transform: translate(-300px);
  box-shadow: 0 8px 40px -10px rgba(0, 0, 0, 0.8); }
.menu-open .mobile-menu__cover {
  opacity: 1;
  visibility: visible; }
.menu-open .mobile-menu__item {
  transform: none;
  opacity: 1; }
  .menu-open .mobile-menu__item:nth-child(1) {
    transition-delay: 0.07s; }
  .menu-open .mobile-menu__item:nth-child(2) {
    transition-delay: 0.14s; }
  .menu-open .mobile-menu__item:nth-child(3) {
    transition-delay: 0.21s; }
  .menu-open .mobile-menu__item:nth-child(4) {
    transition-delay: 0.28s; }
  .menu-open .mobile-menu__item:nth-child(5) {
    transition-delay: 0.35s; }
.menu-open .mobile-menu__btn > span {
  background-color: black; }
  .menu-open .mobile-menu__btn > span:nth-child(1) {
    transition-delay: 70ms;
    transform: translateY(11px) rotate(135deg); }
  .menu-open .mobile-menu__btn > span:nth-child(2) {
    transition-delay: 0s;
    transform: translateX(-18px) scaleX(0); }
  .menu-open .mobile-menu__btn > span:nth-child(3) {
    transition-delay: 140ms;
    transform: translateY(-11px) rotate(-135deg); }

.appear.up .item {
  transform: translateY(6px); }

.appear.down .item {
  transform: translateY(-6px); }

.appear.left .item {
  transform: translateX(40px); }

.appear.right .item {
  transform: translateX(-40px); }

.appear .item {
  transition: all 1.5s;
  opacity: 0; }
.appear.inview .item {
  opacity: 1;
  transform: none; }
  .appear.inview .item:nth-child(1) {
    transition-delay: 0.5s; }
  .appear.inview .item:nth-child(2) {
    transition-delay: 1s; }
  .appear.inview .item:nth-child(3) {
    transition-delay: 1.5s; }
  .appear.inview .item:nth-child(4) {
    transition-delay: 2s; }
  .appear.inview .item:nth-child(5) {
    transition-delay: 2.5s; }
  .appear.inview .item:nth-child(6) {
    transition-delay: 3s; }
  .appear.inview .item:nth-child(7) {
    transition-delay: 3.5s; }
  .appear.inview .item:nth-child(8) {
    transition-delay: 4s; }
  .appear.inview .item:nth-child(9) {
    transition-delay: 4.5s; }
  .appear.inview .item:nth-child(10) {
    transition-delay: 5s; }

/******************************************************************

Stylesheet: ベーススタイル

******************************************************************/
.font-sm, .sub-title {
  font-size: 14px; }

.font-md {
  font-size: 17px; }

.font-lr, .works__title, .skills__title {
  font-size: 17px; }

.font-lg, .main-title {
  font-size: 25px; }

.mb-sm, .about__img, .works__title, .skills__title, .profile__top, .blog__img > img {
  margin-bottom: 16px !important; }

.mb-lg, .profile__lists, .blog__header {
  margin-bottom: 80px !important; }

.pb-sm, .about__texts {
  padding-bottom: 16px !important; }

.pb-lg {
  padding-bottom: 80px !important; }

.content-width, .header__inner, .about, .works, .skills, .skills__container, .footer, .profile__top, .profile__ability, .profile__list, .profile__softs, .WSC__inner, .blog, .contact__inner {
  width: 90%;
  margin: 0 auto;
  max-width: 1500px; }

.flex, .header__nav, .header__ul, .about__inner, .works__inner, .skills__container, .footer__nav, .footer__ul, .profile__top, .blog, .blog__header {
  display: flex;
  flex-direction: column; }

#main-content {
  padding-top: 100px; }

#container {
  transition: transform 0.5s, box-shadow 0.5s; }

body {
  font-family: "Raleway", "ヒラギノ丸ゴ Pro W5", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W5", "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO", "Noto Sans JP", sans-serif; }

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: transparent;
  height: 100px;
  display: flex;
  align-items: center;
  z-index: 100; }
  .header.triggered {
    background-color: rgba(255, 255, 255, 0.9);
    box-shadow: 10px 0 25px -10px rgba(0, 0, 0, 0.5); }
  .header__logo {
    color: black; }
  .header__nav {
    display: none;
    justify-content: space-between;
    align-items: center;
    text-align: center; }
  .header__ul {
    padding: 0;
    margin: 0;
    list-style: none; }
  .header__name {
    text-align: center; }
    .header__name > a {
      text-decoration: none; }
  .header__li {
    padding: 0;
    margin: 10px; }
    .header__li > a {
      color: black;
      text-decoration: none !important; }
  .header__inner {
    display: flex;
    justify-content: space-between;
    align-items: center; }

.about__inner {
  justify-content: space-between;
  padding: 15px;
  /*		background-color: $cBgGray;*/ }
.about__img {
  height: 200px; }
  .about__img > img {
    object-fit: cover;
    width: 100%;
    height: 100%; }
.about__btn {
  z-index: 1000;
  text-align: center; }
.about__title {
  font-weight: 600;
  font-size: 30px;
  text-align: center; }
.about__sub {
  margin-bottom: 16px;
  text-align: center; }
.about__around {
  overflow: hidden;
  z-index: -1;
  position: relative;
  background-color: white; }
  .about__around::before {
    content: '';
    display: block;
    position: absolute;
    top: 150;
    width: 100%;
    height: 100%;
    left: 60%;
    background-color: #ebeeef;
    transform: skewX(147deg);
    z-index: -1; }

.about__img > img {
  width: 100%; }

.hover-darken::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 30;
  transition: background-color 0.3s ease;
  pointer-events: none; }
.hover-darken:hover::before {
  background-color: rgba(0, 0, 0, 0.4); }

.works__btn {
  text-align: center; }
.works__img {
  overflow: hidden;
  position: relative; }
  .works__img > a > img:hover {
    transform: scale(1.3); }
.works__details {
  position: absolute;
  z-index: 50;
  top: 10%;
  left: 10%;
  right: 10%;
  bottom: 10%;
  background: rgba(0, 0, 0, 0.5); }

.main-title {
  font-weight: 600;
  margin-bottom: 0;
  letter-spacing: 0.1em;
  margin-top: 50px;
  display: block; }

.sub-title {
  color: #535353;
  text-align: center; }

.skills {
  margin-bottom: 50px; }
  .skills__around {
    overflow: hidden;
    position: relative; }
    .skills__around::before {
      content: '';
      display: block;
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      right: 30%;
      bottom: 0;
      left: -78%;
      background-color: #ebeeef;
      transform: skewX(-147deg);
      z-index: -1; }
  .skills > div > p, .skills h2 {
    text-align: left; }
  .skills__inner {
    position: relative; }
    .skills__inner::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      /*			background-color: $cBgGray;*/ }
  .skills__container {
    position: relative;
    z-index: 2; }
    .skills__container > p {
      text-align: center; }
  .skills__item {
    margin-bottom: 50px; }
  .skills__img {
    text-align: center; }

.main {
       /*
	background: #151515 url("../../images/4477196_m.jpg")no-repeat fixed left bottom;
	background-size: cover;*/
  width: 100%;
  /*	height: 500px;*/
  position: relative;
  z-index: -1;
  /*	&::after {
  		content: '';
  		position: absolute;
  		top: 0;
  		left: 0;
  		width: 100%;
  		height: 100%;
  		background: rgba(0, 0, 0, 0.1);
  	}*/ }
  .main__title {
    color: white;
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 3;
    display: block;
    font-size: 1.3em; }
  .main__text {
    color: white;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 3;
    display: none; }
  .main__footer {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    z-index: 1;
    height: 68px;
    width: 22px; }
  .main__downarrow {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 6px;
    animation-name: kf-arrow-anime;
    animation-duration: 2s;
    animation-timing-function: linear;
    animation-delay: 0s;
    animation-iteration-count: infinite;
    animation-direction: normal;
    animation-fill-mode: forwards; }
  .main__scrolltext {
    color: rgba(255, 255, 255, 0.7);
    position: absolute;
    transform: rotate(90deg);
    color: white;
    left: -8px;
    top: 11px;
    font-size: 1.2em; }
  .main__inner > img {
    width: 100%; }

.logo__name {
  font-size: 30px; }

.footer__bg {
  background-color: #5295b4; }

.footer {
  color: white;
  padding: 60px 0; }
  .footer__nav {
    justify-content: space-between;
    align-items: center;
    text-align: center; }
  .footer__ul {
    padding: 0;
    margin: 0;
    list-style: none; }
  .footer__name {
    text-align: center; }
  .footer__li {
    padding: 0;
    margin: 10px; }
    .footer__li > a {
      color: white;
      text-decoration: none !important; }

.works__img > a > img {
  transition: all 0.3s;
  width: 100%; }

@keyframes kf-arrow-anime {
  0% {
    transform: translateY(-10%); }
  30% {
    transform: none; }
  50%,100% {
    transform: translateY(-10%); } }
.side {
  display: none;
  position: fixed;
  top: 70%;
  transform: translateY(-50%);
  transition: all 0.8s ease-in; }
  .side a, .side span {
    color: black;
    text-decoration: none !important;
    margin: 0 40px;
    vertical-align: middle; }
  .side.left {
    left: 50px;
    opacity: 1; }
    .side.left.inview {
      opacity: 1;
      left: 50px; }
    .side.left .side__inner {
      transform-origin: top left;
      transform: rotate(-90deg); }
  .side.right {
    right: 50px;
    opacity: 0; }
    .side.right.inview {
      opacity: 1;
      right: 50px; }
    .side.right .side__inner {
      transform-origin: top right;
      transform: rotate(90deg); }

.icon {
  position: relative; }
  .icon::before {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: -20px;
    width: 1em;
    height: 1em;
    transform: translateY(-50%);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain; }
  .icon.twitter::before {
    background-image: url(/images/twitter.svg); }
  .icon.facebook::before {
    background-image: url(/images/facebook.svg); }

.page {
  position: fixed;
  top: 40%;
  transform: translateY(-50%);
  transition: all 0.8s ease-in; }
  .page p {
    /*		color: $cBlack;
    		text-decoration: none !important;
    		margin: 0 40px;
    		vertical-align: middle;*/
    font-size: 1.3em;
    border-bottom: double 6px black; }
  .page.left {
    left: -10px;
    opacity: 0;
    display: none; }
    .page.left.inview {
      opacity: 1;
      left: 10px; }
    .page.left .page__inner {
      transform-origin: top left;
      transform: rotate(-90deg); }

/*.top_btn {
	position: fixed;
	top: 70%;
	transform: translateY(-50%);
	transition: all 0.8s ease-in;
	right: 50px;
	opacity: 1;
		&.inview {
			opacity: 1;
			right: 50px;
		}

	}*/
/* ========================================================
矢印アイコン
=========================================================*/
.arrow {
  position: relative;
  display: inline-block;
  padding: 0 0 0 16px;
  color: #000;
  vertical-align: middle;
  text-decoration: none; }
  .arrow::after, .arrow::before {
    position: absolute;
    content: "";
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    vertical-align: middle; }

.arrow_down::before,
.arrow_up::before {
  top: auto;
  left: auto;
  bottom: 8px;
  width: 10px;
  height: 10px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: rotate(-45deg); }

/* ========================================================
ページトップに戻るボタン
=========================================================*/
#btn-backtotop {
  position: fixed;
  bottom: 30px;
  right: 30px;
  z-index: 1000;
  transition: all 1s ease-in;
  transition: bottom 0.2s ease-out;
  opacity: 0; }
  @media screen and (max-width: 767px) {
    #btn-backtotop {
      bottom: 10px;
      right: 5px; } }
  #btn-backtotop.fadein {
    opacity: 1; }
  #btn-backtotop:hover {
    opacity: .8;
    bottom: 34px; }
    @media screen and (max-width: 767px) {
      #btn-backtotop:hover {
        bottom: 10px; } }
    #btn-backtotop:hover::after {
      box-shadow: 6px 6px 10px 0px rgba(0, 0, 0, 0.4); }
      @media screen and (max-width: 767px) {
        #btn-backtotop:hover::after {
          box-shadow: none; } }
  #btn-backtotop::after {
    content: "";
    display: block;
    color: #fff;
    text-align: center;
    width: 80px;
    height: 80px;
    padding: 4px;
    border-radius: 80px;
    background-color: #bbc5ca;
    transition: all .3s;
    transform: scale(0.8) rotate(45deg);
    transition: background-color 0.5s ease-out; }
    @media screen and (max-width: 767px) {
      #btn-backtotop::after {
        width: 40px;
        height: 40px; } }
  #btn-backtotop .arrow {
    top: 72px;
    left: 13px; }
    @media screen and (max-width: 767px) {
      #btn-backtotop .arrow {
        top: 46px;
        left: -1px; } }
    #btn-backtotop .arrow::before {
      width: 20px;
      height: 20px;
      z-index: 1; }
      @media screen and (max-width: 767px) {
        #btn-backtotop .arrow::before {
          width: 10px;
          height: 10px; } }

/*.right {
  width: 50px;
  height: 50px;
  position: fixed;
  right: 0;
  bottom: 0;
  background: #bbc5ca;
  opacity: 0.6;
  border-radius: 50%;
		& a {
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
			&::before {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f106';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -5px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
			}
		}
	}*/
.profile {
  /*	&__block {
  		@extend .content-width;
  		@extend .flex;
  		@extend .mb-sm;
  	}*/
  /*	&__texts {
  		width: 90%;
  		margin: 0 auto;
  	}*/ }
  .profile__top {
    vertical-align: middle; }
  .profile__img > img {
    max-width: 100%; }
  .profile__tables {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: 5px; }
    .profile__tables:nth-child(odd) {
      background-color: #ebeeef; }
  .profile__bullet {
    list-style: none;
    padding: 0;
    margin: 0; }
  .profile__interest {
    list-style: none;
    padding: 0;
    margin: 0; }
  .profile__mTitle {
    font-weight: 900;
    margin-bottom: 0;
    letter-spacing: 0.1em;
    margin-top: 5px;
    display: block; }
  .profile__sTitle {
    border-bottom: 1px solid black; }

.WSC__img > img {
  max-width: 100%; }
.WSC__title {
  color: #50b09c; }

.blog__header {
  text-align: center; }
.blog__day {
  margin-top: auto; }
.blog__img > img {
  width: 100%; }
.blog__text {
  padding: 0 1em; }

/*コンタクトフォームテーブル関係*/
table {
  border-collapse: collapse; }

/*p {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  margin: 60px auto 40px;
}*/
input[type="submit"],
input[type="text"],
select,
textarea,
button {
  -moz-appearance: none;
  -webkit-appearance: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  outline: none;
  border: none; }

input[type="text"],
textarea {
  background: #f8f8f8;
  display: block;
  font-size: 16px;
  padding: 12px 15px;
  width: 100%;
  transition: 0.8s;
  border-radius: 0; }

input[type="text"]:focus,
textarea:focus {
  background: #e9f5fb;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); }

textarea[name="content"] {
  display: inline-block;
  width: 100%;
  height: 200px; }

input::placeholder,
textarea::placeholder {
  color: #ccc; }

::-webkit-input-placeholder {
  color: #ccc;
  opacity: 1; }

::-moz-placeholder {
  color: #ccc;
  opacity: 1; }

:-ms-input-placeholder {
  color: #ccc;
  opacity: 1; }

.form-table {
  width: 100%; }

.form-table th,
.form-table td {
  border-top: 1px solid #d7d7d7;
  border-bottom: 1px solid #d7d7d7;
  padding: 20px; }

.form-table th {
  background: #92d0c3;
  /*  padding-left: 50px;*/
  position: relative;
  text-align: left;
  width: 300px; }

.form-table th,
.form-table td {
  display: block;
  width: 100%;
  border-bottom: none; }

.btn_area {
  text-align: center;
  margin-bottom: 50px; }

.youtube_frame {
  width: 100%;
  height: 315px; }

.WSC__contents {
  margin-bottom: 100px; }
.WSC__img {
  text-align: center; }

@media (min-width: 480px) {
  /******************************************************************
  
  Stylesheet: 480px以上(スマホの横向き)のモニタで適用
  
  ******************************************************************/ }
@media (min-width: 600px) {
  /******************************************************************
  
  Stylesheet: 600px以上のタブレットやモニタで適用
  
  ******************************************************************/
  .flex, .header__nav, .header__ul, .about__inner, .works__inner, .skills__container, .footer__nav, .footer__ul, .profile__top, .blog, .blog__header {
    flex-direction: row;
    flex-wrap: wrap; }

  .works__item {
    flex-basis: 50%; }
  .works__btn {
    margin: 0 auto; }
  .works > p {
    text-align: left; }

  .skills__container {
    justify-content: space-between; }
  .skills__item {
    flex-basis: 47%; }

  .about__inner {
    padding: 50px; }
  .about__texts, .about__img {
    flex-basis: 47%;
    height: 250px; }
  .about__texts {
    display: flex;
    align-items: center; }
  .about__title {
    text-align: left;
    font-size: 25px; }
  .about__sub {
    text-align: left; }

  .footer__name {
    text-align: left; }

  .profile__top {
    flex-wrap: nowrap;
    justify-content: space-between; }
  .profile__texts, .profile__img {
    flex-basis: 47%; }
  .profile__img > img {
    width: 100%; }

  .page p {
    font-size: 1em;
    border-bottom: solid 2px black; }
  .page.left {
    left: 5px;
    opacity: 0;
    display: block; }
    .page.left.inview {
      opacity: 1;
      left: 5px; }
    .page.left .page__inner {
      transform-origin: top left;
      transform: rotate(-90deg); }

  .blog__header {
    flex-direction: row;
    justify-content: space-between; }
    .blog__header > item {
      flex-basis: 50%; }
  .blog__text {
    columns: 2;
    /*	column-rule: 1px solid #cdcdcd;*/
    column-gap: 2em; }

  .main__title {
    color: white;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 3;
    text-align: center;
    font-size: 1.7em;
    display: block; }
  .main__text {
    color: white;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, 300%);
    z-index: 3;
    text-align: center; }
  .main__footer {
    bottom: 10px; } }
@media (min-width: 960px) {
  /******************************************************************
  
  Stylesheet: 960px以上のモニタで適用
  
  ******************************************************************/
  .font-sm, .sub-title {
    font-size: 16px; }

  .font-md {
    font-size: 19px; }

  .font-lr, .works__title, .skills__title {
    font-size: 23px; }

  .font-lg, .main-title {
    font-size: 36px; }

  .mb-lg, .profile__lists, .blog__header {
    margin-bottom: 150px !important; }

  .pb-lg {
    padding-bottom: 150px !important; }

  .about__description {
    margin-bottom: 40px; }

  .skills__container {
    justify-content: space-between; }
    .skills__container > p {
      margin: 0 auto; }
  .skills__item {
    flex-basis: 40%; }

  .header__nav {
    display: block; }

  .mobile-menu__btn {
    display: none; }

  .main {
    width: 100%;
    position: relative; }
    .main__inner {
      max-width: 95%;
      position: relative;
      z-index: 10; }
      .main__inner::before {
        position: absolute;
        content: '';
        right: -50px;
        top: 50px;
        width: 100%;
        height: 100%;
        background-color: #5295b4;
        z-index: -1; }
      .main__inner > img {
        width: 70%; }

  .main__title {
    color: white;
    position: absolute;
    top: 50%;
    right: 10%;
    transform: translate(0, -50%);
    z-index: 3;
    text-align: left;
    font-size: 2em; }
  .main__text {
    color: white;
    position: absolute;
    top: 50%;
    right: 10%;
    transform: translate(0, 100%);
    z-index: 3;
    text-align: left;
    display: block; }
  .main__footer {
    position: absolute;
    left: 10%;
    bottom: -45px;
    transform: translateX(-50%);
    z-index: 1;
    height: 68px;
    width: 22px; }
  .main__downarrow {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 6px;
    animation-name: kf-arrow-anime;
    animation-duration: 2s;
    animation-timing-function: linear;
    animation-delay: 0s;
    animation-iteration-count: infinite;
    animation-direction: normal;
    animation-fill-mode: forwards; }
  .main__scrolltext {
    color: rgba(255, 255, 255, 0.7);
    position: absolute;
    transform: rotate(90deg);
    color: white;
    left: -8px;
    top: 11px;
    font-size: 1.2em; }

  .main-area {
    margin-top: 50px; }

  .youtube_frame {
    width: 100%;
    height: 630px; } }
@media (min-width: 1280px) {
  /******************************************************************
  
  Stylesheet: 1280px以上のモニタで適用
  
  ******************************************************************/
  .about__inner {
    padding: 50px 150px; }
  .about__img {
    height: 350px; }

  .side {
    display: block;
    position: fixed;
    top: 70%;
    transform: translateY(-50%); }

  .page {
    top: 50%; }
    .page p {
      font-size: 3em;
      border-bottom: solid 2px black; }
    .page.left {
      left: 50px;
      opacity: 0; }
      .page.left.inview {
        opacity: 1;
        left: 50px; }
      .page.left .page__inner {
        transform-origin: top left;
        transform: rotate(-90deg); }

  .main__title {
    font-size: 2.5em; }
  .main__text {
    font-size: 1.2em; }

  .forDesktop {
    width: 80%;
    margin: 0 auto;
    font-size: 1.2em;
    line-height: 2em; }

  table {
    max-width: 1000px;
    margin: 0 auto; } }
@media (min-resolution: 192dpi), (-webkit-min-device-pixel-ratio: 2) {
  /******************************************************************
  
  Stylesheet: Retinaディスプレイで適用
  
  ******************************************************************/
  /* 
  
  EXAMPLE 
  .icon {
  	background: url(images/test@2x.png) no-repeat;
  	background-size: 24px 24px;
  }
  
  */ }
@media print {
  /******************************************************************
  
  Stylesheet: プリンタのみに適用
  
  ******************************************************************/ }
